Witam!
Na lekcji programowania dostałem zadanie, żeby zrobić program (grę) pt. "wisielec". Napisałem parę linijek i w tych linijkach jest błąd ale nie wiem gdzie.
Proszę pomóżcie. Z góry dzięki.
O to ten kod:
#include<iostream>
#include <string>
using namespace std;
void wczytaj (string &wyraz)
{
cout<<"podaj wyraz"<<endl;
cin>>wyraz;
}
void zamiana(string wisielec, int pozycja, string litera)
{
wisielec.erase( pozycja, 1 );
wisielec.insert( pozycja, litera);
}
void wyszukaj (string wyraz, char znak, int & cos)
{
cos = wyraz.find(znak,cos);
}
int main()
{
cout<<"Witam w programie"<<endl;
string wyraz,wisielec,litera;
int dlugosc;
char litera2;
wczytaj(wyraz);
dlugosc=wyraz.size();
int pozycja=-1,bledy=0,poprawna=0;
for(int i=0;i<dlugosc;i++){
wisielec=wisielec+"_ ";
}
for(;bledy<10&&poprawna<dlugosc;){
cout<<wisielec<<endl;
cout<<endl<<"podaj litere"<<endl;
cin>>litera;
litera2=litera[0];
int i=0;
do{
int pozycja2;
wyszukaj(wyraz,litera2,pozycja2);
if(pozycja2==pozycja){i++;
cout<<"pozycja2==pozycja"<<endl;
}
else if(pozycja2==string::npos){
bledy++;
i++;
cout<<"pozycja2==string::npos"<<bledy<<endl;
}
else {
pozycja=pozycja2;
zamiana(wisielec,pozycja,litera);
poprawna++;
cout<<"poprawna"<<endl;
}
}while(i==0);
}
cin.get();
cin.get();
return 0;
}
PS
Oczywiście jest pisany w C++