Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <fstream>
- #include <string>
- #include <vector>
- #include <algorithm>
- using namespace std;
- struct Automobil{
- string imeAuta;
- string regAuta;
- };
- int izbornik(vector<Automobil>& automobili){
- cout << "Unesite izbor:\n";
- cout << "1. Ispis automobila\n";
- cout << "2. Unos automobila\n";
- cout << "3. Brisanje automobila\n";
- cout << "4. Izlaz\n";
- char temp;
- string tempAuto,tempAuto1;
- cin >> temp;
- cin.ignore();
- switch(temp){
- case '1':
- ispis(1,automobili);
- break;
- case '2':
- cout << "Unos automobila\n";
- cout << "Unesite vrstu: ";
- getline(cin, tempAuto);
- cout << "Unesite registraciju: ";
- getline(cin, tempAuto1);
- unos(tempAuto, tempAuto1,automobili);
- break;
- case '3':
- ispis(0, automobili);
- cout << "Unesite vrstu automobila za obrisati:";
- getline(cin, tempAuto);
- brisanje(tempAuto,automobili);
- break;
- case '4': return -1;
- default:
- cout << "Neispravan odabir.\n";
- break;}
- return 0;
- }
- void ucitajBazu(vector<Automobil>& automobili){
- ifstream infile("automobili.txt");
- if (infile.is_open())
- {
- Automobil noviAutomobil;
- while(getline( infile, noviAutomobil.imeAuta, '|' ) && getline( infile, noviAutomobil.regAuta ,'\n')){
- automobili.push_back(noviAutomobil);
- }
- infile.close();
- }else cout << "nemogu otvoriti bazu.\n";
- }
- void zapisiBazu(vector<Automobil>& automobili){
- ofstream myfile ("automobili.txt");
- if (myfile.is_open()){
- for(unsigned int i = 0; i<automobili.size(); i++){
- myfile << automobili[i].imeAuta << "|" << automobili[i].regAuta << "\n";
- }
- myfile.close();
- } else cout << "nemogu otvoriti bazu.\n";
- cout << "zapisano u bazu\n";
- return;
- }
- void ispis(int foo,vector<Automobil>& automobili){
- for(unsigned int i = 0; i<automobili.size(); i++){
- cout << automobili[i].imeAuta << "(" << automobili[i].regAuta << ")\n";
- }
- if(foo){
- cout << "Povratak na glavni izbornik\n";
- cin.ignore();
- }
- }
- void unos(string autoZaUnos, string regZaUnos, vector<Automobil>& automobili){
- Automobil noviAutomobil;
- noviAutomobil.imeAuta = autoZaUnos;
- noviAutomobil.regAuta = regZaUnos;
- automobili.push_back(noviAutomobil);
- cout << "Automobil uspjesno unesen\n";
- cout << "Povratak na glavni izbornik\n";
- cin.ignore();
- }
- void brisanje(string imeAutaZaBrisanje, vector<Automobil>& automobili){
- // https://en.wikipedia.org/wiki/Erase%E2%80%93remove_idiom
- automobili.erase(remove_if(automobili.begin(), automobili.end(), [&](Automobil const & automobil) {return automobil.imeAuta == imeAutaZaBrisanje;}), automobili.end());
- cout << "Povratak na glavni izbornik\n";
- cin.ignore();
- }
- int main(){
- vector<Automobil> automobili;
- ucitajBazu(automobili);
- while(izbornik(automobili)!=-1);
- zapisiBazu(automobili);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement