#include #include #include #include < ctype.h > // zaradi funkcije toupper() #define N 3 /**********************************************************/ struct podatki { char priimek[20], ime[10]; int ocena; }; /**********************************************************/ // naslednji program ima pomanjkljivosti !! Katere ? void main() { struct podatki * seznam[N]; struct podatki **oseba; struct podatki temp; char command; FILE *f1; do { printf("Kaj zelis (Vnos, Zapis, Branje, Izpis, Konec):"); command = getc(stdin); switch (command) { case 'v': case 'V': oseba = seznam; do { printf("Vnos osebe:"); scanf( "%s %s %d", temp.priimek, temp.ime, &temp.ocena); *oseba = (struct podatki*) malloc(sizeof(struct podatki)); strcpy((*oseba)->priimek, temp.priimek); strcpy((*oseba)->ime, temp.ime); (*oseba)->ocena = temp.ocena; oseba++; } while (oseba-seznam priimek, (*oseba)->ime, (*oseba)->ocena); oseba++; } break; case 'z': case 'Z': oseba = seznam; f1 = fopen("outputfile.dat","w"); // zapis v datoteko while (oseba-seznam priimek, (*oseba)->ime, (*oseba)->ocena); oseba++; } fclose(f1); break; case 'b': case 'B': oseba = seznam; f1 = fopen("outputfile.dat","r"); // zapis v datoteko oseba = seznam; do { fscanf(f1,"%s %s %d", temp.priimek, temp.ime, &temp.ocena); *oseba = (struct podatki*) malloc(sizeof(struct podatki)); strcpy((*oseba)->priimek, temp.priimek); strcpy((*oseba)->ime, temp.ime); (*oseba)->ocena = temp.ocena; oseba++; } while (oseba-seznam