我的结构代码中的错误将在下一次输入时发生

时间:2019-09-18 13:26:18

标签: arrays input struct

我正在编写这些程序,在第一个学生上输入时似乎可以运行,但是在第二个学生中,它没有读取我的第一个输入,即gets(student [i] .Fname);在打印方面。

我尝试通过用scanf替换gets使其更加具体。我最近没主意了...

for(i=0; i<5;i++)
{
    printf("\nStudent no. %d\n", i+1);
    printf("Enter First Name: ");
    gets(student[i].Fname);


    printf("Enter Last Name: ");
    gets(student[i].Lname);


    printf("Enter Middle Initial: ");
    student[i].Minitial = toupper(getche());


    printf("\nEnter Prelim grade: ");
    scanf("%d", &student[i].Prelim);


    printf("Enter Midterm grade: ");
    scanf("%d", &student[i].Midterm);


    printf("Enter Finals grade: ");
    scanf("%d", &student[i].Finals);

    ave[i] = ((float)student[i].Prelim+ (float)student[i].Midterm+ (float)student[i].Finals)/3;


}

我希望显示的内容类似于“输入名字:”,然后输入,然后输入“输入姓氏:”,依此类推。但是,当我在第一个学生中填写完这些内容后,结果是“输入名字:输入姓氏:”,然后输入了gets(student [i] .Lname)而不是gets(student [i] .Fname)

0 个答案:

没有答案