Не получается правильно ввести данные в структуру - C (СИ)

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

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

Не получается правильно ввести данные в структуру, помогите!
#include "stdafx.h"
#include "conio.h"
#include "time.h"
#include "stdlib.h"
int _tmain(int argc, _TCHAR* argv[])
{ 
    struct student
    {
        char fio[20];
        int gr;
        int yspev[5];
    };
 
student st[3];
 
for(int i=0;i<3;i++)
{
printf("Vvedite FIO");
gets(st[i].fio);
printf("Vvedite Gruppy");
scanf("%d",&st[i].gr);

    for(int j=0;j<5;j++)
    {printf("Predmet nomer %d=",j);
    scanf("%d",&st[i].yspev[j]);}

}
getch();
    return 0;
}

Решение задачи: «Не получается правильно ввести данные в структуру»

textual
Листинг программы
struct student
{
    char fio[20];
    int gr;
    int yspev[5];
};
int main()
{
    student st[3];
    for(int i=0;i<3;i++)
    {
        printf("Vvedite FIO");
        scanf("%s",&st[i].fio[20]);
        printf("Vvedite Gruppy");
        scanf("%d",&st[i].gr);
        for(int j=0;j<5;j++)
        {
            printf("Predmet nomer %d=",j);
        scanf("%d",&st[i].yspev[j]);
        }
    }
    getch();
    return 0;
}

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

  1. Объявляется структура student, которая содержит массив символов fio, целочисленную переменную gr и массив из 5 целочисленных переменных yspev.
  2. В функции main() создается массив из 3 структур student с именем st.
  3. Затем в цикле for с переменной i от 0 до 2 (т.е. для каждого элемента массива st) происходит:
    1. Выводится сообщение Vvedite FIO и считывается строка (до 20 символов, включая '\0') в переменную st[i].fio.
    2. Выводится сообщение Vvedite Gruppy и считывается целое число в переменную st[i].gr.
    3. Затем в цикле for с переменной j от 0 до 4 (т.е. для каждого из 5 элементов массива yspev) происходит:
    4. Выводится сообщение Predmet nomer %d= и считывается целое число в переменную st[i].yspev[j].
  4. В конце функции main() вызывается функция getch() для приостановки выполнения программы до тех пор, пока пользователь не нажмет какую-либо клавишу.
  5. Возвращается 0, что означает успешное выполнение программы.

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


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

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

6   голосов , оценка 4 из 5
Похожие ответы