Написать процедуру поиска/распечатки студентов, успевающих по заданному предмету - C (СИ)
Формулировка задачи:
Представить данные о студентах института в виде массива записей со структурой.
Студент
Ф.И.О
Кол-во предметов (<=N)
Предмет1 Оценка1
...
ПркдметN ОценкаN
Написать процедуру поиска/распечатки успевающих по задонному предмету.
Решение задачи: «Написать процедуру поиска/распечатки студентов, успевающих по заданному предмету»
textual
Листинг программы
#include <stdio.h> #include <conio.h> #include <locale.h> #define N 10 #define K 5 struct Student { char fio[50]; int kolvo; int Marks[N]; }; int main() { int i,j,nom; struct Student ss[K]; setlocale(LC_ALL,"Rus"); for(i=0;i<K;i++) { printf("Студент №%d. Введите фамилию к-во предметов и оценки\n",i); scanf("%s%d",ss[i].fio,&ss[i].kolvo); for(j=0;j<ss[i].kolvo;j++) scanf("%d",&ss[i].Marks[j]); } printf("Введите номер предмета для поиска:"); scanf("%d",&nom); printf("\nСписок успевающих по предмету №%d\n",nom); for(i=0;i<K;i++) { if(ss[i].Marks[nom]>=3) printf("%s %d\n",ss[i].fio,ss[i].Marks[nom]); } getch(); return 0; }
Объяснение кода листинга программы
- Подключение необходимых библиотек для работы с консолью и вводом/выводом данных
- Объявление структуры данных
Student
с полями: фамилия студента (fio), количество предметов (kolvo) и массив оценок по предметам (Marks) - Инициализация переменных для работы с консолью и вводом/выводом данных
- Ввод данных о студентах с помощью цикла for и функции scanf. Сначала вводится фамилия студента, затем количество предметов и оценки по каждому предмету
- Ввод номера предмета для поиска с помощью функции scanf
- Вывод списка студентов, которые успевают по заданному предмету с помощью цикла for и условного оператора if. Если оценка по заданному предмету больше или равна 3, то выводится фамилия студента и оценка по этому предмету
- Вызов функции getch для приостановки выполнения программы до нажатия клавиши
- Возврат 0, что означает успешное завершение программы
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д