💬
Logga in
Fuska.se

C++.

4 svar · startad

Nivå 1 · Novis
Trådstartare #1

Hej, jag har gjort ett litet program där jag har testat massa saker.

Men kan någon förklara vissa saker till mig, som t.ex, när programmet frågar om man vill gå tillbaks till menyn

så typ spammar programmet enter knappen.

Gärna några tips också. : )

 

Den är inte klar, så jag vet att massa saker saknas.

 

Finns att ladda ner HÄR

 

 

 

 

 

#include<iostream>
#include<ctime>
using namespace std;

int main(void)
{
    char cDoagain;
    int iGumballs;
    int iUserguess;
    int iGuesses = 0;
    int val;
    int igen;
    string inp, pass="kl12ja";
    string svar, ratt="M\x84laren";
    
    
              
    system("CLS");
    cin.clear();
    
    
    cout << "F\x94r att kunna anv\x84nda det h\x84r programmet m\x86ste du veta l\x94senordet." << endl;
    cout << "F\x94r att f\x86 reda p\x86 l\x94senordet m\x86ste du svara p\x86 den h\x84r fr\x86gan."<< endl << endl;
    cout << "Vad heter Sveriges st\x94rsta sj\x94?"<< endl << endl;
    getline(cin,svar);
    
    if(( svar==ratt)){
         
         cout << "R\x84tt!!" << endl << endl;
         cout << "Losenordet \x84r:  kl12ja " << endl << endl << endl;
    
    
    cout << "Skriv l\x94senordet h\x84r:    " << endl;
    getline(cin,inp);
    
    
     if(( inp==pass)){
    
    beggining:
    system("CLS");
    
    
    cout << "Vad vill du g\x94ra?" << endl << endl;
    cout << "1. Spela gissnings spelet" << endl;
    cout << "2. St\x84ng av" << endl;
        
    
    cin >> val;
    
    
    switch (val){
    
    case 1:{
system("color C");


               system("CLS");
               cin.clear();
               
               
                         
    srand(static_cast<unsigned int>(time(0)));
    iGumballs = rand()%1+1;
    cout << "Vilken siffra t\x84nker jag p\x86 ? " << endl;
    
    do
    {
         cout << "Skriv h\x84r:  ";
    cin >> iUserguess;
    if(iUserguess > iGumballs)
    {
                  cout << "Mindre!" << endl << endl;
                  
     }   

    if(iUserguess < iGumballs)
    {
                  cout << "Storre!" << endl << endl;
                  
     }   
     iGuesses ++;
     
     }while(iUserguess > iGumballs || iUserguess < iGumballs);
     
     cout << "Du svarade r\x84tt!"<< endl << endl;
     cout << "Det tog dig " << iGuesses << " f\x94rsok att svara r\x84tt!" << endl << endl;
     
     cout << "Vill du ga tillbaks till menyn?(J eller N)" << endl;
     cin >> igen;
     
             if (igen, "J"){
                         
                     goto beggining;
                     
                     }
                   
             else
             { system("pause");
             
             }
                   

                   }     


     
     
     
}

}
else{cout <<"FEL!"<<endl;
goto beggining;
}
case2:{ system("pause");
}
}

}

Senast ändrad:

26 Sep 2008
Nivå 9 · Veteranfuskare
#2

Efter din "goto beggining;" sats när man kommer till menyn får cin ett nyradstecken, och på grund av detta så sätts failbit flaggan. Du måste då använda "cin.clear();" för att återställa alla flaggor och jag rekommenderar även att du implementerar felsökning för inmatning.

 

Och jag säger samma sak igen som jag sa till dig förut:

↗ till inlägget

Men koden skulle se bättre ut om du försökte hålla en standard på hur du skriver koden.

Senast ändrad:

Nivå 1 · Novis
Trådstartare #3

ok, tack för hjälpen :)

oh, btw, vet du hur man gör för att typ kunna göra så att programmet pausar ca 3 sekunder, t.ex;

 

"fel lösen ord, går tillbaks till menyn"(väntar 3 sek tills den går tillbaks till menyn)

 

mvh

Senast ändrad:

Nivå 9 · Veteranfuskare
#4

Använder du windows.h: använd Sleep(DWORD milliseconds);

Använder du unistd.h: använd usleep(useconds_t microseconds); eller sleep(unsigned seconds);

Senast ändrad:

Nivå 1 · Novis
Trådstartare #5

hajade inte riktigt >.<

jag skriver ju allt i console application bara.

 

men när jag skrev

sleep(2);

if ( !strcmp(inn,"BAJSMOS")){
                               
system("CLS");    
                           
cout << "L\x94senordet \x84r:  "<< endl;
         for (int i = 0; i < passLen; i++) {
        cout << (char) (rand() % ('z' - '0' + 1) + '0');
}

 

så fick jag error"38 D:\Mix2.cpp `sleep' undeclared (first use this function) "

 

EDIT: man skulle bara skriva #include "windows.h".

Senast ändrad:

Vill du vara med i diskussionen?

Bli medlem Logga in