首页 > 解决方案 > 添加学生人数

问题描述

试图制作一个存储学生信息的程序,到目前为止,当用户应该选择应该存储的学生数量时,我遇到了一个问题。也许我错过了一些东西,但我找不到它,当我在这种情况下不使用 n(要存储的学生人数)作为 10 时,它工作正常,然后 10 名学生注册但现在我想改变它,所以用户应该选择要添加多少学生。

在用户选择学生人数后,它会跳过“存储信息”部分并跳到最后,所以我的猜测是问题一定是 n。

    struct student
    {
      char name[50], number[13], gender[6], program[50], age[3], email[100];
      int roll;
    } s[10];

    main();

    int i, n;

    printf("Enter how many students to add:\n");
    scanf("%s", &n);

    // storing information
    i = 0;
    for (i; i < n; ++i)
    {
        s[i].roll = i + 1;

        printf("\nFor roll number%d\n", s[i].roll);   //number of the student

        printf("Enter name: \n");
        scanf("%s", s[i].name);

        printf("Enter personal number (yyyymmdd-xxxx):\n");
        scanf("%s", &s[i].number);

        printf("Enter gender (male or female):\n");
        scanf("%s", &s[i].gender);

        printf("Enter program of student: \n");
        scanf("%s", &s[i].program);

        printf("Enter age of student: \n");
        scanf("%s", &s[i].age);

        printf("Enter email of student: \n");
        scanf("%s", &s[i].email);

        printf("\n");
    }

    printf("Displaying Information:\n");

标签: c

解决方案


struct student
{
  char name[50], number[13], gender[6], program[50], age[3], email[100];
  int roll;
} s[10];

int main(){

int i, n;

printf("Enter how many students to add:\n");
// the problem was here
scanf("%d", &n);

// storing information
i = 0;
for (i; i < n; ++i)
{
    s[i].roll = i + 1;

    printf("\nFor roll number%d\n", s[i].roll);   //number of the student

    printf("Enter name: \n");
    scanf("%s", s[i].name);

    printf("Enter personal number (yyyymmdd-xxxx):\n");
    scanf("%s", &s[i].number);

    printf("Enter gender (male or female):\n");
    scanf("%s", &s[i].gender);

    printf("Enter program of student: \n");
    scanf("%s", &s[i].program);

    printf("Enter age of student: \n");
    scanf("%s", &s[i].age);

    printf("Enter email of student: \n");
    scanf("%s", &s[i].email);

    printf("\n");
}

printf("Displaying Information:\n");}

%s 格式用于字符串,%d 用于整数


推荐阅读