Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ///////////////
- 2/
- //////////////
- #include <stdio.h>
- #include <stdlib.h> /* Zbog funkcije exit() */
- struct Student {
- char prezime[20];
- char ime[15];
- int broj_bodova1;
- int broj_bodova2;
- };
- int main() {
- struct Student studenti[300], tmp;
- FILE *ulaz, *izlaz;
- int i=0, j=0, k=0,ukupno1=0,ukupno2=0;
- printf("Tutorijal 13, Zadatak 2\n");
- /* Otvaranje datoteka */
- if ((ulaz = fopen("ispit.txt","r")) == NULL) {
- printf("Greska pri otvaranju datoteke ispit.txt");
- exit(1);
- }
- if ((izlaz = fopen("usmeni.txt","w")) == NULL) {
- fclose(ulaz);
- printf("Greska pri otvaranju datoteke usmeni.txt");
- exit(1);
- }
- /* Ucitavanje datoteke u niz studenti */
- i=0;
- while (fscanf(ulaz,"%20s%15s%2d%2d\n", studenti[i].prezime, studenti[i].ime, &studenti[i].broj_bodova1,&studenti[i].broj_bodova2) == 4 && i<300)
- i++;
- /* Sortiranje niza po broju bodova
- Varijabla i je sada velicina niza */
- for (j=0; j<i-1; j++){
- for (k=j+1; k<i; k++){
- ukupno1 = studenti[k].broj_bodova1 + studenti[k].broj_bodova2;
- ukupno2 = studenti[j].broj_bodova1 + studenti[j].broj_bodova2;
- if (ukupno1 > ukupno2) {
- tmp = studenti[j];
- studenti[j] = studenti[k];
- studenti[k] = tmp;
- }
- }
- }
- // Upis niza u datoteku
- for (j=0; j<i; j++){
- if(studenti[j].broj_bodova1>=10 && studenti[j].broj_bodova2>=10){
- fprintf(izlaz,"%-20s%-15s%2d\n", studenti[j].prezime, studenti[j].ime, studenti[j].broj_bodova1+studenti[j].broj_bodova2);
- }
- }
- printf ("Izlazna datoteka usmeni.txt je kreirana");
- fclose(ulaz);
- fclose(izlaz);
- return 0;
- }
- ///////////////
- 3
- ///////////
- #include <stdio.h>
- #include <stdlib.h> /* Zbog funkcije exit() */
- struct Student {
- char prezime[20];
- char ime[15];
- int broj_bodova1;
- int broj_bodova2;
- };
- int main() {
- struct Student studenti[300], tmp;
- FILE *ulaz;
- int i=0, j=0, k=0,ukupno1=0,ukupno2=0;
- printf("Tutorijal 13, Zadatak 3\n");
- /* Otvaranje datoteka */
- if ((ulaz = fopen("ispit.txt","r+")) == NULL) {
- printf("Greska pri otvaranju datoteke ispit.txt");
- exit(1);
- }
- /* Ucitavanje datoteke u niz studenti */
- i=0;
- while (fscanf(ulaz,"%20s%15s%2d%2d\n", studenti[i].prezime, studenti[i].ime, &studenti[i].broj_bodova1,&studenti[i].broj_bodova2) == 4 && i<300)
- i++;
- /* Sortiranje niza po broju bodova
- Varijabla i je sada velicina niza */
- printf("Unesite podatke o studentu %i. u formatu Prezime Ime bodovi1 bodovi2\n",i);
- scanf("%s %s %d %d", &studenti[i].prezime, &studenti[i].ime, &studenti[i].broj_bodova1, &studenti[i].broj_bodova2);
- i++;
- for (j=0; j<i-1; j++){
- for (k=j+1; k<i; k++){
- ukupno1 = studenti[k].broj_bodova1 + studenti[k].broj_bodova2;
- ukupno2 = studenti[j].broj_bodova1 + studenti[j].broj_bodova2;
- if (ukupno1 > ukupno2) {
- tmp = studenti[j];
- studenti[j] = studenti[k];
- studenti[k] = tmp;
- }
- }
- }
- ulaz = fopen("ispit.txt","w");
- // Upis niza u datoteku
- for (j=0; j<i; j++)
- fprintf(ulaz,"%-20s%-15s %2d %2d\n", studenti[j].prezime, studenti[j].ime, studenti[j].broj_bodova1, studenti[j].broj_bodova2);
- fclose(ulaz);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement