Как считать в структуру возвращаемую переменную? - 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]
завершено
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д