Добавление количества студентов - PullRequest
0 голосов
/ 01 января 2019

Попытка создать программу, которая будет хранить информацию о студентах, и до сих пор у меня возникла проблема, когда пользователь должен выбрать количество студентов, которые должны быть сохранены.может быть, я что-то пропустил, но я не могу найти это, когда вместо того, чтобы использовать в этом случае 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");

1 Ответ

0 голосов
/ 01 января 2019
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 для целых чисел

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...