. Создать файл, содержащий сведения о сдаче студентами сессии. Структура записи: номер группы, фамилия студента, оценки по двум экзаменам и одному зачету (зачет – незачет). На печать вывести:Фамилии неуспевающих студентов с указанием номера группы и количества
Программа считывает информацию, но обратно её не выводит
Программа считывает информацию, но обратно её не выводит
Код |
---|
#include "stdafx.h" #include "stdio.h" struct students {int gruppa; char fio[20]; int ek_matem; int ek_inf; char zachet;} st[20]; int main() {int n,i; FILE *f; puts("Enter n"); scanf("%d",&n); for (i=0;i<n;i++) { puts("Gruppa"); fflush(stdin); scanf("%d",&st[i].gruppa); puts("FIO"); fflush(stdin); scanf("%s", &st[i].fio); puts("Ekzamen po matem"); fflush(stdin); scanf("%d",&st[i].ek_matem); puts("Ekzamen po informatike"); fflush(stdin); scanf("%d",&st[i].ek_inf); puts("Zachet"); fflush(stdin); scanf("%c", &st[i].zachet); } f=fopen("data.txt","w+"); puts("Save to file"); for(i=0;i<n;i++) fprintf(f,"%d%s%d%d%c\n",st[i].gruppa,st[i].fio,st[i].ek_matem,st[i].ek_inf,st[i].zachet); fclose(f); f=fopen("data.txt","rt"); puts("Read from file"); for(i=0;i<n;i++){ fscanf(f,"%d%s%d%d%c",&st[i].gruppa,&st[i].fio,&st[i].ek_matem,&st[i].ek_inf,&st[i].zachet); if(((st[i].ek_matem)<4) && ((st[i].ek_inf)<4) && ((st[i].zachet)=='n')){ printf("%7d%10s%13d%16d%18c\n",st[i].gruppa,st[i].fio,st[i].ek_matem,st[i].ek_inf,st[i].zachet); } } fclose(f); return 0; } |