Code:
#include<stdio.h>
typedef struct{
int broj;
char ime[25];
char prezime[50];
double rodjenje;
char JMBG[13+1];
} igrac;
int main1() {
igrac nogometas;
FILE *dat;
int rbroj;
dat = fopen("700.dat", "r");
if (dat == NULL) return 0;
scanf("%d", &rbroj);
fseek(dat, --rbroj * sizeof(nogometas), SEEK_SET);
if (fread(&nogometas, sizeof(nogometas), 1, dat)) {
if (!nogometas.broj) {
printf("Zapis je prazan\n");
} else {
printf("Traženi zapis je: %d\nPronadjen je zapis:\n\n", ++rbroj);
printf("%4d. %15s %15s %.lf %13s \n", nogometas.broj, nogometas.ime, nogometas.prezime, nogometas.rodjenje, nogometas.JMBG);
}
}
system("PAUSE");
return 0;
}
int main() {
double broj;
igrac nogometas;
FILE *baza, *novi, *nf;
int a=1;
nf = fopen("nf.txt", "w");
baza = fopen("baza.csv", "r");
novi = fopen("700.dat", "w");
fseek(novi, 0L, SEEK_SET);
if (baza == NULL) return 0;
while (1) {
if (a == 0) break;
a = 0;
if (fscanf(baza, "%s %s %lf %lf", nogometas.ime, nogometas.prezime, &nogometas.rodjenje, &broj) != EOF) {
if (broj) nogometas.broj = (int)(broj - 7000000); else nogometas.broj = 0;
a++;
if (broj) {
strcpy(nogometas.JMBG, "1234567890123");
} else {
strcpy(nogometas.JMBG, "0000000000000");
}
fwrite(&nogometas, sizeof(nogometas), 1, novi);
fprintf(nf,"%4d. %15s %15s %5.lf %13s\n", nogometas.broj, nogometas.ime, nogometas.prezime, nogometas.rodjenje, nogometas.JMBG);
}
}
close(novi);
close(baza);
close(nf);
system("PAUSE");
return 0;
}
#include<stdio.h>
typedef struct{
int broj;
char ime[25];
char prezime[50];
double rodjenje;
char JMBG[13+1];
} igrac;
int main1() {
igrac nogometas;
FILE *dat;
int rbroj;
dat = fopen("700.dat", "r");
if (dat == NULL) return 0;
scanf("%d", &rbroj);
fseek(dat, --rbroj * sizeof(nogometas), SEEK_SET);
if (fread(&nogometas, sizeof(nogometas), 1, dat)) {
if (!nogometas.broj) {
printf("Zapis je prazan\n");
} else {
printf("Traženi zapis je: %d\nPronadjen je zapis:\n\n", ++rbroj);
printf("%4d. %15s %15s %.lf %13s \n", nogometas.broj, nogometas.ime, nogometas.prezime, nogometas.rodjenje, nogometas.JMBG);
}
}
system("PAUSE");
return 0;
}
int main() {
double broj;
igrac nogometas;
FILE *baza, *novi, *nf;
int a=1;
nf = fopen("nf.txt", "w");
baza = fopen("baza.csv", "r");
novi = fopen("700.dat", "w");
fseek(novi, 0L, SEEK_SET);
if (baza == NULL) return 0;
while (1) {
if (a == 0) break;
a = 0;
if (fscanf(baza, "%s %s %lf %lf", nogometas.ime, nogometas.prezime, &nogometas.rodjenje, &broj) != EOF) {
if (broj) nogometas.broj = (int)(broj - 7000000); else nogometas.broj = 0;
a++;
if (broj) {
strcpy(nogometas.JMBG, "1234567890123");
} else {
strcpy(nogometas.JMBG, "0000000000000");
}
fwrite(&nogometas, sizeof(nogometas), 1, novi);
fprintf(nf,"%4d. %15s %15s %5.lf %13s\n", nogometas.broj, nogometas.ime, nogometas.prezime, nogometas.rodjenje, nogometas.JMBG);
}
}
close(novi);
close(baza);
close(nf);
system("PAUSE");
return 0;
}
Ulazna datoteka je u privitku. Donja funkcija generira datoteku 700.dat, te datoteku nf.txt (ovo mi je služilo za provjeru da vidim je li nastala pogreška kod čitanja).
Gornja funkcija čita datoteku 700.dat. Po pokretanju, zahtjeva unos broja, te čita unešeni zapis... Zapis je prazan ako je broj = 0.
Ja sam stvarno izgubio živce tražeći grešku, pa molim vas iskusnije da pogurate malo.
Hvala!
[Ovu poruku je menjao --ja-- dana 25.04.2006. u 22:15 GMT+1]
http://www.dropbox.com/referrals/NTQ0MTI2NDc5
https://www.agronomija.info/
Failure is not an option. It comes bundled with your Microsoft product.
https://www.agronomija.info/
Failure is not an option. It comes bundled with your Microsoft product.