Witam,
kod posiada kilka błędów. Troszkę poprawiłem Twój kod
...
int tak; // równie dobrze mogłoby być bool, powinna to być wartość liczbowa aby
//można było łatwo obsłużyć pętle while
int main()
{
cout << "Generator ciosu"<< endl;
cout << "Zadales cios "<< endl;
srand(time(NULL));
cout << rand()%100+1 << endl;
cout << "powtorzyc cios ?" << endl;
cin >> tak; // pobranie wartości każda wartość różna od 0 sprawi że zadziała pętla
while(tak) // sprawdza powyższą wartość true to wchodzi do pętli w innym razie nie
{
if(tak)
{
cout << rand()%100+1 << endl;
}
else
{
break; // jesli tak == 0 to wyjdz z pętli
}
cout << "powtorzyc cios ?" << endl;
cin >> tak; // powtorzenie procedury
}
cout << "zakonczono walke" << endl;...
Ogólnie polecam używać klamer {} do podziału kodu na bloczki dla instrukcji warunkowych bądź pętli. Wtedy łatwiej zauważyć co należy do powyższych wyrażeń. W przypadku ich braku domyślnie tylko jedna linia.
while(1)
{
//wszystko pomiędzy klamrami 'należy' do pętli while
}
while(1)
cout << "Tylko ta linia należy";
cout << "Ta już jest poza pętlą";
Podobnie jest z dodawanie ; na końcu takiego wyrażenie. W przypadku dodania do pętli nie zostanie przetworzone. Na przykład
while(1);
{
// to nie należy do pętli
}
Jeszcze w przypadku używania cout lub cin nie podawaj typów zmiennych tylko same ich nazwy.
cin >> nazwa_zmiennej;
cout << nazwa_zmiennej;