Example #1
0
 void Interfejs::doPliku()
 {
    ofstream strumien("out.txt");
    if(!strumien.good())
    {
        cerr << "Blad: Nie udalo sie zapisac pliku wynikowego";
        return;
    }
     strumien << 1 << ' ' << listaOpt.size() << ' ';
     for(list<Proces*>::iterator it= listaOpt.begin(); it != listaOpt.end(); ++it)
     {
         Proces * wsk = *it;
         strumien << wsk->ID << ' ';
     }
     strumien << maxCzas;
     strumien.close();
 }
///pozwala na odczytywanie danych z pliku
void KontynentZPasmemGorskim::odczyt_z_pliku(ifstream& plik)
{
	if(plik)
	{
		string linia;
		getline(plik, linia);
		stringstream strumien(linia);
		strumien >> nazwa;

		panstwa.clear();	///< czyszczenie wczesniej dodanych obiektow
		liczba_panstw = 0;	///< po wyczyszczeniu nie ma panstw
		pasma.clear();
		liczba_pasm = 0;
		///wczytywanie danych z pliku
		while(1)
		{
			string line;
			getline(plik,line);
			stringstream linia(line);
			if(line[0]=='#')		///< znak specjalny, ktory oznacza koniec wczytywania
			{
				break;
			}

			if(line[0]=='@')	///< znak specjalny, ktory oznacza koniec wczytywania panstw, a rozpoczyna wczytywanie pasm
			{
				string line;
				getline(plik,line);
				stringstream linia(line);	///< odczytywana jest cala linia
				Pasmo_gorskie* nowe_pasmo=new Pasmo_gorskie("pasmo",0);	///< tworzenie nowego pasma, do ktorego zaraz beda wpisane dane z odczytywanego pliku
				nowe_pasmo->odczyt_z_pliku(linia);
				this->dodaj_pasmo(nowe_pasmo);	///< pasmo, ktore wlasnie zostalo pobrane z pliku, dodajemy do odpowiedniego kontynentu
				continue;
			}

			if(line == "")
				continue;
			Panstwo* nowe_panstwo= new Panstwo("panstwo ", 0, 0);	///< wczytywanie danych dla panstwa
			nowe_panstwo->odczyt_z_pliku(linia);
			this->dodaj_panstwo(nowe_panstwo);		///<dodanie panstwa do kontynentu
		}
	}
	else