Ovo je moj pokušaj:
Code:
/*Pretpostavimo da su u nesortiranoj datoteci upisani rezultati nekog ispita, u svakom redu
su podaci o uspijehu jednog studenta u obliku: PREZIME IME BODOVI
Napisati program koji sortira takvu datoteku(prvi argument komandne linije) u opadajućem
redosljedu po broju bodova i rezultat sortiranja upisuje u drugu datoteku(drugi argument
komandne linije).U svaki red treba upisati: RB. PREZIME IME BODOVI
gdje RB predstavlja redni broj.Svi studenti sa istim brojem bodova dijele isto mjesto.
Npr. 1. Markovic Marko 100
1. Jankovic Janko 100
3. Nikolic Janko 90
Rezultat treba ispisati i na standardnom izlazu. */
#include <stdio.h>
#include <stdlib.h>
main()
{
FILE *ul,*izl;
struct osoba {
char prezime[15];
char ime[15];
int rb;
int bodovi[3];
}student;
char imedat[100];
int i=1,j;
student.rb=0;
if( ( ul=fopen("D:/zad 5.txt","r") )!= NULL)
{
printf("Ime datoteke u koju upisujemo je:\t");
scanf("%s",imedat);
if( ( izl=fopen(imedat,"w") )!=NULL)
{
while(!feof(ul))
{
fscanf(ul,"%s %s %s",student.prezime,student.ime,student.bodovi);
student.rb=student.rb+1;
fprintf(izl,"%d. %s %s %s\n",student.rb,student.prezime,student.ime,student.bodovi);
}
fclose(izl);
}
else
printf("greska pri otvaranju dat. za upisivanje\n");
fclose(ul);
}
else
printf("greska pri otvaranju dat. za citanje\n",imedat);
system("pause");
}
/*Pretpostavimo da su u nesortiranoj datoteci upisani rezultati nekog ispita, u svakom redu
su podaci o uspijehu jednog studenta u obliku: PREZIME IME BODOVI
Napisati program koji sortira takvu datoteku(prvi argument komandne linije) u opadajućem
redosljedu po broju bodova i rezultat sortiranja upisuje u drugu datoteku(drugi argument
komandne linije).U svaki red treba upisati: RB. PREZIME IME BODOVI
gdje RB predstavlja redni broj.Svi studenti sa istim brojem bodova dijele isto mjesto.
Npr. 1. Markovic Marko 100
1. Jankovic Janko 100
3. Nikolic Janko 90
Rezultat treba ispisati i na standardnom izlazu. */
#include <stdio.h>
#include <stdlib.h>
main()
{
FILE *ul,*izl;
struct osoba {
char prezime[15];
char ime[15];
int rb;
int bodovi[3];
}student;
char imedat[100];
int i=1,j;
student.rb=0;
if( ( ul=fopen("D:/zad 5.txt","r") )!= NULL)
{
printf("Ime datoteke u koju upisujemo je:\t");
scanf("%s",imedat);
if( ( izl=fopen(imedat,"w") )!=NULL)
{
while(!feof(ul))
{
fscanf(ul,"%s %s %s",student.prezime,student.ime,student.bodovi);
student.rb=student.rb+1;
fprintf(izl,"%d. %s %s %s\n",student.rb,student.prezime,student.ime,student.bodovi);
}
fclose(izl);
}
else
printf("greska pri otvaranju dat. za upisivanje\n");
fclose(ul);
}
else
printf("greska pri otvaranju dat. za citanje\n",imedat);
system("pause");
}