Gå til innhold

Slutte program etter riktig bokstav...?


Anbefalte innlegg

Jeg skrev ett bokstav gjetteprogram.

 

Hvis man skriver inn feil bokstav, får man en beskjed om at bokstaven er feil, fulgt av et nytt forsøk. Når alle forsøkene er brukt opp, slutter programmet.

( cin.get() )

Jeg vil at hvis man skriver inn riktig bokstav skal programmet stoppe der.

 

Her er while-løkken slik den ser ut nå.


while(tries>=0)
{

  cout<<"\n\n"<<x<<"\n\n";
  cin>>k;

if (k=='k')
cout<<"\n\n"<<xxz<<"\n\n"; ()

else
cout<<"\n\n"<<xx<<"\n\n";
cout<<"Du har "<<tries<<" forsoek igjen.";
tries=tries-1;

}
cin.get();

 

Men hvordan får jeg programmet til å slutte hvis bokstaven er riktig?

Lenke til kommentar
Videoannonse
Annonse

Ved hjelp av break kan du hoppe ut av gjeldende "loop-block", slik f.eks.:

#include <iostream>

using namespace std;


int main()
{
char correct_answer = 'r';
char read_char;
unsigned int tries = 5;

while(tries > 0) {
 cout << "Make a guess: ";
 cin.get(read_char);
 cin.ignore();
 if(read_char == correct_answer)
 	break;  
 tries--;
 cout << tries << " tries left.." << endl;
}

if(read_char == correct_answer)
 cout << "Correct, you made it!" << endl;
else
 cout << "You ran out of chances .." << endl;

return(0);
} // main

Lenke til kommentar

Om jeg ikke tar helt feil er strcmp fra string.h (C-biblioteket), ikke string (C++-biblioteket).

 

Så i C++ blir det #include <cstring>

 

( http://www.cpp.no/lars/ticpp-v1/Chapter02.html#Heading78 )

 

Edit:

NAME

      strcmp, strncmp - compare two strings

 

SYNOPSIS

      #include <string.h>

 

      int strcmp(const char *s1, const char *s2);

Endret av søppel
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å
×
×
  • Opprett ny...