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