//Dana jest klasa Kontener jak poniżej: class Kontener{
public:
unsigned int
m_liczba;
std::string
m_TekstBezSpacji;
double
m_wartoscA_double;
double
m_wartoscB_double;
};
//oraz plik tekstowy w określonej przez Was lokalizacji (np. C:\temp\plik123.txt ) o zawartości jak poniżej: 5
9
Zmienna1
1.23
-3.14
3
Zmienna2
5.1
1.23
1
Zmienna3
1
0.329
2
Zmienna4
665.566
0.0323
0
Zmienna5
665.566
0.0323
END
gdzie:
<ilosc wierszy do odczytania zawierajce istotne informacje>
<liczba> białe znaki <TekstBezSpacji> biale znaki <wartosc_doubleA1> biale znaki <wartosc_doubleB1>
<liczba> białe znaki <TekstBezSpacji> biale znaki <wartosc_doubleA2> biale znaki <wartosc_doubleB2>
<liczba> białe znaki <TekstBezSpacji> biale znaki <wartosc_doubleA3> biale znaki <wartosc_doubleB3>
<liczba> białe znaki <TekstBezSpacji> biale znaki <wartosc_doubleA4> biale znaki <wartosc_doubleB4>
// ...
<identyfikator_konca> Następnie:
1) Stwórz tablice elementów Kontener o wielkości zależnej od <ilosc wierszy do odczytania zawierające istotne informacje>
2) uzupełnij każdy element tej tablicy wartością odczytanymi z pliku (tj. element 0 tablicy obiektów Kontener uzupełnij pierwszą linijką: 9
ToJestMojTekst1
1.23
3) w funkcji main() wyświetl na ekranie zawartości każdego elementu tablicy Kontener 4) Zapisać do pliku w określonej przez Was lokalizacji (np. c:\temp\plikB.txt ) o strukturze jak poniżej: 5) zamknąć plik z (4) i skasować tablice (2) Struktura pliku do zapisu:
<ilosc wierszy do odczytania zawierajce istotne informacje>
<liczba1> biale znaki <TekstBezSpacji_1> biale znaki <suma zmiennych: wartosc_doubleA1 i wartosc_doubleB1>
<liczba2> biale znaki <TekstBezSpacji_2> biale znaki <suma zmiennych: wartosc_doubleA2 i wartosc_doubleB2>
<liczba3> ….
<identyfikator konca> Przydatne linki:
http://cpp0x.pl/kursy/Kurs-C++/Obsluga-strumienia-cout/323
Proste odczytanie zmiennej z pliku:
#include <iostream>
#include <fstream> using namespace std; int main(){
int x;
double KK;
char buff[512]; fstream plik;
plik.open("c:\\temp\\plik123.txt"); while (! plik.eof() ) {
plik >> x >> dd;
// tutaj właśnie odczytywana jest zmienna x (int) a pozniej dd (double) plik >> buff;;
// tutaj właśnie odczytywana jest tekst bez spacji i zapisywana do zmiennej buff; cout << x << endl; cout << KK << endl;
}
plik.close();
}