Работа с текстовыми файлами Си
Граждане очень нужна помощь:
"Написать программу, работающую с текстовыми файлами след. формата: в строчках файла задана информация об абитуриентах и их баллах(0-10) за вступительные экзамены. Для каждого указаны через запятую ФИО и баллы по алгебре,геометрии,физике,р.языку,информатике. Требуется прочитать файл и вывести на экран список поступивших студентов (балл>=80) балл= 2.5*(алг+геом)+1.5*физ+0.5*р.яз+3*инф Список должен быть отсортирован в порядке убывания баллов." Буду очень благодарен) |
#include <stdio.h>
#include <math.h> #include <conio.h> void main(void) {FILE *fo; char w,p,n; int h,q,x,j,a[5],i; double s; fo= fopen("c:\\temp\\FIO.txt","rt"); while( !feof(fo) ) { fscanf( fo, "%s", &n ); for(i=0;i<=(strlen(n)-1);i++) {if ((n[i]>=0)&&(n[i]<=10)) { if (n[i+1]==0) {a[j]=n[i]*10+n[i+1]; i=i+1; j=j+1; } a[j]=n[i]; j=j+1;} if(j==5) {s=(a[0]+a[1])*2.5 +1.5*a[2]+0.5*a[3]+3*a[4]; if(s>=80) {p[x]=n; x=x+1;} j=0; s=0; } } for (h=0;h<=x-1;h++) {for (q=0;q<=x-1;q++){if(p[q]<p[q+1]) {w=p[q]; p[q]=p[q+1]; p[q+1]=w;} } } for(h=0;h<=x;h++) {printf("%s\n",p[h]);} fclose(fo); } |
Часовой пояс GMT +4, время: 11:33. |
Powered by vBulletin® Version 4.5.3
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.