striky Skrevet 3. oktober 2002 Del Skrevet 3. oktober 2002 Sliter litt med en enkel c++ oppgave. Er det mulig å ha flere "valg" inne i: while( kommando != 'n' ) ,da dette er slutten på en do-while loop? jeg ønsker at både 'n' og 'q' skal bringe programmet ut av loopen. Hvordan gjør jeg dette. (Oppgaven går ut på å simulere ett kassaapparat, med to menyer (2 looper) inne i en 3dje. Går greit å komme ut av loop 1 og inn i loop 2. Men i loop 2 vil jeg at programmet enten skal starte i begynnelsen av den ytre loopen (altså på loop 1 igjen), eller avslutte programmet. Jeg får IKKE lov til å bruke exit() eller goto. Hvordan gjør jeg dette, hvis denne posten er forståelig på noen måte?? Lenke til kommentar
LeD Skrevet 3. oktober 2002 Del Skrevet 3. oktober 2002 Quote: Den 2002-10-03 12:38, skrev striky:Er det mulig å ha flere "valg" inne i:while( kommando != 'n' ) Du kan sette sammen et logisk uttrykk med "og" (&&) og "eller" (||). Quote: Men i loop 2 vil jeg at programmet enten skal starte i begynnelsen av den ytre loopen (altså på loop 1 igjen), eller avslutte programmet.Jeg får IKKE lov til å bruke exit() eller goto. Da får du vel ikke lov til å bruke break() heller? Du må legge inn uttrykk i while-kommandoene, slik at du hopper ut av løkken ved ønsket tilstand. Noe slikt: do{ do{ }while(ikke a og ikke B) }while(ikke B) Hender "a" i innerste løkke, hopper du ut i ytterste løkke. Hender "b" hopper du helt ut. LeD Lenke til kommentar
striky Skrevet 3. oktober 2002 Forfatter Del Skrevet 3. oktober 2002 heisann får lov til å bruke break jo. har prøvd med || eller &&, men dette funker ikke. eks 1. while( valghoved != 'n' || 'q'); eks 2. while( valghoved != 'n' || valghoved !='q'); hvis jeg skriver en av disse, får jeg ingen feil ved kompilering, men det funker ikke i programmet. det skjer ingenting. eks 3. while( valghoved != 'n' || !='q'); hvis jeg gjør d på denne måten får jeg kompileringsfeil. Lenke til kommentar
LeD Skrevet 3. oktober 2002 Del Skrevet 3. oktober 2002 Quote: Den 2002-10-03 14:36, skrev striky:eks 1. while( valghoved != 'n' || 'q');eks 3. while( valghoved != 'n' || !='q'); Disse er feil. Det som står på begge sider av "eller" skal være et fullstendig uttrykk som like gjerne kunne stått der alene. Quote: eks 2. while( valghoved != 'n' || valghoved !='q'); Tenk litt logisk. :smile: Du skriver her at løkken skal gå så lenge "valghoved ikke er n" ELLER "valghoved ikke er q". valghoved må altså være BÅDE n og q for at uttrykket skal bli sant? LeD Lenke til kommentar
striky Skrevet 3. oktober 2002 Forfatter Del Skrevet 3. oktober 2002 Jeg trodde jeg hadde prøvd dette tidligere, men når jeg skrev: while( valghoved !='n' && valghoved !='q'); så funker d. heh :smile: jaja, så dum kan man være Thanx Lenke til kommentar
LeD Skrevet 3. oktober 2002 Del Skrevet 3. oktober 2002 Quote: Den 2002-10-03 16:08, skrev striky:while( valghoved !='n' && valghoved !='q'); Der var løsningen ja. :smile: Håper du også forstår hvorfor det er slik. Jeg kunne jo fortalt deg dette med en gang, men meningen var vel at du skulle lære noe. Quote: jaja, så dum kan man være Neida, alle programmerere har vært nybegynnere. Det skal mye prøving og feiling til før du forstår alt. LeD 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å