Witam, mam do napisania projekt w języku C. Problem polega na tym, że nigdy nie tworzyłem baz danych, więc sprawia mi to problem. Doszedłem do tego momentu (kod poniżej) i zastanawiam się jak z tego wybrnąć. Proszę o pomoc, pozdrawiam. (PONIZEJ ZDJECIE TRESCI)
#include <stdio.h>
#include <stdlib.h>
#include "Biblioteka.h"
#include <ctype.h>
#include <string.h>
int main()
{
int licznik_glowny=0;
ADRES pierwszy=NULL;
ADRES ostatni=NULL;
ADRES pom;
FILE *plik=fopen("Uczestnicy.txt","r");
if(!plik) return 1;
int i=0;
int licznik=0;
while(licznik!=(-1))
{
if(fscanf(plik,"%s",uczestnicy[i].nazwisko)==EOF) break;
{
if(strcmp(uczestnicy[i].nazwisko,uczestnicy[i+1].nazwisko)!=0)
licznik++;
}
fscanf(plik,"%s",uczestnicy[i].imie);
fscanf(plik,"%s",uczestnicy[i].email);
fscanf(plik,"%d",&uczestnicy[i].rok_urodzenia);
fscanf(plik,"%s", uczestnicy[i].identyfikator2);
i++;
}
licznik_glowny=licznik;
fclose(plik);
for(i=0; i<licznik_glowny; i++)
if(printf("%s\t%s\t%s\t%d\t%s\n",uczestnicy[i].nazwisko,uczestnicy[i].imie,uczestnicy[i].email,uczestnicy[i].rok_urodzenia,uczestnicy[i].identyfikator2)==EOF);
FILE *plik2=fopen("Wydarzenia.txt","r");
if(!plik2) return 1;
int j=0;
do
{
pom=(ADRES)malloc(sizeof(IMPREZA));
if(fscanf(plik2,"%s",pom->nazwa)==EOF) break;
fscanf(plik2,"%s",pom->data);
fscanf(plik2,"%s",pom->miejsce);
pom->liczba_uczestnikow=U;
fscanf(plik2,"%d",&(pom->minimalny_wiek));
fscanf(plik2,"%s",pom->identyfikator);
j++;
pom->nast=NULL;
if(pierwszy==NULL)
{
pierwszy=pom;
ostatni=pom;
}
else
{
ostatni->nast=pom;
ostatni=pom;
}
}
while(j!=(-1));
fclose(plik2);
return 0;
}
//teraz deklaracje stuktur i list:
#ifndef BIBLIOTEKA
#define BIBLIOTEKA
#endif // BIBLIOTEKA
#define U 10
#define M 50
struct Uczestnik
{
char nazwisko[50];
char imie[20];
char email[30];
int rok_urodzenia;
char identyfikator2[50];
};
typedef struct Uczestnik UCZESTNIK;
struct Impreza
{
char nazwa[50];
char data[15];
char miejsce[50];
int liczba_uczestnikow;
int minimalny_wiek;
char identyfikator[50];
struct Impreza *nast;
};
typedef struct Impreza IMPREZA;
typedef IMPREZA *ADRES;
IMPREZA tablica_imprezy;
UCZESTNIK uczestnicy[U*M];
struct Festiwal
{
ADRES adres;
UCZESTNIK uczestnicy[U*M];
struct Festiwal *nastepny;
};
typedef struct Festiwal FESTIWAL;
typedef FESTIWAL *ADRES2;