Вы находитесь на странице: 1из 3

Тема: Циклы

Домашнее задание 1
Задание 1. Написать программу, которая выводит на
экран линию заданным символом, вертикальную или
горизонтальную, причем линия может выводиться быстро, нормально и медленно. Общение
с пользователем
организовать через меню.

#include <iostream>
#include <windows.h>

int main()
{
char symbol;
std::cout << "\nEnter the symbol you wish to see on your screen:\n";
std::cin >> symbol;

int length;
std::cout << "\nEnter the length of the line:\n";
std::cin >> length;

char line;
std::cout << "\nEnter 'h' for horizontal line, or 'v' for vertical line:\n";
std::cin >> line;
if (line != 'h' && line != 'v')
std::cout << "\nERROR. The wrong input\n";

char speed;
std::cout << "\nEnter output speed: 'f' - fast, 'n' - normal, 's' - slow:\n";
std::cin >> speed;
if (speed != 'f' && speed != 'n' && speed != 's')
std::cout << "\nERROR. The wrong input\n";

switch (line)
{
case 'h':
for (int i = 0; i < length; ++i)
{
if (speed == 'f')
Sleep(20);
else if (speed == 'n')
Sleep(400);
else if (speed == 's')
Sleep(1000);
else
return 0;
std::cout << symbol;
}
break;

case 'v':
for (int i = 0; i < length; ++i)
{
if (speed == 'f')
Sleep(20);
else if (speed == 'n')
Sleep(400);
else if (speed == 's')
Sleep(1000);
else
return 0;
std::cout << symbol << "\n";
}
break;
default:
std::cout << "\nERROR. The wrong input\n";
}

return 0;
}

Задание 2. Написать игру «Кубики». Пользователь и компьютер по очереди бросают 2


кубика. Победитель — тот,
у кого по результатам 3х бросков сумма больше. Предусмотреть красивый интерфейс
игры.

#include <iostream>
#include <time.h>
using namespace std;

void vid_kubika(int vid) {


switch (vid) {
case 1:
cout << "*********\n* *\n* *\n* * *\n* *\n*
*\n*********\n\n";
break;
case 2:
cout << "*********\n* *\n* * *\n* *\n* * *\n*
*\n*********\n\n";
break;
case 3:
cout << "*********\n* *\n* * *\n* * *\n* * *\n*
*\n*********\n\n";
break;
case 4:
cout << "*********\n* *\n* * * *\n* *\n* * * *\n*
*\n*********\n\n";
break;
case 5:
cout << "*********\n* *\n* * * *\n* * *\n* * * *\n*
*\n*********\n\n";
break;
case 6:
cout << "*********\n* *\n* * * *\n* * * *\n* * * *\n*
*\n*********\n\n";
break;
}
}
void chislo_kubika(int g) {
int sum1 = 0, sum2 = 0, k;
for (int i = g; i < 10 + g; i++) {
if (i % 2 != 0) cout << "Ход игрока\n";
else cout << "Ход компьтерa\n";
for (int j = 1; j <= 2; j++) {
k = rand() % 6 + 1;

if (i % 2 != 0) {
sum1 += k;
vid_kubika(k);
}
else {
sum2 += k;
vid_kubika(k);
}
}
system("pause");
}
if (sum1 > sum2) cout << "\nПобедил игрок с суммой " << sum1 << " компьтер
набрал " << sum2;
if (sum2 > sum1) cout << "\nПобедил компьтер с суммой " << sum2 << " игрок
набрал " << sum1;
if (sum1 == sum2) cout << "\nНичья, игрок и компьтер набрали по " << sum1;
cout << "\nСредняя сумма набранная игроком за 1 бросoк по 2 кубика\t" << sum1 /
5.0;
cout << "\nСредняя сумма набранная компьютером за 1 бросoк по 2 кубика\t" <<
sum2 / 5.0;
}

void main() {
srand(time(0));
int A, B;
setlocale(LC_ALL, "rus");
do {
system("CLS");
cout << "Определим кто первый ходит. Ходит тот, у кого выпадет большая
цифра\nБросает игрок\n";
A = rand() % 6 + 1;
vid_kubika(A);
cout << "\nБросает компьютер\n";
B = rand() % 6 + 1;
vid_kubika(B);
if (A == B) {
cout << "\nЗначение одинаково, бросайте снова\n";
system("pause");
}
} while (A == B);
if (A > B) {
cout << "\nПервым ходит игрок\n";
system("pause");
chislo_kubika(1);
}
else {
cout << "\nПервым ходит компьютер\n";
system("pause");
chislo_kubika(2);
}
cout << "\n\n";
}