Forumi
Home Pravila i pomoć Članovi Kalendar Današnji postovi


Povratak   PC Ekspert Forum > Računala > Software > Web dizajn, programiranje i ostalo
Ime
Lozinka

Odgovori
 
Uređivanje
Staro 26.02.2006., 12:55   #1
ejSid
Lunatic
Moj komp
 
ejSid's Avatar
 
Datum registracije: Feb 2006
Lokacija: Varaždin
Postovi: 213
Question Čitanje iz datoteke u c-u help!!!

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;
Arintf("Dobro dosli u adresar");
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);
}
Brintf("Unesite ime: ");
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;
}
}
ejSid je offline   Reply With Quote
Staro 26.02.2006., 13:19   #2
nicko
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....
nicko je offline   Reply With Quote
Oglasni prostor
Oglas
 
Oglas
Odgovori



Pravila postanja
Vi ne možete otvarati nove teme
Vi ne možete pisati odgovore
Vi ne možete uploadati priloge
Vi ne možete uređivati svoje poruke

BB code je Uključeno
Smajlići su Uključeno
[IMG] kod je Uključeno
HTML je Isključeno

Idi na