oto kod:
#include <cstdlib>
#include <iostream>
#include <conio.h>
#include <string>
#include <fstream>
using namespace std;
struct dane_zwierzecia
{
string gatunek;
string plec;
string imie;
string numer;
string minimalna_potrzebna_przestrzen;
string akceptowane_typy_klatek;
};
dane_zwierzecia tab[100];
int n=1;
void wprowadz(int n){
ofstream plik;
plik.open("plik.txt");
cout << "DODAJESZ KOLEJNE ZWIERZE" << endl << endl;
cout << "Podaj gatunek: ";
cin >> tab[n].gatunek;
plik << tab[n].gatunek;
cout << "Podaj plec: ";
cin >> tab[n].plec;
plik << tab[n].plec;
cout << "Podaj imie: ";
cin >> tab[n].imie;
plik << tab[n].imie;
cout << "Podaj numer: ";
cin >> tab[n].numer;
plik << tab[n].numer;
cout << "Podaj minimalna potrzebna przestrzen: ";
cin >> tab[n].minimalna_potrzebna_przestrzen;
plik << tab[n].minimalna_potrzebna_przestrzen;
cout << "Podaj akceptowany typ klatki: ";
cin >> tab[n].akceptowane_typy_klatek;
plik << tab[n].akceptowane_typy_klatek;
cout << "W twoim ZOO pojawilo sie nowe zwierze!" << endl;
plik.close();
}
void wyswietl(int n){
cout << "Gatunek zwierzecia " << n << " to: " << tab[n].gatunek << endl;
cout << "Plec zwierzecia " << n << " to: " << tab[n].plec << endl;
cout << "Imie zwierzecia " << n << " to: " << tab[n].imie << endl;
cout << "Numer zwierzecia " << n << " to: " << tab[n].numer << endl;
cout << "Minimalna potrzbna przestrzen zwierzecia " <<n<< " to: " << tab[n].minimalna_potrzebna_przestrzen << endl;
cout << "Akceptowany typ klatki zwierzecia " <<n<< " to: " << tab[n].akceptowane_typy_klatek << endl << endl << endl;
}
void szukaj(int i){
string szukaj;
cout<<"Podaj numer szukanego zwierzecia: ";
cin >> szukaj;
for(i=1;i<=n;i++) {
if(tab[i].numer == szukaj)
{
cout << "Gatunek zwierzecia " << n << " to: " << tab[n].gatunek << endl;
cout << "Plec zwierzecia " << n << " to: " << tab[n].plec << endl;
cout << "Imie zwierzecia " << n << " to: " << tab[n].imie << endl;
cout << "Numer zwierzecia " << n << " to: " << tab[n].numer << endl;
cout << "Minimalna potrzbna przestrzen zwierzecia " <<n<< " to: " << tab[n].minimalna_potrzebna_przestrzen << endl;
cout << "Akceptowany typ klatki zwierzecia " <<n<< " to: " << tab[n].akceptowane_typy_klatek << endl << endl << endl;
}
}
}
void zpliku()
{
int n=0;
ifstream plik;
plik.open("plik.txt", ios::in);
plik >> n;
do
{
plik>>tab[n].gatunek;
plik>>tab[n].plec;
plik>>tab[n].imie;
plik>>tab[n].minimalna_potrzebna_przestrzen;
plik>>tab[n].akceptowane_typy_klatek;
n++;
}while(!plik.eof());
}
int main(int argc, char *argv[])
{
int znak, i, j, nr_rek;
char sign,sign1;
do{
system("cls");
cout<<"aktualnie posiadasz "<<n-1<<" wpisow.\n";
cout<<"1 - dodaj nowe zwierze\n";
cout<<"2 - usun zwierze\n";
cout<<"3 - wyswietl zwirzeta\n";
cout<<"4 - szukaj zwierzecia\n";
cout<<"5 - KONIEC PROGRAMU\n";
cout<<"6 - wczytaj dane z pliku"<< endl << endl;
cin>>znak;
switch (znak)
{
case 1:
do{
system("cls");
wprowadz(n);
n++;
cout << "czy chcesz dodac kolejne zwierze?\n1 - TAK, 0 - NIE (POWROT DO MENU)";
sign=getch();
}
while(sign!='0');
break;
case 3:
for (int i=1;i<n;i++)
wyswietl(i);
cout<<endl;
getch();
break;
case 4:
szukaj(n);
getch();
break;
default:
break;
case 6:
{
zpliku();
break;
}
}}
while (znak!=5);
system("PAUSE");
return EXIT_SUCCESS;
}
Program nie wczytuje danych zapisanych w pliku.txt po ponownym skompilowaniu, nie jestem takze pewien czy dobrze je zapisuje.Chcialbym zeby plik nie byl za kazdym razem czyszczony tylko zeby dane byly dopisywane. Z gory dziekuje ze wszelka pomoc.