Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- void Wektor::zapisz(string nazwaPliku) const
- {
- ofstream plik; // deklaracja pliku strumieniowego o nazwie 'plik'
- plik.open( (nazwaPliku + ".txt").c_str(), ios::out | ios::trunc ); // otworzenie pliku / funkcja. c_str zamienia string na
- if( plik.good() ) // c-string tzn. na tablice char'ów, której oczekuje funkcja open
- {
- plik << iloscLiczb_ << ":" << endl;
- for ( int i=0; i < iloscLiczb_; i++ ) // wypisanie np '3:'
- plik << liczby_[ i ].Re() << "+" // wypisanie kazdej liczby zespolonej w postaci
- << liczby_[ i ].Im() << "i ";
- // np. 2,-3j
- }
- else cout << "Blad! Otwarcie pliku " << nazwaPliku << ".txt nie powiodlo sie." << endl; // jesli plik nie jest good to komunikat na ekran
- }
- void Wektor::wczytaj(string nazwaPliku)
- {
- ifstream plik; // deklaracja strumienia plikowego / wejsciowego o nazwie 'plik'
- string tmp; // pomocniczy string
- plik.open( (nazwaPliku + ".txt").c_str() ); // otwieranie pliku... jak w zapisz
- if( plik.good() ) // jesli plik good
- {
- getline(plik, tmp, ':'); // wez string z pliku do tmp do napotkania znaku ':'
- iloscLiczb_ = konwNaDouble( tmp ); // trzeba przekonwertowac string na double
- delete liczby_; // dealokacja tego co bylo
- liczby_ = new Zespolona [ iloscLiczb_ ]; // alokacja nowej tablicy o rozmiarze zczytanego z pliku
- plik.ignore(); // ignoruje znak nowej linii i przechodzi dalej
- for( int i=0; i < iloscLiczb_; i++ )
- {
- getline(plik, tmp, '+'); // zapisujemy wartosc do tmp wczytanej do '+'
- liczby_[ i ].Re() = konwNaDouble( tmp ); // konwersja i przypisanie
- getline(plik, tmp, 'i'); // --------- /////////////////// -------- 'i'
- liczby_[ i ].Im() = konwNaDouble( tmp ); // --------- /////////////////// --------
- plik.ignore(); // ingoruj znak nowej linii
- }
- }
- else cout << "Blad! Otwarcie pliku " << nazwaPliku << ".txt nie powiodlo sie." << endl; // jesli plik nie jest good to komunikat na ekran
- plik.close();
- }
- double Wektor::konwNaDouble(string napis) const
- {
- double wartosc;
- stringstream ss; // strumien stringowy
- ss << napis; // wrzucamy stringa
- ss >> wartosc; // odbieramy double'a
- return wartosc; // zwrot
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement