Простите.. учу С++ самостоятельно.. вот написал программу но не могу понять еще один вопрос
Смысл программы в том что Банк у одного и другого 100. Потом ставятся ставки. Так чтоб были одинаковы ставки. Затем кидаются кубики и у кого больше тот заберает ставку. Программа написана внизу, но прикол в том что я в цикле поставил если хоть один игрок наберет меньше 0 очков, то выход из цикла while (SumIgr2 >= 0 || SumIgr1 >= 0); Но он не выходит.. можете проверить.. проиграв один из игроков он все равно стоит в цикле и кидает кубики.. я понимаю можно иф написать в циклке и будет выходить, но хочется все таки понять если я ошибся там где. Спасибо
int main()
{
int SumIgr1 = 100, SumIgr2 = 100, stavka1, stavka2, ObshayaStavka;
do
{
cout << "Pozhaluysta vvedite stavku pervogo igroka" << endl;
cin >> stavka1;
cout << "Pozhaluysta vvedite stavku vtorogo igroka" << endl;
cin >> stavka2;
while (stavka1 != stavka2)
{
cout << "Pozhaluysta vvedite odinakovie stavki" << endl;
cout << "Vvedite summu stavke Igroka 1 ";
cin >> stavka1;
cout << "Vvedite summu stavki Igroka 2 ";
cin >> stavka2;
}
ObshayaStavka = stavka1 + stavka2;
cout << "Obshaya Stavka: " << ObshayaStavka << endl;
// Randomnoye chislo 1
cout << endl;
int a = rand() % 6 + 1;
// Randomnoye chilso 2
cout << endl;
int b = rand() % 6 + 1;
KartinkaKubikov(a);
KartinkaKubikov(b);
if (a>b)
{
SumIgr1 = SumIgr1 + stavka1;
SumIgr2 = SumIgr2 - stavka1;
}
else if (a == b)
{
SumIgr2 = SumIgr2;
SumIgr1 = SumIgr1;
}
else
{
SumIgr1 = SumIgr1 - stavka1;
SumIgr2 = SumIgr2 + stavka1;
}
if (a>b)
{
cout << "Igrok Perviy WINS etu stavku" << endl;
}
else if (a = b)
{
cout << "Nichya" << endl;
}
else
{
cout << "Igrok Vtoroy WINS etu stavku" << endl;
}
cout << "Summa Igrok 1: " << SumIgr1 << endl;
cout << "Summa Igrok 2: " << SumIgr2 << endl;
} while (SumIgr2 >= 0 || SumIgr1 >= 0);
if (SumIgr1 > SumIgr2)
{
cout << "Pobedil Igrok 1!!!";
}
else
{
cout << "Pobedil Igrok 2!!!";
}
}
Смысл программы в том что Банк у одного и другого 100. Потом ставятся ставки. Так чтоб были одинаковы ставки. Затем кидаются кубики и у кого больше тот заберает ставку. Программа написана внизу, но прикол в том что я в цикле поставил если хоть один игрок наберет меньше 0 очков, то выход из цикла while (SumIgr2 >= 0 || SumIgr1 >= 0); Но он не выходит.. можете проверить.. проиграв один из игроков он все равно стоит в цикле и кидает кубики.. я понимаю можно иф написать в циклке и будет выходить, но хочется все таки понять если я ошибся там где. Спасибо
int main()
{
int SumIgr1 = 100, SumIgr2 = 100, stavka1, stavka2, ObshayaStavka;
do
{
cout << "Pozhaluysta vvedite stavku pervogo igroka" << endl;
cin >> stavka1;
cout << "Pozhaluysta vvedite stavku vtorogo igroka" << endl;
cin >> stavka2;
while (stavka1 != stavka2)
{
cout << "Pozhaluysta vvedite odinakovie stavki" << endl;
cout << "Vvedite summu stavke Igroka 1 ";
cin >> stavka1;
cout << "Vvedite summu stavki Igroka 2 ";
cin >> stavka2;
}
ObshayaStavka = stavka1 + stavka2;
cout << "Obshaya Stavka: " << ObshayaStavka << endl;
// Randomnoye chislo 1
cout << endl;
int a = rand() % 6 + 1;
// Randomnoye chilso 2
cout << endl;
int b = rand() % 6 + 1;
KartinkaKubikov(a);
KartinkaKubikov(b);
if (a>b)
{
SumIgr1 = SumIgr1 + stavka1;
SumIgr2 = SumIgr2 - stavka1;
}
else if (a == b)
{
SumIgr2 = SumIgr2;
SumIgr1 = SumIgr1;
}
else
{
SumIgr1 = SumIgr1 - stavka1;
SumIgr2 = SumIgr2 + stavka1;
}
if (a>b)
{
cout << "Igrok Perviy WINS etu stavku" << endl;
}
else if (a = b)
{
cout << "Nichya" << endl;
}
else
{
cout << "Igrok Vtoroy WINS etu stavku" << endl;
}
cout << "Summa Igrok 1: " << SumIgr1 << endl;
cout << "Summa Igrok 2: " << SumIgr2 << endl;
} while (SumIgr2 >= 0 || SumIgr1 >= 0);
if (SumIgr1 > SumIgr2)
{
cout << "Pobedil Igrok 1!!!";
}
else
{
cout << "Pobedil Igrok 2!!!";
}
}