После каждой заполненной структуры запрашивать, хочет ли пользователь ввести данные - 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'.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д