#include #include #include using namespace std; // Accio que dibuixa la forca void dibuxa_forca(string acertat, int errors) { cout << " " << acertat << endl; cout << endl << " +----+" << endl; // Primera linia cout << " |/"; if (errors >= 1) cout << " |"; cout << endl; // Segona linia cout << " |"; if (errors >= 1) cout << " O"; cout << endl; // Tercera linia cout << " |"; if (errors >= 2) cout << " /|\\"; cout << endl; // Cuarta linia cout << " |"; if (errors >= 3) cout << " / \\"; cout << endl; // Base cout << "-+-" << endl; } // Funcio que diu si una lletra es troba dins d'una paraula bool hi_es(string paraula, char x) { for (int i = 0; i < paraula.size(); ++i) { if (paraula[i] == x) return true; } return false; } // Accio que mostra les lletres acertades void mostrar(string paraula, string& acertat, char lletra) { for (int i = 0; i < paraula.size(); ++i) { if (paraula[i] == lletra) acertat[i] = lletra; } } int main() { string paraula; cin >> paraula; string resposta = "******"; int errors = 0; // Contador d'errors vector abecedari(26, false); dibuxa_forca(resposta, errors); cout << endl; while (resposta != paraula and errors < 3) { char x; cin >> x; if (not abecedari[x - 'A']) { abecedari[x - 'A'] = true; if (hi_es(paraula,x)) mostrar(paraula, resposta, x); else ++errors; } else ++errors; dibuxa_forca(resposta, errors); cout << endl; } cout << " FINAL" << endl; }