# include # include # include # include struct Adresar { char ime[10]; char priimek[12]; }; void Izpisi(void); void Vpisi(void); void main() { int izbira; do { clrscr(); printf("Vpiçi (1-vpis, 2-izpis ali 3-izhod): "); scanf("%d", &izbira); switch (izbira) { case 1: Vpisi(); break; case 2: Izpisi(); break; case 3: break; default: printf("\nNapacna izbira. Poskusite znova."); getch(); } } while (izbira != 3); } void Izpisi() { FILE *vhod; struct Adresar *novi; novi = (struct Adresar*) malloc(sizeof(struct Adresar)); vhod = fopen ("vaja.txt", "rt"); /* Dokler ne pridemo do End-Of-File, beremo in izpisujemo podatke */ while (!feof(vhod) != 0) { fgets(novi->ime, strlen(novi->ime), vhod); fgets(novi->priimek, strlen(novi->priimek), vhod); printf("Ime: %s", novi->ime); printf("\nPriimek: %s", novi->priimek); } fclose(vhod); free(novi); getch(); } void Vpisi() { FILE *vhod; struct Adresar *novi; novi = (struct Adresar*) malloc(sizeof(struct Adresar)); gets(0); printf("Vpiçi ime: "); gets(novi->ime); printf("Vpiçi priimek: "); gets(novi->priimek); /* Odpremo za pisanje, kazalec postavimo na konec datoteke */ vhod = fopen("vaja.txt", "a+t"); /* Zapisemo podatke v datoteko */ fprintf(vhod, "%s %s", novi->ime, novi->priimek); /* Zapremo datoteko */ fclose(vhod); /* Sprostimo pomnilnik, ki smo si ga vzeli prej :-)*/ free(novi); }