Witam mam pewien problem bo mam zrobić projekt a troche sie zagapiłem i zamiast zapisywania do pliku zrobiłem program co zapisuje w konsoli i podmienia to co jest a potem od nowa jak sie wyjdzie , a jednak mam zrobic cos takiego zeby to co zmienie zapisywało sie do pliku i tam pozostało , Troche robilem i szukam teraz informacji jak to zrobicz plikiem bo zostalo nie wiele czasu. Da sie to jakos przerobic prostym dopisaniem czegos i pododawaniem komend czy musze wszystko od nowa robić ? Zostały mi niecałe dwa dni.
#include<iostream>
#include<cstdlib>
#include<string>
using namespace std;
struct samochody
{
string marka;
string typ;
int rok;
int przebieg;
};
void wyswietlenie_menu()
{
system("CLS");
cout << "MENU" << endl;
cout << "1.Wyswietl produkty." << endl;
cout << "2.Dodaj samochody." << endl;
cout << "3.Usun samochody." << endl;
cout << "4.Zmien samochody." << endl;
cout << "0.Wyjdz." << endl;
}
void wczytaj_s(samochody* tab)
{
tab[0].marka = "bmw";
tab[1].marka = "audi";
tab[2].marka = "fiat";
tab[0].typ = "coupe";
tab[1].typ = "combi";
tab[2].typ = "sedan";
tab[0].rok = 1999;
tab[1].rok = 2000;
tab[2].rok = 2001;
tab[0].przebieg = 123456;
tab[1].przebieg = 1234567;
tab[2].przebieg = 12345678;
}
void wyswietl_s(samochody *tab)
{
system("CLS");
int i=0;
do
{
cout << i+1 << "." << tab[i].marka << " | " << tab[i].typ << " | " << tab[i].rok << " | " << tab[i].przebieg << endl;
i++;
}while(tab[i].marka.empty() != true);
}
void dodawanie_s(samochody *tab)
{
system("CLS");
int i = 0;
bool flag = true;
do
{
if( tab[i].marka.empty())
{
cout << "Podaj samochod: ";
cin >> tab[i].marka;
cout << "Podaj typ: ";
cin >> tab[i].typ;
cout << "Podaj rok: ";
cin >> tab[i].rok;
cout << "Podaj przebieg: ";
cin >> tab[i].przebieg;
flag = false;
}
i++;
}while(flag != false);
}
void usuwanie_s(samochody *tab)
{
system("CLS");
wyswietl_s(tab);
cout << endl << "Podaj index samochodu do usuniecia: ";
int n;
cin >> n;
do
{
tab[n-1].marka = tab[n].marka;
tab[n-1].typ = tab[n].typ;
tab[n-1].rok = tab[n].rok;
tab[n-1].przebieg = tab[n].przebieg;
n++;
}while(tab[n-1].marka.empty() != true);
}
void zmiana_s(samochody *tab)
{
system("CLS");
wyswietl_s(tab);
cout << endl << "Podaj index samochodu do zmiany: ";
int n;
cin >> n;
cout << "Podaj nowa marke: ";
cin >> tab[n-1].marka;
cout << "Podaj nowy typ: ";
cin >> tab[n-1].typ;
cout << "Podaj nowy rocznik: ";
cin >> tab[n-1].rok;
cout << "Podaj nowy przebieg: ";
cin >> tab[n-1].przebieg;
}
int main ()
{
samochody *tab = new samochody[20];
wczytaj_s(tab);
int n;
do
{
wyswietlenie_menu();
cin >> n;
if(n == 1)
{
wyswietl_s(tab);
system("pause");
}
else if(n == 2)
dodawanie_s(tab);
else if(n == 3)
usuwanie_s(tab);
else if(n == 4)
zmiana_s(tab);
}while(n != 0);
return 0;
}