Как считать в структуру возвращаемую переменную? - C (СИ)

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

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

Добрый вечер, дамы и господа! Никак не могу понять. Есть структура.
Листинг программы
  1. typedef struct Data{
  2. char name[30];
  3. int year[4];
  4. }Data;
Есть функция inputstt("\n\tEnter a year: ", 4);
Листинг программы
  1. int inputstt(char *message, int count){
  2. char input[256];
  3. while (1)
  4. {
  5. printf(message);
  6. fgets(input, 256, stdin);
  7. input[strlen(input)-1] = 0;
  8. if ((strlen(input) > count) || (strlen(input) < count)){
  9. printf("\nLength must be = 4. Try again: ");
  10. continue;
  11. }
  12. int i, not_digit = 0;
  13. for (i=0; input[i] != '\0'; i++){
  14. if (!isdigit(input[i]))
  15. {
  16. not_digit = 1;
  17. printf ("\nYou would have to enter the number. Try again: ");
  18. break;
  19. }
  20. }
  21. if (not_digit)
  22. continue;
  23. return atoi(input);
  24. }
  25. }
И вот функция возвращает значение. А как вогнать его в структуру? Записать надо вот так: metro->year

Решение задачи: «Как считать в структуру возвращаемую переменную?»

textual
Листинг программы
  1. Data dt;
  2. dt.year[0]=inputstt("\n\tEnter a year: ", 4);

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

  1. Объявление переменной типа data dt
  2. Присваивание значения переменной dt.year[0] с помощью функции inputstt
  3. Функция inputstt запрашивает у пользователя ввод года и возвращает его в виде строки
  4. В качестве аргумента функции inputstt передается строка \n\tEnter a year:
  5. Число 4 передается как второй аргумент функции inputstt и определяет максимальное количество символов, которые функция будет ожидать от пользователя
  6. Значение переменной dt.year[0] присваивается результату функции inputstt
  7. Результат функции inputstt представляет собой строку, которая была введена пользователем
  8. Присваивание значения переменной dt.year[0] завершено

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


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

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

6   голосов , оценка 4 из 5

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

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

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