kitalalo202305_DK_KSZ_C++.cpp
 1 #include <iostream>
 2  #include <ctime>
 3  
 4  using namespace std;
 5  
 6  int main()
 7  {
 8      setlocale(LC_ALL,"");
 9  
10      string szavak[15]={"fuvola","csirke","adatok","asztal","fogoly",
11                         "bicska","farkas", "almafa", "babona", "gerinc",
12                         "dervis", "bagoly", "ecetes", "angyal", "boglya"};
13      string rejtett, tipp, eredmeny;
14      int proba=0;                     //  ebben számoljuk a próbálkozásokat
15  
16      srand(time(NULL));
17      int index=rand()%15;
18      rejtett=szavak[index];          //  véletlenszerű választás a lista elemei közül
19      cout << "(rejtett szó: " << rejtett << ") --- kilépés: 'stop'" << endl;
20  
21      do
22      {
23          cout << "Kérem a tippet: ";
24          cin >> tipp;
25          if(tipp=="stop") break;     // ha a tipp a stop szó, akkor kiugrás a ciklusból és vége...
26          else
27          {
28              proba++;                // próba növelése 1-gyel
29              eredmeny="";            // üres szöveg, amit karakterenként "építünk"
30              for(int i=0;i<6;i++)    // hatbetűsek a szavak
31              {
32                  if(tipp[i]==rejtett[i])         // ha a tipp i. betűje azonos a rejtett i. betűjével,
33                      eredmeny+=tipp[i];          // akkor az eredményhez hozzáfűzzük ezt a karaktert
34                  else                            // ha pedig nem,
35                      eredmeny+=".";              // akkor a pontot fűzzük hozzá
36              }
37              if(eredmeny==rejtett)               // ha az eredmeny azonos lesz a rejtett-tel, akkor
38              {
39                  cout << proba << " tippeléssel sikerült kitalálni." << endl;    // kiírás
40                  break;                                                          // és kilépés a ciklusból...
41              }
42              else                                                                // ha még nem stimmel,
43                  cout << "Az eredmény: " << eredmeny << endl;                    // akkor kiírjuk az eredmenyt...
44          }
45      }while(true);                   // majdnem teljesen analóg módon, mint a pythonos megoldásban...
46  
47      return 0;
48  }