Dr. Chaos Skrevet 23. november 2008 Skrevet 23. november 2008 (endret) Du skjønner hva programmet skal gjøre ved å lese det. Har prøvd å google meg fram til svar, men finner ikke ut av problemet. Det som skjer er at etter at jeg har gjettet, så printer programmet "My number is higher" antall ganger vekk fra tallet det er (tror jeg). #include <stdio.h> #include <stdLib.h> int main() { int y; //declaring y int x; //declaring x int rand (void); x = rand; printf("Hello there. What number am I thinking on? \nEnter your guess here: "); scanf( "%d" , &y ); for ( x = rand; y > x; x++) { printf( "My number is lower than that \nEnter another number: " ); {continue;} } while ( y < x ) { printf( "My number is higher than that \nEnter another number: " ); {continue;} } do { printf( "That's correct!" ); {break;} return 0; } while ( x == y ); return 0; } Endret 23. november 2008 av Crash
Kagee Skrevet 23. november 2008 Skrevet 23. november 2008 (endret) Kort svar: Your code makes no sense. Jeg skjønner ikke hva programmet skal gjøre ved å lese det, men det kan se ut som et guess-random-number-spill. Det kan se ut som om du har hoppet over den delen av kapittelet som omhandler if, og at du tror main-funksjonen kjøres helt til personen finner riktig svar ( main() kjøres kun en gang ) #include <stdio.h> #include <stdLib.h> int main() { int y; //declaring y int x; //declaring x int rand (void); x = rand; printf("Hello there. What number am I thinking on? \nEnter your guess here: "); scanf( "%d" , &y ); for ( x = rand; y > x; x++) { printf( "My number is lower than that \nEnter another number: " ); {continue;} } while ( y < x ) { printf( "My number is higher than that \nEnter another number: " ); {continue;} } do { printf( "That's correct!" ); {break;} return 0; } while ( x == y ); return 0; } Langt svar: Kode som fungerer ( c++ ) #include <cstdlib> // rand #include <iostream> // cout, cin using namespace std; int main() { int random_int_1_til_10 = ( ( rand() % 10 ) + 1 ); int valg, forsok = 0; do { forsok++; // nytt forsøk cout << "Hvilket nummer tenker jeg på? : "; cin >> valg; if (random_int_1_til_10 > valg) { cout << "Mitt tall er høyere enn det." << endl; } else { cout << "Mitt tall er lavere enn det." << endl; } } while (valg != random_int_1_til_10); cout << "Gratulerer, du klarte å komme fram til " << valg << " på " << forsok << " forsøk" << endl; return 0; } Endret 23. november 2008 av Kagee
Dr. Chaos Skrevet 23. november 2008 Forfatter Skrevet 23. november 2008 Jeg setter meg ned og prøver på nytt. Programming er nytt og det er mye jeg ikke heeeelt skjønner. Takk for svar.
GeirGrusom Skrevet 23. november 2008 Skrevet 23. november 2008 Det kan kanskje hjelpe å prøve å si til seg selv med ord hva koden gjør, bare gå igjennom linje for linje, og prøv å forklar for deg selv hva som foregår.
NevroMance Skrevet 24. november 2008 Skrevet 24. november 2008 (endret) Langt svar: Kode som fungerer ( c++ ) #include <cstdlib> // rand #include <iostream> // cout, cin using namespace std; int main() { int random_int_1_til_10 = ( ( rand() % 10 ) + 1 ); int valg, forsok = 0; do { forsok++; // nytt forsøk cout << "Hvilket nummer tenker jeg på? : "; cin >> valg; if (random_int_1_til_10 > valg) { cout << "Mitt tall er høyere enn det." << endl; } else { cout << "Mitt tall er lavere enn det." << endl; } } while (valg != random_int_1_til_10); cout << "Gratulerer, du klarte å komme fram til " << valg << " på " << forsok << " forsøk" << endl; return 0; } I programmet her vil programmet skrive ut: "Mitt tall er lavere enn det" også når valget er riktig, men trådstarter kan jo se på if-tester og finne ut hvordan han unngår det problemet selv. Endret 24. november 2008 av NevroMance
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å