Gå til innhold

En ilten C-oppgave jeg jobber med


Anbefalte innlegg

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
Videoannonse
Annonse

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

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

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

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.

  • Liker 1
Lenke til kommentar

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 konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...