Morti Skrevet 9. april 2008 Del Skrevet 9. april 2008 Hei Kommer til å få litt c++ når jeg starter på skole etter sommeren, så tjuvstarter litt. Har laget et lite "tall tippeprogram" som jeg paster under. Det jeg lurer på er, hvordan jeg lager en loop som kjører programmet "på nytt" hvis man tipper feil tall? Regner med det er unødvendig å beskrive hva programmets funksjoner er, er en ganske simpel kontruksjon #include <iostream> using namespace std; int main() { int tippetallet; //Funksjonen for å fylle inn tippetallet cout<<"\n\Morti`s talltipper! Tipp tallet, og du faar respekt!! \n\n\n\n"; //Txt: Fyll inn tippetall cout<<"Fyll inn tippetall: "; //Txt: Fyll inn tippetall cin>> tippetallet; //funksjon: tippetall cin.ignore(); //ikke bry seg om enter if (tippetallet == 343) { //Hvis man finner riktig tall cout<<"Hurra! Du fant tallet!"; //melding for riktig tippetall } else if (tippetallet < 343) { //Hvis man tipper for lavt tall cout<<"Tallet er nok litt h0yere gutten min!"; } else if (tippetallet > 343) { //hvis man tipper for hoyt tall cout<<"Tallet er nok litt lavere gutten min!"; } cin.get(); } Lenke til kommentar
Mr.Garibaldi Skrevet 9. april 2008 Del Skrevet 9. april 2008 Hvis du pakker det hele inn i en while(1)-løkke, og legger til en break; etter Hurra (for å komme deg ut av løkken), så skulle det gjøre det du vil. Prøv å gjør det selv før du titter på koden min.. #include <iostream> using namespace std; int main() { int tippetallet; //Funksjonen for å fylle inn tippetallet while(1){ cout<<"\n\Morti`s talltipper! Tipp tallet, og du faar respekt!! \n\n\n\n"; //Txt: Fyll inn tippetall cout<<"Fyll inn tippetall: "; //Txt: Fyll inn tippetall cin>> tippetallet; //funksjon: tippetall cin.ignore(); //ikke bry seg om enter if (tippetallet == 343) { //Hvis man finner riktig tall cout<<"Hurra! Du fant tallet!"; //melding for riktig tippetall break; } else if (tippetallet < 343) { //Hvis man tipper for lavt tall cout<<"Tallet er nok litt h0yere gutten min!"; } else if (tippetallet > 343) { //hvis man tipper for hoyt tall cout<<"Tallet er nok litt lavere gutten min!"; } } cin.get(); } Lenke til kommentar
Morti Skrevet 9. april 2008 Forfatter Del Skrevet 9. april 2008 Takk takk, har sitti 1 time nå og prøvd, men må innrømme at jeg kikka på løsningen! Jeg var nære, men jeg må nok sette meg ned og skjønne logikken hvordan {} og ()brukes Lenke til kommentar
Mr.Garibaldi Skrevet 10. april 2008 Del Skrevet 10. april 2008 Takk takk, har sitti 1 time nå og prøvd, men må innrømme at jeg kikka på løsningen! Jeg var nære, men jeg må nok sette meg ned og skjønne logikken hvordan {} og ()brukes Flott at du prøvde først selv! Da lærer du mer Enkelt forklart kan du si at parantesbruken er den samme som med en if-setning. I den vanlige parantesen står det boolske uttrykket som enten er sant eller usant, og inne i krøll-parantesen står koden som skal kjøres så lenge det boolske uttrkket er sant. I min løkke hadde jeg while(1), som er det samme som å skrive while(true), som gir en evig løkke. For å bryte ut av den brukte jeg break; som vil avbryte løkken den kalles i. Dette er kanskje ikke den beste/peneste løsningen, men er, imo, den enkleste løsningen å forstå. Lenke til kommentar
_vamecum Skrevet 10. april 2008 Del Skrevet 10. april 2008 Jeg vil heller anbefale deg til å lære å søke på google/slå opp i en bok enn å prøve selv å gjette på hvordan en løkke ser ut i C++. Løkker er en veldig stor del av programmering, du kommer til å bruke løkker en hel del. løkke = loop Lenke til kommentar
teflonpanne Skrevet 11. april 2008 Del Skrevet 11. april 2008 (endret) Fins jo språk uten både løkker og variabler, sånn apropos Man kan faktisk også skrive en del løkke-/itereringsfri kode med STL og med C++0x kommer det til å bli enda enklere. Ikke at det absolutt skal være et mål da, bare litt off topic Endret 11. april 2008 av teflonpanne 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å