Gå til innhold

et lite c++ spørsmål


Anbefalte innlegg

Skrevet

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??

Videoannonse
Annonse
Skrevet

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

Skrevet

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.

Skrevet

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

Skrevet

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

Skrevet

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

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å
×
×
  • Opprett ny...