Технический форум

Технический форум (http://www.tehnari.ru/)
-   Помощь студентам (http://www.tehnari.ru/f41/)
-   -   Работа с текстовыми файлами Си (http://www.tehnari.ru/f41/t43675/)

KapustinL 22.12.2010 01:47

Работа с текстовыми файлами Си
 
Граждане очень нужна помощь:
"Написать программу, работающую с текстовыми файлами след. формата:
в строчках файла задана информация об абитуриентах и их баллах(0-10)
за вступительные экзамены. Для каждого указаны через запятую ФИО и баллы по алгебре,геометрии,физике,р.языку,информатике.
Требуется прочитать файл и вывести на экран список поступивших студентов (балл>=80)
балл= 2.5*(алг+геом)+1.5*физ+0.5*р.яз+3*инф
Список должен быть отсортирован в порядке убывания баллов."

Буду очень благодарен)

KapustinL 22.12.2010 01:51

#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.