Witam, mam do napisania baze danych, która ma zawierać min 50 abonamentów. Potem mam sortować wg nazwiska, zapisywać i odczytywać do pliku i takie tam… czego dusza zapragnie! Narazie zrobiłem jakieś tam 3 osoby, żeby w ogóle spróbować no i niestety… poległem już na początku
mam coś takiego
#include
#include
const int N=3;
void main()
{
int licznik;
struct KSIEGA
{
int lp;
char nazwisko[20];
char imie[15];
int numer;
char adres;
};
KSIEGA osoba[N];
FILE *plik;
plik = fopen("C:/Users/Kostek/Desktop/Programy/VB Programy/Baza danych/baza.txt","r"); //wczytanie bazy z pliku
if( plik == NULL) //sprawdzenie, czy baza wczytana poprawnie
printf("Nie moge znalezc bazy. Cos zepsules Marcin :(");
else
{
printf("Baza wczytana pomyslnie!\n\n");
for (int i=0; i<=N; i++)
fscanf(plik,"%d %s %s %d %s",&(osoba[i].lp), osoba[i].nazwisko, osoba[i].imie, &(osoba[i].numer), osoba[i].adres);
}
fclose(plik);
for (int i=0; i<=N; i++)
printf("%d %s %s %d %s",osoba[i].lp, osoba[i].nazwisko, osoba[i].imie, osoba[i].numer, osoba[i].adres);
getch();
}
Program się niby kompiluje, ale potem odrazu zwiecha. Na ekranie widzę komunikat, że baza wczytana pomyślnie, więc bląd jest gdzieś od tego miejsca (tak myślę)
fscanf(plik,"%d %s %s %d %s",&(osoba[i].lp), osoba[i].nazwisko, osoba[i].imie, &(osoba[i].numer), osoba[i].adres);
Generalnie w tym pliku txt wygląda to tak że przykładowo
1 Marcin Kostyszyn 1653416 Wrocław enter
2 dane dane numer miasto enter
Jakieś sugestie, czemu się sypie?