klasa III ti

Listy z zadaniami :
http://zs-bielawa.home.pl/zs_bielawa/Nieodzowny/4ti/java.html   = adres do list z zadaniami 

#include
#include
#include
#include
#define ESC 27
#define N 100
class wyp
{
public:
char pesel[20],nr_filmu[20],tytul[15],nazwisko[30],nos[3],od[8],da[8],dac[1] ;




static wyp* dodaj_wypo (void);
void wyswietl (void);
void odczytaj (FILE *);
void zapisz (FILE *);
};


wyp* wyp::dodaj_wypo (void)
{
wyp *nowa;
nowa=new wyp;
cout<<"wypozyczyc czy oddac: ";
cin>>nowa->dac;
cout<<"pesel: ";
cin>>nowa->pesel;
cout<<"podaj nazwisko: ";
cin>>nowa->nazwisko;
cout<<"nr filmu ";
cin>>nowa->nr_filmu;
cout<<"tytul: ";
cin>>nowa->tytul;
cout<<"rodzaj nosnika: ";
cin>>nowa->nos;
cout<<"od kiedy: ";
cin>>nowa->od;
cout<<"do kiedy: ";
cin>>nowa->da;


return nowa;
}
void wyp::wyswietl (void)
{
cout<<" wyp-zwrot-- "<
cout<
}
void wyp::odczytaj (FILE *plik)
{
    // fscanf (plik, "\n");
fscanf (plik, "%s\n", dac);
fscanf (plik, "%s\n", pesel);
fscanf (plik, "%s\n", nazwisko);
fscanf (plik, "%s\n", nr_filmu);
fscanf (plik, "%s\n", tytul);
fscanf (plik, "%s\n", nos);
fscanf (plik, "%s\n", od);
fscanf (plik,"%s\n", da);
}
void wyp::zapisz (FILE *plik)
{
      // fprintf (plik, "\n");
fprintf (plik, "%s\n", dac);
fprintf (plik, "%s\n", pesel);
fprintf (plik, "%s\n", nazwisko);
fprintf (plik, "%s\n", nr_filmu);
fprintf (plik, "%s\n", tytul);
fprintf (plik, "%s\n", nos);
fprintf (plik, "%s\n", od);
fprintf (plik, "%s\n", da);
}
//----------------------------------------------------------------------------
class przekaz
{
public:
int ile2;
wyp *przekaz[N];
przekaz (void);
void dodaj_wypo (wyp *);
void wyswietl (void);
void odczytaj (FILE *);
void zapisz (FILE *);
};
przekaz::przekaz (void)
{
ile2 = 0;
}
void przekaz::dodaj_wypo (wyp *nowa)
{
if (ile2 == N) cout<<"Przekroczono rozmiar tablicy!";
{
przekaz[ile2] = nowa;
ile2++;
}
}
void przekaz::wyswietl (void)
{
if (ile2 == 0) cout<<"Brak osob\n";
else
{
for (int i = 0; i < ile2; i++)
{
cout<
przekaz[i]->wyswietl();
}
}
getch();
}
void przekaz::odczytaj (FILE *plik)
{
char pom[20];


fscanf (plik, "%d", &ile2);


for (int i = 0; i < ile2; i++)
{
przekaz[i] = new wyp();
przekaz[i]->odczytaj (plik);
}
     fscanf(plik, "%s", pom);       //to tez moznz wywalic
}
void przekaz::zapisz (FILE *plik)
{


fprintf (plik, "%d\n", ile2);
for (int i = 0; i < ile2; i++)
przekaz[i]->zapisz (plik);


}
//----------------------------------------------------------------------------
class wypozyczalnia
{


przekaz baza;
int ktory;
public:
wypozyczalnia (void);
void menu (void);
       // int numer (char *);
void czytaj_wy (void);
void zapisz_wy (void);


};
wypozyczalnia::wypozyczalnia (void)
{
menu ();
}
void wypozyczalnia::menu (void)
{
int klawisz;
do
{
clrscr ();
cout<<"--------------------------------------------------------------------------------";
cout<<" 1 -  DODAJ PLYTE DO BAZY\n";
cout<<" 2 -  WCZYTAJ Z PLIKU\n";
cout<<" 3 -  ZAPISZ DO PLIKU\n";
cout<<" 4 -  WYSWIETL LISTE PLYT\n\n";
cout<<" ESC - KONIEC\n";
cout<<"--------------------------------------------------------------------------------";
klawisz = getch();
if (klawisz == 0) klawisz = getch();
if (klawisz == ESC) break;
cout<<"\n";
switch (klawisz)
{
case '1': wyp* pom=wyp::dodaj_wypo ();
if (pom != NULL)
baza.dodaj_wypo (pom);
break;
case '2':czytaj_wy ();
break;
case '3': zapisz_wy ();
break;
case '4': baza.wyswietl ();
getch ();
break;


}
}
while (klawisz != ESC);
}
/* */
void wypozyczalnia::czytaj_wy (void)
{
char pom[20];
FILE* plik = fopen( "C:\\wypodd.txt", "r");
baza.odczytaj (plik);
fclose (plik);
cout<<"Baza wypoz zostaˆa poprawnie odczytana z pliku!";
getch ();
}
void wypozyczalnia::zapisz_wy (void)
{
FILE* plik = fopen( "C:\\wypodd.txt", "w");
baza.zapisz (plik);
fclose (plik);
cout<<"Baza wypoz zostaˆa poprawnie zapisana w pliku!";
getch ();
}
void main()
{
wypozyczalnia du;
}