olsenface Skrevet 26. september 2012 Del Skrevet 26. september 2012 Hei! Jeg er ganske så ny innen programmering, i dag har vi akkurat fått en ny oblig som skal leveres om noen uker. http://www.ansatt.hig.no/frodeh/grprog/obliger/oblig_3.pdf Oppgaven går i korthet ut på å lage et program som håndterer (leser inn/endrer) to ulike klokkeslett, finner ut hvilket som er først (evt. at de er like) og regner ut tidsforskjellen på dem. Dette gjentar seg så lenge brukeren ønsker det. Vi blir alltid anbefalt til å lage pseudokode til oppgaven for våres egendel, på de første obligene gjorde ikke jeg det, men tenkte å starte med det framover.. Noen som kan hjelpe meg på vei her.. både med pseudokode og programmeringen, vet stortsett hvilke elementer jeg må ha med i koden men litt klundring blir det vel siden jeg ikke har programmert noe særlig! Lenke til kommentar
zotbar1234 Skrevet 26. september 2012 Del Skrevet 26. september 2012 i dag har vi akkurat fått en ny oblig som skal leveres om noen uker. http://www.ansatt.hi...ger/oblig_3.pdf Fuck me! Studentene blir latere og latere. 1) Hva er det du har? 2) Hva er det du skal ha? 3) Hvordan er #1 forskjellig fra #2? 1 Lenke til kommentar
Djn Skrevet 26. september 2012 Del Skrevet 26. september 2012 (endret) Pseudokode er forsåvidt greit. Det er forskjellige måter å gjøre det på, men jeg synes det er ryddigst å lese om du organiserer det som noen få linjer først som gjør det du ønsker å oppnå, og så utdyper du funksjonene dine etterpå. Vær detaljert nok til at det dekker all logikken, men ikke nødvendigvis de tekniske detaljene (si at du skriver ut noe, men ikke gå i detalj om hvordan printf fungerer). Hvis du først lapper sammen et forslag på pseudokode, så kan vi sikkert se om det ser noenlunde logisk ut? Endret 26. september 2012 av Djn Lenke til kommentar
Capitalist Hippie Skrevet 27. september 2012 Del Skrevet 27. september 2012 (endret) Endret 27. september 2012 av nostdal.org Lenke til kommentar
dbass Skrevet 27. september 2012 Del Skrevet 27. september 2012 Hei Oslenface, Aldri glem at en C++-kode kun gjør en ting av gangen. Skriv pseudokoden som om du skulle gjort det selv, bare med en ting av gangen. Se på eksemplene til Frode, Studér dem. Gjerne et eksempel om dagen. Da får du også vite hvordan Frode tenker. Og Frode hjelper så klart hvis du har et spesielt spørsmål. Fagassene er også veldig villig til å hjelpe, da de får betalt og trenger penger. Mvh medelev! Lenke til kommentar
han solo Skrevet 4. oktober 2012 Del Skrevet 4. oktober 2012 Godt å vite at det ikke er bare jeg som sliter med denne oppgaven;) Anbefaler å bruke Frode, fagassene og andre medelever, men også husk at det står en god del i eksemplet på ukeoppgave 17. Selv får jeg ikke fått ut de nåværende data ut på skjermen(søppeltallene), så tar gjerne imot tips olsenface bare si ifra hvis det er noe du lurer på, så kansje vi kan hjelpe hverandre lit! hilsen medstudent:D Lenke til kommentar
jonny Skrevet 4. oktober 2012 Del Skrevet 4. oktober 2012 F.eks. slik: #include <stdio.h> struct klokkeslett { int h; int m; int s; }; void skrivTid(struct klokkeslett tid, const char* navn) { printf("%s er: %02d:%02d:%02d\n", navn, tid.h, tid.m, tid.s); } int main(int argc, char *argv[]) { struct klokkeslett tid1, tid2; skrivTid(tid1, "Tid nr. 1"); skrivTid(tid2, "Tid nr. 2"); } Lenke til kommentar
Lycantrophe Skrevet 4. oktober 2012 Del Skrevet 4. oktober 2012 (endret) Nevermind. Endret 4. oktober 2012 av Lycantrophe Lenke til kommentar
dbass Skrevet 5. oktober 2012 Del Skrevet 5. oktober 2012 F.eks. slik: #include <stdio.h> struct klokkeslett { int h; int m; int s; }; void skrivTid(struct klokkeslett tid, const char* navn) { printf("%s er: %02d:%02d:%02d\n", navn, tid.h, tid.m, tid.s); } int main(int argc, char *argv[]) { struct klokkeslett tid1, tid2; skrivTid(tid1, "Tid nr. 1"); skrivTid(tid2, "Tid nr. 2"); } Veldig skeptisk på at Olsenface kan levere det slik. Vi bruker foreløpig C og ikke C++, fagassene går andreåret programmering, og programmeringen din stemmer ikke med obligen. Har gjort obligen ferdig i dag, kom på 100 linjer etter pynting. Jeg tror Olsenface heller må gjøre det slik jeg har beskrevet tidlgere. Lenke til kommentar
Lycantrophe Skrevet 5. oktober 2012 Del Skrevet 5. oktober 2012 100 linjer? Hva i all verden. Lenke til kommentar
jonny Skrevet 5. oktober 2012 Del Skrevet 5. oktober 2012 (endret) F.eks. slik: #include <stdio.h> struct klokkeslett { int h; int m; int s; }; void skrivTid(struct klokkeslett tid, const char* navn) { printf("%s er: %02d:%02d:%02d\n", navn, tid.h, tid.m, tid.s); } int main(int argc, char *argv[]) { struct klokkeslett tid1, tid2; skrivTid(tid1, "Tid nr. 1"); skrivTid(tid2, "Tid nr. 2"); } Veldig skeptisk på at Olsenface kan levere det slik. Vi bruker foreløpig C og ikke C++, fagassene går andreåret programmering, og programmeringen din stemmer ikke med obligen. Har gjort obligen ferdig i dag, kom på 100 linjer etter pynting. Jeg tror Olsenface heller må gjøre det slik jeg har beskrevet tidlgere. Innlegget mitt var ment som tips til han solo (innlegg #6), ikke noe mer enn det. Det blir nok fort minst 100 kodelinjer (ukommentert) for en fullstendig løsning av oppgaven. Her er et forslag til hvordan main()-metoden kan se ut, en implementering av de funksjonene som brukes her vil kreve noen kodelinjer: int main(int argc, char *argv[]) { time_t time1, time2; do { printf("\n"); printTime(time1, "Time 1"); if (!time_valid(time1) || boolUserResponse(" Change time", FALSE)) { changeTime(&time1); } printTime(time2, "Time 2"); if (!time_valid(time2) || boolUserResponse(" Change time", FALSE)) { changeTime(&time2); } if (time_equals(time1, time2)) { printf("\nTime 1 and 2 are equal\n"); } else { if (time_lessThan(time1, time2)) { printf("\nTime 1 is less than time 2\n"); } else { printf("\nTime 2 is less than time 1\n"); } printTime(time_diff(time1, time2), "Difference"); } } while (boolUserResponse("\nOnce more", TRUE)); return 0; } Endret 5. oktober 2012 av jonny Lenke til kommentar
Valkyrex Skrevet 7. oktober 2012 Del Skrevet 7. oktober 2012 F.eks. slik: #include <stdio.h> struct klokkeslett { int h; int m; int s; }; void skrivTid(struct klokkeslett tid, const char* navn) { printf("%s er: %02d:%02d:%02d\n", navn, tid.h, tid.m, tid.s); } int main(int argc, char *argv[]) { struct klokkeslett tid1, tid2; skrivTid(tid1, "Tid nr. 1"); skrivTid(tid2, "Tid nr. 2"); } Veldig skeptisk på at Olsenface kan levere det slik. Vi bruker foreløpig C og ikke C++, fagassene går andreåret programmering, og programmeringen din stemmer ikke med obligen. Har gjort obligen ferdig i dag, kom på 100 linjer etter pynting. Jeg tror Olsenface heller må gjøre det slik jeg har beskrevet tidlgere. Det at fagassene går "andreåret programmering" (faget er Algoritmiskemetoder) har ikke noe å gjøre med saken vell? hehe. Dere bruker ikke "foreløpig C" for å så "hoppe over til C++", hver gang du bruker cout eller cin, så oi oi oi, bruker du C++. Forresten, koden hadde sett så mye bedre ut slik (for det er jo C++ man lærer, prøv å lever den koden der til Frode, han kommer til å få et par grøssninger). #include <iostream> struct klokkeslett { unsigned int h; unsigned int m; unsigned int s; }; void skrivTid(klokkeslett tid, const char* navn) { std::cout << navn << " er: " << tid.h << ":" << tid.m << ":" << tid.s << '\n'; } int main() { klokkeslett tid1, tid2; // Trenger ikke å si at det er en struct når du deklarerer skrivTid(tid1, "Tid nr. 1"); // Men de har jo ikke plitt initialisert, så woop woop, no display for you skrivTid(tid2, "Tid nr. 2"); return 0; // ikke glem, ikke glem } Lenke til kommentar
Lycantrophe Skrevet 7. oktober 2012 Del Skrevet 7. oktober 2012 return 0; er implisitt i C++, men det er fin stil å ha det der uansett. Lenke til kommentar
Valkyrex Skrevet 7. oktober 2012 Del Skrevet 7. oktober 2012 return 0; er implisitt i C++, men det er fin stil å ha det der uansett. Jaja, det funker fint å skrive uten "return 0;" funker også å kjøre på med "void main()...", meeen ja, som du sier, god stil å holde seg til slik det skal være =) Lenke til kommentar
jonny Skrevet 7. oktober 2012 Del Skrevet 7. oktober 2012 ... Det at fagassene går "andreåret programmering" (faget er Algoritmiskemetoder) har ikke noe å gjøre med saken vell? hehe. Dere bruker ikke "foreløpig C" for å så "hoppe over til C++", hver gang du bruker cout eller cin, så oi oi oi, bruker du C++. Forresten, koden hadde sett så mye bedre ut slik (for det er jo C++ man lærer, prøv å lever den koden der til Frode, han kommer til å få et par grøssninger). ... Beklager, jeg var av den oppfatning at det var snakk om C-kode (noe emnetittelen gir inntrykk av). Lenke til kommentar
zotbar1234 Skrevet 8. oktober 2012 Del Skrevet 8. oktober 2012 Jaja, det funker fint å skrive uten "return 0;" funker også å kjøre på med "void main()...", Nei. Det første er eksplisitt tillatt av standarden (vel, bare for main()), det siste er ikke det. Udefinert oppførsel => hva som helst kan skje. 1 Lenke til kommentar
Lycantrophe Skrevet 8. oktober 2012 Del Skrevet 8. oktober 2012 Burde kanskje spesifisert at det gjelder for main, ja. :> Ellers skriker kompilatoren at du mangler return statement. Jeg synes fortsatt det er god stil å ha det med. Lenke til kommentar
zotbar1234 Skrevet 8. oktober 2012 Del Skrevet 8. oktober 2012 Jeg synes fortsatt det er god stil å ha det med. *Det* er hevet over enhver tvil. Lenke til kommentar
Djn Skrevet 9. oktober 2012 Del Skrevet 9. oktober 2012 Det at fagassene går "andreåret programmering" (faget er Algoritmiskemetoder) har ikke noe å gjøre med saken vell? hehe. Dere bruker ikke "foreløpig C" for å så "hoppe over til C++", hver gang du bruker cout eller cin, så oi oi oi, bruker du C++. Forresten, koden hadde sett så mye bedre ut slik (for det er jo C++ man lærer, prøv å lever den koden der til Frode, han kommer til å få et par grøssninger). Tjah, det er da gyldig C++ også - om ikke idiomatisk. (Og det er da ingen grunn til å plage seg selv med iostream og << - operatoren bare fordi det er C++. ) Lenke til kommentar
Valkyrex Skrevet 12. oktober 2012 Del Skrevet 12. oktober 2012 (endret) Det er jo ganske digg med << operatoren og iostream, i min mening. Ta f.eks det å overloade den til å ta i mot egenlagde datastrukturer. std::cout << (*tree); // Hvor variablen "tree" er en peker til et f.eks binært-søke tre Endret 12. oktober 2012 av Valkyrex Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå