После каждой заполненной структуры запрашивать, хочет ли пользователь ввести данные - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Подскажите пожалуйста, у меня есть некая функция введения данных в массив структур, заполнить можно до 10 элементов массива(до 10 структур). В общем, проблема в том, чтобы после каждой заполненной структуры запрашивать, хочет ли пользователь ввести данные в еще одну структуру, если нет, то заполнение заканчивается. как это можно организовать? Вот фрагмент программы
Листинг программы
  1. void fill_struct_mas(AEROFLOT *mas)
  2. {
  3. int i=1
  4. flushall();
  5. printf("Рейс #%i:\n",i);
  6. printf("Введите направление: ");
  7. gets((mas+i)->destination);
  8. flushall();
  9. printf("Введите номер рейса: ");
  10. (mas+i)->flight_num=outism();
  11. flushall();
  12. printf("Введите тип самолета: ");
  13. gets((mas+i)->plane_type);
  14. flushall();
  15. printf("Введите общее количество мест в самолете: ");
  16. (mas+i)->all_places=outism();
  17. flushall();
  18. printf("Введите количество занятых мест в самолете: ");
  19. (mas+i)->booked_places=outism();
  20. if ( (mas+i)->booked_places > (mas+i)->all_places)
  21. {
  22. int ans=1;
  23. while (ans==1)
  24. {
  25. printf("Неверное число занятых мест\n(Должно быть не более, чем общее количество мест)\nВведите число еще раз!\n");
  26. flushall();
  27. (mas+i)->booked_places=outism();
  28. if ((mas+i)->booked_places < (mas+i)->all_places)
  29. {
  30. ans=0;
  31. }
  32. }
  33. }
  34. }
  35. }

Решение задачи: «После каждой заполненной структуры запрашивать, хочет ли пользователь ввести данные»

textual
Листинг программы
  1. char c;
  2. ...
  3. printf("Continue? y - yes, n - no.")
  4. re: c=getch();
  5. switch(c) {
  6.  case 'y': continue;
  7.  case 'n': break;
  8.  default: goto re;
  9.  }
  10. ...

Объяснение кода листинга программы

  1. Переменная c объявлена как символ (char c;).
  2. Затем пользователю предлагается ввести символ Continue? y - yes, n - no. с помощью функции printf().
  3. Функция getch() используется для получения ввода пользователя и сохранения его в переменную c.
  4. С помощью оператора switch проверяется значение переменной c.
  5. Если значение переменной c равно 'y', то выполняется команда continue.
  6. Если значение переменной c равно 'n', то выполняется команда break.
  7. Если значение переменной c не равно 'y' или 'n', то выполняется команда goto re, которая возвращает пользователя к шагу 2.
  8. Код продолжается до тех пор, пока пользователь не введет 'n'.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

15   голосов , оценка 4.067 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы