Ok więc wrzucam wypociny, ale już na tym etapie wyczuwam kłopoty, gdyż występują pewne problemy. Jednym z nich jest np. bardzo duży zakres danych w pliku (jeden z plików ma liczbe rekordów 188tyś.)
#include<iostream>
#include<iomanip>
#include<fstream>
#include<string>
using namespace std;
int i;
struct dostawcy
{
char nazwa_skrot[13597];
char numer_klienta[13597];
char ulica[13597];
char miejscowosc[13597];
};
dostawcy dos[13597];
struct magazynp
{
char nr_mag[188531];
char nrkarty[188531];
char nr_odpadu[188531];
char nr_klienta[188531];
char firma[188531];
char jedn[188531];
char masa[188531];
char datad[188531];
};
magazynp tab1[188531];
struct slownik
{
char gr[1026];
char podgr[1026];
char rodz[1026];
char typ[1026];
char opis[1026];
char nr_odpadu[1026];
};
slownik slow[1026];
struct magazynw
{
char dataw[20570];
char nrkarty[20570];
char nr_magw[20570];
char nr_odpadu[20570];
char nr_klienta[20570];
char firma[20570];
char jedn[20570];
char masa[20570];
};
magazynw tab2[20570];
int main () {
int wybierz;
fstream dostawcy;
fstream slownik;
fstream magazynp;
fstream magazynw;
char c;
while(1){
cout <<"Program sortujacy - zaliczenie Projekt Informatyka\n"
<<"\n"
<<"Menu :\n"
<<"1-Wczytaj dane z pliku Dostawcy\n"
<<"2-Wczytaj dane z pliku MagazynP\n"
<<"3-Wczytaj dane z pliku MagazynW\n"
<<"4-Wczytaj dane z pliku Slownik\n"
<<"5-Odczytaj dane z pliku Dostawcy\n"
<<"6-Odczytaj dane z pliku MagazynP\n"
<<"7-Odczytaj dane z pliku MagazynW\n"
<<"8-Odczytaj dane z pliku Slownik\n"
<<"0-Wyjscie"<<endl;
cin >>wybierz;
switch(wybierz){
case 1:
dostawcy.open("dostawcy.csv", ios::in);
for(i=0;i<13597 ;i++)
{
dostawcy.getline(dos[i].nazwa_skrot,13597,':');
dostawcy.getline(dos[i].numer_klienta,13597,':');
dostawcy.getline(dos[i].ulica,13597,':');
dostawcy.getline(dos[i].miejscowosc,13597);
dostawcy.get(c);
}
dostawcy.close ();
break;
case 2:
magazynp.open("magazynp.csv", ios::in);
for(i=0;i<188531 ;i++)
{
magazynp.getline(tab1[i].nr_mag,188531,'"');
magazynp.getline(tab1[i].nrkarty,188531,'"');
magazynp.getline(tab1[i].nr_odpadu,188531,'"');
magazynp.getline(tab1[i].nr_klienta,188531,'"');
magazynp.getline(tab1[i].firma,188531,'"');
magazynp.getline(tab1[i].jedn,188531,'"');
magazynp.getline(tab1[i].masa,188531,'"');
magazynp.getline(tab1[i].datad,188531);
magazynp.get(c);
}
magazynp.close ();
break;
case 3:
magazynw.open("magazynw.csv", ios::in);
for(i=0;i<20570 ;i++)
{
magazynw.getline(tab2[i].dataw,20570,'"');
magazynw.getline(tab2[i].nrkarty,20570,'"');
magazynw.getline(tab2[i].nr_magw,20570,'"');
magazynw.getline(tab2[i].nr_odpadu,20570,'"');
magazynw.getline(tab2[i].nr_klienta,20570,'"');
magazynw.getline(tab2[i].firma,20570,'"');
magazynw.getline(tab2[i].jedn,20570,'"');
magazynw.getline(tab2[i].masa,20570);
magazynw.get(c);
}
magazynw.close ();
break;
case 4:
slownik.open("slownik.csv", ios::in);
for(i=1;i<1026 ;i++)
{
slownik.getline(slow[i].gr,1026,';');
slownik.getline(slow[i].podgr,1026,';');
slownik.getline(slow[i].rodz,1026,';');
slownik.getline(slow[i].typ,1026,';');
slownik.getline(slow[i].opis,1026,';');
slownik.getline(slow[i].nr_odpadu,1026);
slownik.get(c);
}
slownik.close ();
break;
/* case 5:
for(i=1;i<13597;i++){
cout<<dos[i].nazwa_skrot<<dos[i].numer_klienta<<dos[i].ulica<<dos[i].miejscowosc<<endl;
}
break;
case 6:
for(i=1;i<188531;i++){
cout<<tab1[i].nr_mag<<tab1[i].nrkarty<<tab1[i].nr_odpadu<<tab1[i].nr_klienta<<tab1[i].firma<<tab1[i].jedn<<tab1[i].masa<<endl;
}
break;
case 7:
cout<<slow[1].gr<<slow[1].podgr<<slow[1].rodz<<slow[1].typ<<slow[1].opis<<slow[1].nr_odpadu<<endl;
break;
case 8:
for(i=1;i<1026;i++){
cout<<slow[i].gr<<slow[i].podgr<<slow[i].rodz<<slow[i].typ<<slow[i].opis<<slow[i].nr_odpadu<<endl;
}
break;
case 0:
return 0;
break;
default:
cout << "Nie ma takiej opcji"<<endl;
break;
} */
}
system("PAUSE");
return 0;
}