Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Лабораторные работы / лабы ооп / ooп_5_отчёт вар 9

.docx
Скачиваний:
5
Добавлен:
03.07.2024
Размер:
48.12 Кб
Скачать

ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ АВТОНОМНОЕ

ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ

“ОМСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ”

Кафедра “Информатика и вычислительная техника

ОТЧЕТ

по лабораторной работе ООП №5

ДРУЖЕСТВЕННЫЕ ФУНКЦИИ

Выполнил:

Студент группы ИВТ-234 Кукушкина А.А.

_____________________________________________________

(дата, подпись)

Проверил:

ст. пр. доцент Дорошенко М.С.

_____________________________________________________

(дата, подпись)

Омск 2024

Лабораторная работа ООП №5

Тема: Дружественные функции

Вариант 9

Задание 1

Условие задачи:

Реализовать игру "угадай число" для чисел от 0 до 10. Суть игры заключается в том, что компьютер загадывает число, а пользователь или сам компьютер (на выбор из меню) угадывают это число, анализируя от­веты ("больше" или "меньше").

Текст программы:

#include <iostream>

#include <cstdlib>

#include <conio.h>

using namespace std;

class GuessNumberGame

{

private:

int secretNumber;

public:

GuessNumberGame()

{

secretNumber = rand() % 11;

}

friend void guessNumberUser(GuessNumberGame game);

friend void guessNumberComputer(GuessNumberGame game);

};

void guessNumberUser(GuessNumberGame game)

{

int guess;

cout << "Введите предполагаемое число: ";

do

{

cin >> guess;

if (guess < game.secretNumber)

{

cout << "Загаданное число больше. Попробуйте еще раз: ";

}

else if (guess > game.secretNumber)

{

cout << "Загаданное число меньше. Попробуйте еще раз: ";

}

else

{

cout << "Поздравляем! Вы угадали число." << endl;

return;

}

} while (true);

}

void guessNumberComputer(GuessNumberGame game)

{

char response;

int guess = 5; // начинаем с середины диапазона

do

{

cout << "Компьютер думает, что загадано число: " << guess << endl;

cout << "Загаданное число больше (>), меньше (<) или равно (=) моему ответу? ";

cin >> response;

if (response == '>')

{

guess = (guess + 10) / 2; // увеличиваем предполагаемое число

}

else if (response == '<')

{

guess = guess / 2; // уменьшаем предполагаемое число

}

else if (response == '=')

{

cout << "Я победил!" << endl;

return;

}

else

{

cout << "Некорректный ввод. Попробуйте еще раз." << endl;

}

} while (true);

}

int main()

{

setlocale(LC_ALL, "ru");

char choice;

cout << "Кто будет угадывать число: компьютер (c) или пользователь (p)? ";

cin >> choice;

if (choice == 'c')

{

cout << "Загадайте число от 0 до 10, а компьютер попробует угадать." << endl;

_getch();

GuessNumberGame game;

guessNumberComputer(game);

}

else if (choice == 'p')

{

cout << "Компьютер загадал число от 0 до 10, а вы попробуйте угадать." << endl;

_getch();

GuessNumberGame game;

guessNumberUser(game);

}

else

{

cout << "Некорректный ввод. Попробуйте еще раз." << endl;

}

return 0;

}

Результаты выполнения программы, выводы:

Угадывает компьютер:

Угадывает пользователь:

Соседние файлы в папке лабы ооп