Witam mam do zrobienia w programie a własciwie w prostej bazie danych nastepujace cele:
-wyszukiwanie
-usuwanie
-aktualizacja
W wyszukiwaniu chce wyszukac np. samochod o nr 1, w aktualizacji chce edytowac dane z 1 elementu tabeli np. 2, a w usuwaniu chce zrobic tak jak tutaj
http://edu.i-lo.tarnow.pl/inf/utils/010_2010/0512.php to znaczy przesunac dalsze elementy tablicy na to miejsce gdzie dany element ma byc usuniety. Prosze o w miare mozliwosci pisanie porad na razie jak najprostrzymi metodami poniewaz dopiero zaczynam C++ i chce rozumiec to co mi pomozecie
A oto ten program:
#include <iostream>
#include <string>
#include <fstream>
using namespace std;
struct Samochod
{
int numer; //kolejny
string marka;
string model;
int rok;
double cena;
};
const int n=200;
Samochod tab [n];
int rozmiar()
{
string model , marka;
int rok , numer;
double cena;
ifstream plik;
plik.open("baza.txt");
int rozm = 0;
while(!plik.eof())
{
plik>>numer;
plik>>marka;
plik>>model;
plik>>rok;
plik>>cena;
rozm += 1;
}
plik.close();
return rozm-1;
}
void zpliku(int n)
{
ifstream plik;
plik.open("baza.txt");
for(int i=0;i<n;i++)
{
plik>>tab[i].numer;
plik>>tab[i].marka;
plik>>tab[i].model;
plik>>tab[i].rok;
plik>>tab[i].cena;
// cout<<tab[i].model;
}
plik.close();
}
void dopliku(int n)
{
ofstream plik;
plik.open("baza.txt");
for (int i=0;i<n;i++)
{
plik<<tab[i].numer<<endl;
plik<<tab[i].marka<<endl;
plik<<tab[i].model<<endl;
plik<<tab[i].rok<<endl;
plik<<tab[i].cena<<endl;
plik<<endl;
}
plik.close();
}
int main()
{
int i=0;
int znak;
int ile=rozmiar();
// cout<<ile;
zpliku(ile);
do
{
cout<<" Dopisanie nowego somochodu/smochodow wcisnij - 1\n";
cout<<" Wypisanie wszystkich samochodow wcisnij - 2\n";
cout<<" Wyjscie z programu wcisnij - 0\n";
cout<<"Co chcesz robic ??\n";
cin>>znak;
switch(znak)
{
case 1:
{
ile=ile+1;
i=ile-1;
// cout<<"ile z dodaj"<<ile;
tab[i].numer = ile;
cout<<"Podaj marke :\n";
cin>>tab[i].marka;
cout<<"Podaj model:\n";
cin>>tab[i].model;
cout<<"Podaj rok produkcji :\n";
cin>>tab[i].rok;
cout<<"Podaj cene samochodu :\n";
cin>>tab[i].cena;
break;
}
case 2:
{
for (int i=0;i<ile;i++)
{
cout<<tab[i].numer<<endl;
cout<<tab[i].marka<<endl;
cout<<tab[i].model<<endl;
cout<<tab[i].rok<<endl;
cout<<tab[i].cena<<endl;
cout<<endl;
}
break;
}
case 0:
{
dopliku(ile);
cout<<"Dziekuje! Dowidzenia ;p ;)\n";
//break;
}
}
}while(znak != 0);
return 0;
}
I to co znajduje sie w pliku
1
fiat
uno
1994
4300
2
fiat
uno
1999
2300
3
seat
leon
1994
3434
4
opel
zafira
1998
7800