Witam. Zrobiłem mały program dotyczący "Spisu pojazdów w warsztacie". Jedyny problem jaki mam to opcje wyszukiwania.
Cały kod programu:
#include <iostream>
#include <conio.h>
#include <string>
#include <fstream>
using namespace std;
struct pojazd
{
string marka;
string model;
string rok;
string tablice;
};
short i;
pojazd samochod[200];
void Dodaj();
void Zobacz();
void Wczytaj();
void Szukaj();
int main()
{
int menu=0;
cout<<"#######################"<< endl
<< "# Lista samochodow #"<< endl
<< "# w warsztacie #"<< endl
<< "#######################"<< endl << endl;
do
{
cout << endl<< "Obecnie w warsztacie znajduje sie "<<i<<" samochod/ow"<<endl<<endl;
cout <<"[1] Dodaj Samochod "<<endl;
cout <<"[2] Zobacz pelna liste "<<endl;
cout <<"[3] Wczytaj liste pojazdow z bazy "<<endl;
cout <<"[4] Wyszukaj samochod"<<endl;
cout <<"[5] Koniec programu "<<endl<<endl;
cout <<"Wybierz opcje: ";
cin >> menu;
switch (menu)
{
case 1: Dodaj();
break;
case 2: Zobacz();
break;
case 3: Wczytaj();
break;
case 4: Szukaj();
break;
}
} while (menu != 5);
return 0;
}
void Dodaj()
{
cout <<"Podaj marke samochodu: \n";
cin >>samochod[i].marka;
cout <<"Podaj model samochodu: \n";
cin >>samochod[i].model;
cout <<"Rok produkcji: \n";
cin >>samochod[i].rok;
cout <<"Numer tablic rejestracyjnych: \n";
cin >>samochod[i].tablice;
cin.ignore();
i++;
ofstream plik("warsztat.txt", ios::out | ios::trunc);
plik <<i<<"\n";
for (short j = 0; j < i; j++)
{
plik <<samochod[j].marka<<endl;
plik <<samochod[j].model<<endl;
plik <<samochod[j].rok<<endl;
plik <<samochod[j].tablice<<endl;
}
cout << "Samochod zostal dodany:)" << endl;
}
void Zobacz()
{
if ( i != 0)
{
for (short j = 0; j < i; j++)
{
cout <<j+1<<". ";
cout <<"Marka: "<<samochod[j].marka<<endl;
cout <<"Model: "<<samochod[j].model<<endl;
cout <<"Rok produkcji: "<<samochod[j].rok<<endl;
cout <<"Tablice rejestracyjne: "<<samochod[j].tablice<<endl;
cout <<"-------------------------------------------" << endl;
}
}
else
cout <<"Nie ma zadnego samochodu w bazie!!";
}
void Wczytaj()
{
ifstream plik("warsztat.txt", ios::in);
plik >> i;
short j = 0;
do
{
plik >>samochod[j].marka;
plik >>samochod[j].model;
plik >>samochod[j].rok;
plik >>samochod[j].tablice;
j++;
} while( !plik.eof() );
cout <<"Lista zostala zaladowana" << endl;
}
void Szukaj()
{
string szukane;
cout<<"Podaj kryterium wyszukiwanie np. marke, model, rok:"<<endl;
getline(cin, szukane);
for(int k=0; k<=200; k++)
{
if(samochod[k].find(szukane)!=string::npos)
cout<<samochod[k]<<endl;
}
}
Czy może ktoś pomóc naprowadzić jak to naprawić tudzież nakierować na nową metodę?