Gra w odgadywanie liter w słowie. Program: • losowo wybiera słowo

Transkrypt

Gra w odgadywanie liter w słowie. Program: • losowo wybiera słowo
Gra w odgadywanie liter w słowie.
Program:
•
•
•
•
•
losowo wybiera słowo s z tablicy słów ,
buduje słowo w, złożone z tylu znaków ‘*’ ile jest liter w słowie s,
ustawia licznik wciśniętych znaków na 0
w pętli, dopóki słowo w różni się od słowa s, powtarza:
o pobiera znak c z klawiatury, licznik wciśniętych znaków zwiększa o 1
o „przymierza” ten znak do wszystkich znaków w słowie s,
jeśli w słowie s znak na pozycji i jest identyczny jak znak c, to w słowie w na tej samej
pozycji znak c zastępuje gwiazdkę, która tam dotąd była
o wyświetla aktualną zawartość słowa w
wyświetla licznik wciśniętych znaków
srand(time(0));
string T[] = {"kapelusz","krawacik","bombonierka","orzeszek","skurczybyk"};
int N = sizeof(T)/sizeof(T[0]);
// N jest liczbą elementów w tablicy T
string s = T[rand()%N];
// losowy wybór słowa z tablicy T
int n = s.length();
// n jest liczbą liter w słowie s
string w = "";
// buduję słowo w złożone z n gwiazdek
for (int i=0; i<n; i++) w = w+'*';
cout << w << endl;
int licznik = 0;
// licznik wciśniętych znaków ustawiam na 0
while (w!=s)
// dopóki słowa s i w są różne
{
char c = getch();
// pobierz znak z klawiatury
licznik ++;
for (int i=0; i<n; i++)
if (s[i]==c) w[i]=c;
// dla wszystkich znaków w słowie s
// jeśli znak c się zgadza, ustaw go w słowie w
cout << w << endl;
}
cout << "licznik wprowadzonych znakow = " << licznik << endl;