Вывод на консоль с файла по заданным параметрам - C (СИ)
Формулировка задачи:
Как сделать так, чтобы вывести на экран всю информацию при заданном параметре, если вводим несколько студентов, то как потом вывести тех у кого средний бал не ниже заданного ?
#include <stdio.h> #include<stdlib.h> #include<conio.h> #include <string.h> FILE *fp; int main(){ struct { char studentInfo[20]; char group[20]; int averageRating; int grants; } book; char studentInfo_[20]; int rec_count=0; if ((fp = fopen("C:\\Users\\Михаил\\Documents\\CPP\\output.txt", "w")) == NULL) { printf("\n file not open"); exit(1); } while(1){ printf("\n PIB studenta "); scanf("%s",studentInfo_); if (strcmp(studentInfo_, "***")==0) break; strcpy(book.studentInfo,studentInfo_); printf("\n grupa "); scanf("%s",book.group); printf("\n seredniy bal "); scanf("%d",&book.averageRating); printf("\n stipendiya "); scanf("%d",&book.grants); fprintf(fp,"%s \n",book.studentInfo); fprintf(fp,"\n%s ",book.group); fprintf(fp,"%d \n",book.averageRating); fprintf(fp,"%d \n",book.grants); rec_count++;//Есть очередная запись } printf("\n Inputs %d records",rec_count); void clear_kb(void);// Очистка буфера ввода fclose(fp); char student[20]; char gr[20]; int avRate; int grants; if ((fp = fopen("C:\\Users\\Михаил\\Documents\\CPP\\output.txt", "r")) == NULL) { printf("\n file not open"); exit(1); } while(!feof(fp)) { void clear_kb(void); fscanf(fp,"%s",student); fscanf(fp,"%s",gr); fscanf(fp,"%d",&avRate); fscanf(fp,"%d",&grants); int vBal; printf("\n Vvedite srednii bal: "); scanf("%d",&vBal); if (book.averageRating>vBal) { printf("\n %s ",student); printf(" %20s ",gr); printf("%6d ",avRate); printf("%6d ",grants); } } void clear_kb(void); fclose(fp); getch(); return 0; }
Решение задачи: «Вывод на консоль с файла по заданным параметрам»
textual
Листинг программы
int vBal; printf("\n Vvedite srednii bal: "); scanf("%d",&vBal); if (book.averageRating>vBal) { printf("\n %s ",student); printf(" %20s ",gr); printf("%6d ",avRate); printf("%6d ",grants); }
Объяснение кода листинга программы
- Объявление переменной
vBal
типаint
- Вывод сообщения с просьбой ввести средний балл
- Ввод среднего балла с помощью функции
scanf
в переменнуюvBal
- Проверка условия
if (book.averageRating>vBal)
- Если условие истинно, то переход к следующему шагу
- Вывод значения переменной
student
(название книги) - Вывод значения переменной
gr
(группа книги) - Вывод значения переменной
avRate
(средний рейтинг книги) - Вывод значения переменной
grants
(количество грантов книги) - Если условие ложно, то выполнение кода завершается
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д