Chciałbym napisać program który pobierze mi z pliku dane i zapisze je do nowego pliku z odpowiednim formatowaniem. W jaki sposób mogę zrobić takie formatowanie?
plik z danymi:
12 95.0 krzeslo
2 145.34 stol plastikowy
5 57.23 parasol ogrodowy
9 333.5 stol drewniany
135 7.0 pilka plazowa
3 49.99 stół z połamanymi
2 12.2 koc ratunkowy
4 25.05 woda gazowana
5 199.99 krzeslo skladane
I tak chciałbym sformatować dane i zapisać w pliku txt
1 krzeslo.................. 12 x 95.00 zł 1140.00 zł
2 stol plastikowy.......... 2 x 145.34 zł 290.68 zł
3 parasol ogrodowy......... 5 x 57.23 zł 286.15 zł
4 stol drewniany........... 9 x 333.50 zł 3001.50 zł
5 pilka plazowa............135 x 7.00 zł 945.00 zł
-----------------------------------------------------------
Razem 5663.33 zł
gdzie każda linijka sformatowana jest wg następującego wzorca:
1 2 3 4 5 6
123456789012345678901234567890123456789012345678901234567890123456789
5 pilka plazowa............135 x 7.00 zł 945.00 zł
---------------------------------------------------------------------
Razem 5663.33 zł
Program odczytuje dane z pliku i zapisuje go do nowego:
#include <iostream>
#include <cstdlib>
#include <fstream>
#include <string>
#include <limits>
using namespace std;
int main()
{
string NazwaPliku;
cout << "Podaj nazwe pliku wejsciowego: "<< endl;
cin >> NazwaPliku;
fstream plikDoOdczytu;
plikDoOdczytu.open( NazwaPliku.c_str(), ios::in );
if(plikDoOdczytu.good()==false)
cout<<"Nie mozna otworzyc pliku";
string linia; // Zmienna do przechowywania odczytanych wierszy tekstu
int ilosc;
double cena;
fstream ladne;
ladne.open( "ladne.txt", ios::out );
while(!plikDoOdczytu.eof()){
getline( plikDoOdczytu, linia);
ladne<<linia<<"\n";
}
ladne.close();
return 0;
}