Hej. Piszę program do zapisania sumy odczytanej z innego pliku a potem zapisania do następnego pliku. Problem polega na tym: (to się dzieje w pętli) gdy odczytuje pierwszy plik i chce dodać do niego zmienną oraz zapisać to wszystko do jednego pliku to wszystko jest ok. ale gdy chce to zrobić ponownie to zamiast nowej sumy zapisuje się ta wcześniejsza.
cout << "Podaj przyczyne usuwania pliku (wpisz numer)" << endl;
cout << "1. plik dodany przez pomylke" << endl;
cout << "2. Produkt zostal sprzedany" << endl;
cout << "twoj wybor: "; cin >> przyczyna;
cout << "Podaj numer przedmiotu do usuniecia: "; cin >> usuwany_plik;
us_sciezka = "produkty/" + usuwany_plik + ".txt";
if (przyczyna == -1) {
system("cls"); menu();
}
else if (przyczyna == 1)
{
if (remove(us_sciezka.c_str()) == 0) cout << "Plik zostal usuniety" << endl << endl;
else cout << "Nie udalo sie usunac pliku lub plik nie istnieje" << endl << endl;
}
else if (przyczyna == 2)
{
cout << "Twoj przedmiot jest uzywany czy kupiony pod handel" << endl;
cout << "1. uzywany" << endl;
cout << "2. kupiony pod handel"<<endl;
cout << "Twoj wybor to: "; cin >> rodz_przedmiotu;
fstream przychod_plik_odczyt, odczyt_plik_us, zapis_przychodu_plik;
if (rodz_przedmiotu == 1)
{
przychod_plik_odczyt.open("przychod.txt", ios::in);
getline(przychod_plik_odczyt, odczyt_linia);
odczytany_przychod = atoi(odczyt_linia.c_str());
przychod_plik_odczyt.close();
// mamy zapisana obecna wartosc przychodu
// teraz trrzeba dodac sprzedany przedmiot do przychodu
// pobieramy sprzedany plik
odczyt_plik_us.open(us_sciezka, ios::in);
while (getline(odczyt_plik_us, us_odczyt_linia))
{
switch (us_odczyt_nr_linii)
{
case 1: null = us_odczyt_linia; break;
case 2: null = us_odczyt_linia; break;
case 3: zarobek = us_odczyt_linia; break;
case 4: null = us_odczyt_linia; break;
}
us_odczyt_nr_linii++;
}
dodawane_pieniadze = atoi(zarobek.c_str());
przychod = odczytany_przychod + dodawane_pieniadze;
odczyt_plik_us.close();
cout << przychod << endl;
//zapis przychodu do pliku
zapis_przychodu_plik.open("przychod.txt", ios::out);
zapis_przychodu_plik << przychod;
zapis_przychodu_plik.close();
if (remove(us_sciezka.c_str()) == 0) cout << "Plik zostal usuniety" << endl << endl;
else cout << "Nie udalo sie usunac pliku lub plik nie istnieje" << endl << endl;
}
else if (rodz_przedmiotu == 2)
{
}
}