Цитата
Угадать число, которое загадал пользователь,используя только инструкцию if-else
Код программы:
Код
static int MAX = 10; //число попыток
int gamer() //угадывает игрок
{
int i, b = 1 + rand() % 1001, r;
cout << "Попробуйте угадать число от единицы до 1 милиона. У тебя 10 попыток." << endl;
cout << "Введите число: "; cin >> r;
for (i = 1; i < MAX; i++)
{
hi:
if (r < 1 || r > 1001) { goto hi; }
else if (r < b)
{
cout <<"Введенное вами число меньше загаданного" << endl << "Введите число: "; cin >> r;
}
else if (r > b)
{
cout << "Введенное вами число больше загаданного" << endl << "Введите число: "; cin >> r;
}
else if (r == b)
{
cout << "Вы угадали загаданное число " << b << " с " << i+1 << " попытки. Поздравляем!" << endl;
return 0;
}
}
cout << "Сожалением. Вы не смогли угадать число" << endl; return 0;
}
int comp() //угадывает компьютер
{
int i, b = -1;
int min = 1, max = 1001;
while (b < 1 || b > 1000)
{
cout << "Введите число, которое будет угадывать компьютер (диапазон от единицы до 1 миллиона). У компьютера 10 попыток. Число: ";
cin >> b;
}
int r = min + rand() % max;
for (i = 0; i < MAX; i++)
{
cout << "Компьютер: мое число - " << r;
if (r > b)
{
if (max > r) { max = r; }
while (r >= max || r <= min) { r = min + rand() % max; }
cout << "Игрок: это число больше моего" << endl;
goto endd;
}
else if (r < b)
{
if (min < r) { min = r; }
while (r <= min || r >= max) { r = min + rand() % max; }
cout << "Игрок: это число меньше моего" << endl;
goto endd;
}
else if (r == b)
{
cout << "Компьютер угадал загаданное число " << b << " с " << i + 1 << " попытки. Поздравляем его!" << endl;
return 0;
}
endd:;
}
cout << "Сожалением. Компьютер не смог угадать число" << endl; return 0;
}
int main(int argc, char *argv)
{
setlocale(LC_ALL, "Russian"); start:
srand(time(NULL));
cout << " Выберите режим в котором вы хотите играть! (Введите - 1, чтобы начать угадывать числа у компьютера. Введите - 2, чтобы компьютер угадывал число у вас)";
cout << " Чтобы завершить игру введите \"exit\". " << endl;
string ili;
cin >> ili;
if (ili == (string)"1")
{
gamer(); goto start;
}
else if (ili == (string)"2")
{
comp(); goto start;
}
else if (ili == (string)"exit")
{
system("pause"); return 0;
}
else
{
cout << "Неправильный ввод." << endl; goto start;
}
}
Библиотеки:
Код
#include <fstream>
#include<locale.h>
#include<time.h>
#include <stdlib.h>
#include <stdio.h>
#include <Windows.h>
#include <iostream>
#include <string>
using namespace std;