Распечатать фамилии учеников, которые не получили ни одной 3-ки за последнюю четверть - C (СИ)

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

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

Распечатать фамилии тех учеников, которые не получили ни одной 3-ки за последнюю четверть. В каких класах учатся эти ученики? Каков их средний балл?

Решение задачи: «Распечатать фамилии учеников, которые не получили ни одной 3-ки за последнюю четверть»

textual
Листинг программы
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h> 
#include <stdlib.h> 
 
int main() {
 char fam[30],klass[3];
 int ball[4];
 int i,j,c3;
 float sred;
 FILE *f=fopen("data.txt","rt");
 if (f==NULL) {
  printf ("\nCan't open file data.txt in current folder!");
  fflush(stdin); getchar(); return 1;
 }
 for (i=0; i<5; i++) {
  fscanf (f,"%s %s",fam,klass);
  c3=0; 
  sred=0;
  for (j=0; j<4; j++) {
   fscanf (f,"%d",&ball[j]);
   if (ball[j]==3) c3++;
   sred+=ball[j];
  }
  fscanf (f,"\n");
  if (c3==0) printf ("\n%s %s %.2f",fam,klass,sred/4);
 }
 fclose(f);
 fflush(stdin); getchar(); return 0;
}

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

  1. Подключаются необходимые библиотеки
  2. Объявляются переменные: fam[30] - массив для хранения фамилий учеников, klass[3] - массив для хранения класса учеников, ball[4] - массив для хранения оценок учеников, i, j, c3 - счётчики для циклов, sred - переменная для хранения средней оценки, f - указатель на файл
  3. Проверяется успешность открытия файла data.txt в режиме чтения. Если файл не открылся, выводится сообщение об ошибке и программа завершается.
  4. Происходит чтение данных из файла data.txt. В каждой итерации цикла считываются фамилия, класс и оценки ученика.
  5. Переменная c3 инициализируется нулём и используется для подсчёта количества оценок 3.
  6. Переменная sred инициализируется нулём и используется для хранения суммы оценок ученика.
  7. Если в массиве оценок есть оценка 3, то к переменной c3 прибавляется единица.
  8. Сумма оценок ученика добавляется к переменной sred.
  9. После каждой итерации цикла считывается символ новой строки.
  10. Если в массиве оценок ни разу не встречалась оценка 3, то выводится фамилия, класс и средняя оценка ученика.
  11. После окончания чтения файла, закрывается указатель на файл.
  12. Программа завершается.

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


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

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

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