После каждой заполненной структуры запрашивать, хочет ли пользователь ввести данные - C (СИ)
Формулировка задачи:
Подскажите пожалуйста, у меня есть некая функция введения данных в массив структур, заполнить можно до 10 элементов массива(до 10 структур). В общем, проблема в том, чтобы после каждой заполненной структуры запрашивать, хочет ли пользователь ввести данные в еще одну структуру, если нет, то заполнение заканчивается. как это можно организовать?
Вот фрагмент программы
void fill_struct_mas(AEROFLOT *mas) { int i=1 flushall(); printf("Рейс #%i:\n",i); printf("Введите направление: "); gets((mas+i)->destination); flushall(); printf("Введите номер рейса: "); (mas+i)->flight_num=outism(); flushall(); printf("Введите тип самолета: "); gets((mas+i)->plane_type); flushall(); printf("Введите общее количество мест в самолете: "); (mas+i)->all_places=outism(); flushall(); printf("Введите количество занятых мест в самолете: "); (mas+i)->booked_places=outism(); if ( (mas+i)->booked_places > (mas+i)->all_places) { int ans=1; while (ans==1) { printf("Неверное число занятых мест\n(Должно быть не более, чем общее количество мест)\nВведите число еще раз!\n"); flushall(); (mas+i)->booked_places=outism(); if ((mas+i)->booked_places < (mas+i)->all_places) { ans=0; } } } } }
Решение задачи: «После каждой заполненной структуры запрашивать, хочет ли пользователь ввести данные»
textual
Листинг программы
char c; ... printf("Continue? y - yes, n - no.") re: c=getch(); switch(c) { case 'y': continue; case 'n': break; default: goto re; } ...
Объяснение кода листинга программы
- Переменная
c
объявлена как символ (char c;). - Затем пользователю предлагается ввести символ
Continue? y - yes, n - no.
с помощью функции printf(). - Функция getch() используется для получения ввода пользователя и сохранения его в переменную
c
. - С помощью оператора switch проверяется значение переменной
c
. - Если значение переменной
c
равно 'y', то выполняется команда continue. - Если значение переменной
c
равно 'n', то выполняется команда break. - Если значение переменной
c
не равно 'y' или 'n', то выполняется команда goto re, которая возвращает пользователя к шагу 2. - Код продолжается до тех пор, пока пользователь не введет 'n'.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д