|
![]() |
#1 |
Lunatic
Datum registracije: Feb 2006
Lokacija: Varaždin
Postovi: 213
|
![]() Kako da napravim da mi program čita sve što je zapisano u datoteci a ne samo zadnji unos?evo kod cijelog zadatka(crvenoi je problem): #include<stdio.h> #include<stdlib.h> #include<conio.h> void main(){ struct podaci { long int m,t; char i[500], p[500], a[500], e[500]; } datoteka; long int m,t; char i[500], p[500], a[500], e[500]; int y,q,j; FILE *f; A ![]() printf("\n\nIzbornik:\n1.Pregled osoba koje su vec u adresaru\n2.Unos novih podataka\n3.O programu\n4.Izlaz"); D:scanf("%d", &y); switch (y){ case 1: clrscr(); f=fopen("podaci.dat","r"); if (f==NULL){ printf("Greska pri otvaranju datoteke!!!"); exit(1); } fread(&datoteka,sizeof(struct podaci),1,f); printf("\n\nIme: %s\nPrezime: %s\nAdresa: %s\nBroj mobitela: %d\nBroj telefona: %d\nE-mail: %s", i,p,a,m,t,e); fclose(f); } getch(); clrscr(); goto A; break; case 2: clrscr(); f=fopen("podaci.dat","a"); if (f==NULL){ printf("greska pri otvaranju datoteke!!!"); exit(1); } B ![]() scanf("%s", &i); printf("\nUnesite prezime: "); scanf("%s", &p); printf("\nUnesite mjesto stanovanja: "); scanf("%s", &a); printf("\nUnesite broj mobitela: "); scanf("%d", &m); printf("\nUnesite broj telefona: "); scanf("%d", &t); printf("\nUnesite e-mail: "); scanf("%s", &e); printf("\n\n\nPritisnite\n1.Za spremanje podataka\n2.Za editiranje Podataka"); C:scanf("%d", &q); switch (q){ case 1: fprintf(f,"%s\n", i); fprintf(f,"%s\n", p); fprintf(f,"%s\n", a); fprintf(f,"%d\n", m); fprintf(f,"%d\n", t); fprintf(f,"%s\n", e); printf("Korisnik je spremljen pritisnite bilo koju tipku za povratak an glavni izbornik!!!"); fclose(f); getch(); clrscr(); goto A; break; case 2: clrscr(); goto B; break; default: printf("Niste unijeli ponudene brojeve,molim vas da unesete 1 ili 2!!!"); goto C; } case 3: clrscr(); printf("\n\n\n\n\nPritisnite bilo koju tipku za povratak na glavni meni."); getch(); clrscr(); goto A; break; case 4: clrscr(); printf("Hvala sto ste koristili ovaj adresar!!!"); getch(); break; default : clrscr(); printf("Niste unjeli niti jedan broj iz izbornika,molmi Vas da unesete \n1.Pregled osoba koje su vec u adresaru\n2.Unos novih podataka\n3.O programu\n4.Izlaz!!!"); goto D; } } |
![]() |
![]() |
![]() |
#2 |
Guest
Datum registracije: Feb 2005
Lokacija: Zg
Postovi: 4,190
|
fread(&datoteka,sizeof(struct podaci),<b>1</b>,f); umjesto ove jednicie stavis neki broj, ovisi koliko zapisa hoces da ti procita.... ili taj red rijesis s petljom.... |
![]() |
![]() |
|
|
Oglas
|
|
![]() |
|
|