numaralı telefonunda olduğunu görmek için okul için bir asmaca oyunu hazırlıyorum. Tahmin edilecek kelimeler bir veri dosyasından çekilir, programın son kelimesini oyun için kullanılacak kelime olarak seçer, 'words' bu değişken için kullanıyorum, oyun devam eder , kullanıcı bir mektubu tahmin eder ve eğer mektubun sözcüğü doğruysa ve yanlışsa ve program bir "tahta" ya da cellatın resmini kademeli olarak gösterirse. aşağıdaki gibi str.find() ile belirli bir harfin
ben tahmin harf kelimenin olup olmadığını görmek içinstr.find()
kullanılan kod şudur:
while (wrongGuess < 7){
cout << "\nGuess a letter in the word: " << endl;
cin >> guess;
if (words.find(guess)==true){
cout << "Correct! " << guess << " is FOUND in the word " << word << endl;
continue;}
else
{cout << guess << " is NOT FOUND in the word " << endl;
wrongGuess++;
if(wrongGuess == 1)
cout << board2;
else if(wrongGuess == 2)
cout << board3;
else if(wrongGuess == 3)
cout << board4;
else if(wrongGuess == 4)
cout << board5;
else if(wrongGuess == 5)
cout << board6;
else if(wrongGuess == 6)
cout << board7 << "\nSorry Game Over";
}
kullanılan kelime programming
olduğunu.
Sorunum bazen doğru bir harf girdiğimde (r
gibi) doğru olduğumu söylüyor, diğer zamanlarda farklı bir doğru harfi giriyorum (p
) ve program bana yanlış olduğumu söylüyor.
Neyin var yanlış?
'words.find (tahmin) == TRUE - doğru/yanlış ... –
Ayrıca "dize STL kapsayıcı" arayüzünü kullanmayı düşünün (std ile döner pozisyon değil bulmak :: ancak dize :: işlev yerine üye bul; Bu arayüz, string'in üye fonksiyonlarının çalkantısından ziyade, dilin geri kalanıyla daha tutarlıdır. –