Структура.Не выводится информация о студентах конкретной группы - C (СИ)

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

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

Дана структура из 5ти студентов. Вводятся их данные(фамилия,имя,отчество,факультет,группа,курс,стипендия.).Нужно вывести информацию о студентах конкретной группы.Программа написана,но ничего не выводиться. Подскажите в чём ошибка.
#include <conio.h>
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <string.h>
 
struct student {
char prizv[10];
char name[10];
char pobat[10];
char fakult[10];
char grup[10];
int curs;
int stip;};
main ()
 {
        int n,i,j;
        int max,min,k,c,crs;
        char grp[10];
    struct student x[100];
        printf("\n kilkist=");
        scanf("%d",&n);
        for(i=0;i<n;i++)
        {
        printf("\n Prizvushche:");
        scanf("%s",& x[i].prizv);
        printf("\n Name:");
        scanf("%s",& x[i].name);
        printf("\n Po-batcovi:");
        scanf("%s",& x[i].pobat);
        printf("\n Fakultet:");
        scanf("%s",& x[i].fakult);
        printf("\n Grupa:");
        scanf ("%s",&x[i].grup);
        printf("\n cyrs:");
        scanf ("%d",&x[i].curs);
        printf("\n stipendia:");
        scanf ("%d",&x[i].stip);
        }
        printf("\n grupa=");
        scanf("%s",&grp[10]);
        for(i=0;i<n;i++)
        {if(x[i].grup==grp)
        {
          printf("%s,",x[i].prizv,",");
          printf("%s,",x[i].name,",");
          printf("%s,",x[i].pobat,",");
          printf("%s,",x[i].fakult,",");
          printf("%s,",x[i].grup,",");
          printf("%d,",x[i].curs,",");
          printf("%d.",x[i].stip,",");
        }
        }
        getch();
        return 0;
        }

Решение задачи: «Структура.Не выводится информация о студентах конкретной группы»

textual
Листинг программы
#include <conio.h>
 #include <stdio.h>
 #include <stdlib.h>
 #include <math.h>
 #include <string.h>
 
 struct student
 {
    char prizv[10];
    char name[10];
    char pobat[10];
    char fakult[10];
    char grup[10];
    int curs;
    int stip;
 };
 int main ()
 {
    int n,i,j;
    int max,min,k,c,crs;
    char grp[10];
    student x[100];
 
 printf("\n kilkist=");
 scanf("%d",&n);
 for(i=0;i<n;i++)
 {
    printf("\n Prizvushche:");
    scanf("%s", x[i].prizv);
    printf("\n Name:");
    scanf("%s",x[i].name);
    printf("\n Po-batcovi:");
    scanf("%s",x[i].pobat);
    printf("\n Fakultet:");
    scanf("%s",x[i].fakult);
    printf("\n Grupa:");
    scanf ("%s",x[i].grup);
    printf("\n cyrs:");
    scanf ("%d",&x[i].curs);
    printf("\n stipendia:");
    scanf ("%d",&x[i].stip);
 }
 
 printf("\n grupa=");
 scanf("%s",grp);
 for(i=0;i<n;i++)
 {
     if(strcmp(x[i].grup,grp)==0)
     {
         printf("%s ",x[i].prizv);
         printf("%s ",x[i].name);
         printf("%s ",x[i].pobat);
         printf("%s ",x[i].fakult);
         printf("%d ",x[i].curs);
         printf("%d ",x[i].stip);
     }
 }
 getch();
 return 0;
 }

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

  1. Включаются необходимые заголовочные файлы: , , , , .
  2. Определяется структура student, которая содержит информацию о студенте: его фамилию, имя, отчество, факультет, группу, номер курса и размер стипендии.
  3. В функции main() объявляются переменные:   n - количество студентов;   i, j - индексы для цикла;   max, min - для определения минимального и максимального размера стипендии;   k - используется в цикле;   c - используется в цикле;   crs - номер курса;   * grp - строка, в которую будет занесен номер группы для вывода информации о студентах этой группы.
  4. С помощью функции scanf() с клавиатуры считывается количество студентов (n).
  5. В цикле for(i=0;i<n;i++) считываются данные о каждом студенте и сохраняются в массиве x.
  6. После считывания всех данных о студентах, пользователю предлагается ввести номер группы для вывода информации о студентах этой группы.
  7. В цикле for(i=0;i<n;i++) с помощью условного оператора if(strcmp(x[i].grup,grp)==0) проверяется, совпадает ли введенная группа с группой каждого студента.
  8. Если условие выполняется, то выводится информация о данном студенте: фамилия, имя, отчество, факультет, группа, номер курса и размер стипендии.
  9. В конце программы вызывается функция getch() для приостановки выполнения программы до тех пор, пока пользователь не нажмет клавишу.
  10. Возвращается 0, что означает успешный конец работы программы.

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


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

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

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