nwinger Skrevet 28. mai 2011 Del Skrevet 28. mai 2011 Hei, Jobber med en liten oppgave i C, og lurte på om noen kunne gi meg noen pekere. Oppgaven er som følger; lag en kalkulator som tar tre parametre som input. Første og andre tall, samt en operator (+, -, *, /). Kalkulatoren skal kunne fortsette å motta input så lenge input ikke er q. Sånn i forhold til stoffet jeg leser på, så skal dette løses ved hjelp av en do-while / while og switch. Switchen er forsåvidt grei, og jeg forstår, i teorien, hvordan dette skal funke do { Spør om input } while (input != q) Problemene dukker opp når jeg forsøker å kode dette. Får ikke programmet til å avslutte ved bruk av q, samt at input ikke blir kontinuerlig, men kun en gang. Koden jeg har skrevet har jeg dessverre ikke tilgjengelig, da jeg er på jobb, men denne er vel i grunnen ikke så vanskelig for de av dere som har innsikt i dette, og tar dere tid til å svare Lenke til kommentar
GeirGrusom Skrevet 28. mai 2011 Del Skrevet 28. mai 2011 Du må ta inn et tegn, og utføre en test: er det q, eller et heltallt? Dette har du nesten gjort. Deretter må du ta inn et nytt tegn, og sjekke om det er +, -, * eller / og utføre egnede oppgaver i henhold til det. Lenke til kommentar
nwinger Skrevet 28. mai 2011 Forfatter Del Skrevet 28. mai 2011 Står fremdeles på jobb, så blir litt pseudo; scanf("%d", a); scanf("%d", b); scanf("%c", operator); if(a == 'q') { avslutt } else if (b == 'q') { avslutt } else { if (operator != 'q') { switch(operator) { case.... } Noe i den retningen? Lenke til kommentar
Lufen Skrevet 28. mai 2011 Del Skrevet 28. mai 2011 Noe i den retningen ja. Jeg ville kanskje heller ha tatt ut testen for å se om det er q til en egen funksjon, som la inn "godkjente" tegn/operatorer på en liste som du bare poppet elementer fra når du hadde alle elementene du trenger. Da vil du kunne utvide kalkulatoren til å ta flere og lengre stykker hvis du ønsker det. Men det er kanskje litt for avansert ut fra hva du kan om C? Evt så fungerer den tankegangen du har foreslått. Lenke til kommentar
nwinger Skrevet 28. mai 2011 Forfatter Del Skrevet 28. mai 2011 Takk for tilbakemelding. Er forsåvidt bedre kjent med Java, og skjønner således tankegangen bak dette. Prøver i grunnen og lære meg litt om C, da jeg skal ha det på skolen til høsten Tentke jeg skulle løse problemet uten metoder, eller funksjoner, i første omgang. Lenke til kommentar
Lufen Skrevet 28. mai 2011 Del Skrevet 28. mai 2011 Da funker det med den tankegnange du har foreslått, og bruke if-tester for alle mulighetene som er. Hvis du også antar at input alltid kommer i samme rekkefølge så sparer du deg for en del koding. Hvis du skal begynne på universitet og lære om C programmering så kan jeg anbefale deg å titte på CS50 videoene som følger undervisningen til et introduksjons kurs i programmering fra Hardvard. De er veldig fine og går gjennom C ganske kjapt og greit. http://cs50.tv/2010/fall/#l=lectures Videoene er også tilgjengelig gjennom iTunes. 1 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å