#include #include #include struct{ char ime[30+1]; char prezime[50+1]; long matbr; float placa; char oznaka; } place; int main(){ FILE *fin; char buffer[32]; if ((fin = fopen("place.dat", "a+b"))==NULL) { printf("Greska, ne mogu otvoriti datoteku\n"); getche(); return 1; } while(1){ fseek(fin, 0, SEEK_END); printf("Ime: "); memset(place.ime, 0, sizeof(place.ime)); fgets(place.ime, sizeof(place.ime), stdin); printf("Prezime: "); fgets(place.prezime, sizeof(place.prezime), stdin); do{ printf("Matbr (0 za kraj): "); fgets(buffer, sizeof(buffer), stdin); place.matbr=atol(buffer); } while(place.matbr<0); if(place.matbr==0) break; do{ printf("Placa: "); fgets(buffer, sizeof(buffer), stdin); place.placa=atof(buffer); } while(place.placa>=10000); printf("Oznaka: "); place.oznaka=getchar(); if(fwrite(&place, sizeof(place), 1, fin)==1){ printf("Podaci su uspjesno pohranjeni!\n\n"); } else { printf("Greska pri pohrani podataka!\n\n"); } } fclose(fin); printf("Kraj unosa!"); getche(); return 0; }