All pastes #551037 Raw Edit

Stuff

public text v1 · immutable
·published 2007-06-08 16:53 UTC
rendered paste body
/* Zadatak 2 - Tip 1 */
/*  By Igor Kovacic  */

#include<stdio.h>
#include<string.h>
#include<stdlib.h>

int dodaj(char *predmet, char *ocjena);
int citajmax(void);
unsigned long citajznak(void);

int main(){
    short sel, max, k;
    unsigned long brznak;
    char predmet[80+1], ocjena[2+1];

    while(1) {
        printf("1 - Dodaj predmet u datoteku\n");
        printf("2 - Ispisi najvecu ocjenu\n");
        printf("3 - Ispisi broj znakova u datoteci\n");
        printf("0 - Izlaz iz programa\n");

        printf("\nOdaberi opciju: ");
        do{
            scanf("%d", &sel);
        } while(sel<0 || sel>3);        

        switch (sel) {
            case 0:
                printf("\n\nIzlazite iz programa!\n\n");
                getche();
                return 0;
                break;

            case 1:
                printf("\n\nDodavanje predmeta u datoteku\n\n");
                
                printf("Ime predmeta: ");
	            fgets(predmet, sizeof(predmet), stdin);
	            
                printf("Ocjena: ");
                fgets(ocjena, sizeof(ocjena), stdin);
                
                k=dodaj(predmet, ocjena);
                
                if(k==0) printf("\n\nPodaci su uspjesno spremljeni!\n\n");
                else printf("\n\nDoslo je do pogreske kod upisivanja!\n\n");                
                break;

            case 2:
                printf("\n\nIspis najvece ocjene iz datoteke\n");
                max=citajmax();
                printf("Najveca ocjena je: %d\n\n", max);
                break;

            case 3:
                printf("\n\nIspis broja znakova u datoteci\n");
                brznak=citajznak();
                printf("Broj znakova u datoteci je: %ld\n\n", brznak);
                break;
        }
    }
}

int dodaj(char *predmet, char *ocjena){
    FILE *dat;

    int k;

    dat=fopen("student.txt", "a");

    if (dat==NULL){
        printf("Ne mogu otvoriti datoteku!\n");
        getche();
        return 1;
    }

    fprintf(dat, "%s%s", predmet, ocjena);

    k=fclose(dat);

    return k;
}

int citajmax(void){
    FILE *dat;

    int max=1, br=0;
    
    char temp[100];

    dat=fopen("student.txt", "r");

    if (dat==NULL){
        printf("Ne mogu naci datoteku!\n");
        getche();
        return 1;
    }

    while(fscanf(dat, "%81[^\n]%*c", temp)>=0){
        br++;
        if(br%2==0)
            if(atoi(temp)>=max)
                max=atoi(temp);
    }

    fclose(dat);

    return max;
}

unsigned long citajznak(void){
    FILE *dat;

    char a;
    unsigned long br=0;

    dat=fopen("student.txt", "r");

    if (dat==NULL){
        printf("Ne mogu naci datoteku!\n");
        getche();
        return 1;
    }

    while((a=fgetc(dat))!=EOF)
        br++;

    fclose(dat);

    return br;
}