Задача по C++, циклы В кинотеатре есть 8 мест, 5 взрослых и 3 детских.
При входе человек указывает свой возраст и бронирует билет(до 12-детский, 12+ взрослый), программа должна вывести какой номер места. Если билеты заканчиваются, программа должна вывести "мест нет".


Задача по C++, циклы В кинотеатре есть 8 мест, 5 взрослых и 3 детских.  При входе человек указывает

qoqo5 qoqo5    1   17.03.2022 13:24    0

Ответы
Nemosing Nemosing  19.03.2022 12:50

#include <iostream>

#include <math.h>

#include <locale.h>

#include <Windows.h>

#include <conio.h>

using namespace std;

const int MaxChildren = 3;

const int MaxAdults = 5;

void main()

{

setlocale(LC_ALL, "Russian");

bool h[9] = {1,0,0,0,0,0,0,0,0};

int age, nomber;

char dir = 'a';

int children = 0, adults = 0;

ret:

age = 0;

while (age <= 5 || age >= 151)

{

 system("cls");

 cout << "Укажите вашь возраст(от 6 до 150): ";

 cin >> age;

}

if (children >= MaxChildren && adults >= MaxAdults) {

 cout << '\n' << "Мест нет.";

 Sleep(1000);

 system("cls");

 goto kkol;

}

if (age <= 12) {

 if (children >= MaxChildren) {

  cout << '\n' << "Детские места закончились.";

 

  Sleep(1000);

  system("cls");

  goto ret;

 }

}

if (age > 12) {

 if (adults >= MaxAdults) {

  cout << '\n' << "Взрослые места закончились.";

  Sleep(1000);

  system("cls");

  goto ret;

 }

}

non:

cout << '\n' << "Свободные места: ";

cout << '\n' << "Детские: " << MaxChildren - children;

cout << '\n' << "Взрослые: " << MaxAdults - adults;

for (int i = 1; i < 9; i++)

{

 if (h[i] == false) { cout << '\n' << i; }

}

cout << '\n' << "Выберите место (1-8): ";

cin >> nomber;

if (h[nomber] == true) {

 cout << '\n' << "Место занято, возьмите другое.";

 Sleep(1000);

 system("cls");

 goto non;

}

h[nomber] = true;

if (age > 12) { adults++; }

else { children++; }

Sleep(1000);

system("cls");

cout << "Нажмите Enter, чтобы продолжить.";

 dir = _getche();

 if (dir == '\r') { goto ret; }

kkol:

 cout << " ";

}

ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика