Gå til innhold

et lite c++ spørsmål


Anbefalte innlegg

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

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

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

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

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

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