Cześć, na wstępie powiem iż dopiero co zaczynam z C++, więc pytanie może być dla was proste, ale ja się nad tym głowię już pare dobrych chwil :P
Program ma poprzez "losowanie" wyłonić zwycięzce. Obie osoby podają liczby w przedziale 1-100, program ma obliczyć która z nich była bliżej, ta wygrywa. Ewentualnie mamy remis. No i problem jest na wstępie. Mimo:
if (l1 > 100 || l1 < 1)
cout << "Podaj liczbe z zakresu 1-100!";
Program w żaden sposób nie zwraca uwagi na tą funkcje warunkową.
Poniżej wklejam cały kod.
Z góry dziękuje
#include <iostream>
#include <math.h>
#include <cstdlib>
#include <ctime>
using namespace std;
int main(int argc, char** argv) {
string gracz1, gracz2;
int l1, l2, los, w1, w2;
srand (time(0));
cout << "Gracz 1 - podaj nick: "; cin >> gracz1;
cout << "Gracz 2 - podaj nick: "; cin >> gracz2;
los = rand() % 100 + 1;
cout << "Gracz 1 - podaj liczbe z zakresu 1 - 100: "; cin >> l1;
if (l1 > 100 || l1 < 1)
cout << "Podaj liczbe z zakresu 1-100!";
else
{
cout << "Gracz 2 - podaj liczbe z zakresu 1-100: "; cin >> l2;
if (l2 > 100 || l2 < 1)
cout << "Podaj liczbe z zakresu 1-100!";
}
cout << "Wylosowana liczba: " << los;
w1 = abs(los - l1);
w2 = abs(los - l2);
if (w1 < w2)
{
cout << "Wygral gracz pierwszy!";
}
else if (w2 < w1)
{
cout << "Wygral gracz drugi!";
}
else if (w1 == w2)
{
cout << "Remis!";
}
return 0;
}