Как считать в структуру возвращаемую переменную? - C (СИ)
Формулировка задачи:
Добрый вечер, дамы и господа! Никак не могу понять. Есть структура.
Есть функция
inputstt("\n\tEnter a year: ", 4);
И вот функция возвращает значение. А как вогнать его в структуру? Записать надо вот так: metro->year
typedef struct Data{ char name[30]; int year[4]; }Data;
int inputstt(char *message, int count){ char input[256]; while (1) { printf(message); fgets(input, 256, stdin); input[strlen(input)-1] = 0; if ((strlen(input) > count) || (strlen(input) < count)){ printf("\nLength must be = 4. Try again: "); continue; } int i, not_digit = 0; for (i=0; input[i] != '\0'; i++){ if (!isdigit(input[i])) { not_digit = 1; printf ("\nYou would have to enter the number. Try again: "); break; } } if (not_digit) continue; return atoi(input); } }
Решение задачи: «Как считать в структуру возвращаемую переменную?»
textual
Листинг программы
Data dt; dt.year[0]=inputstt("\n\tEnter a year: ", 4);
Объяснение кода листинга программы
- Объявление переменной типа data
dt
- Присваивание значения переменной
dt.year[0]
с помощью функции inputstt - Функция inputstt запрашивает у пользователя ввод года и возвращает его в виде строки
- В качестве аргумента функции inputstt передается строка
\n\tEnter a year:
- Число 4 передается как второй аргумент функции inputstt и определяет максимальное количество символов, которые функция будет ожидать от пользователя
- Значение переменной
dt.year[0]
присваивается результату функции inputstt - Результат функции inputstt представляет собой строку, которая была введена пользователем
- Присваивание значения переменной
dt.year[0]
завершено
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д