stoi issue

mail@pastecode.io avatar
unknown
c_cpp
3 years ago
2.1 kB
2
Indexable
Never
#include <iostream>
#include <vector>
#include <fstream>
#include <string>
using namespace std;

class Autobus{
friend int najstarszy(vector <Autobus> vec);
private:
    int liczba_miejsc;
    string nr_rejestracyjny;
    int rok_produkcji;
public:
    Autobus(){cout << "KONSTRUKTOR BEZPARAMETROWY AUTOBUS" << endl;}
    Autobus(int c_miejsca, string c_rejestracja, int c_rocznik){
        liczba_miejsc = c_miejsca;
        nr_rejestracyjny = c_rejestracja;
        rok_produkcji = c_rocznik;
    }
    void zapis_do_pliku(string nazwa){
        ofstream target(nazwa, ios::out | ios::app);
        target<<liczba_miejsc<<";"<<nr_rejestracyjny<<";"<<rok_produkcji<<"\n";
        target.close();
        cout << "Zakonczono zapis do pliku" << endl;
    }
    bool operator==(Autobus obj){
        if(liczba_miejsc == obj.liczba_miejsc){
            cout << "Tyle samo" << endl;
            return true;
        }
        else{
            cout << "Nie tyle samo" << endl;
            return false;
        }
    }
    void show(){
        cout << "Liczba miejsc: " << liczba_miejsc << "\nRejestracja: " << nr_rejestracyjny << "\nRocznik: " << rok_produkcji << endl;
    }
};

int najstarszy(vector <Autobus> vec){
    int rocznik = vec[0].rok_produkcji;
    for(int i=0; i<vec.size()-1; i++){
        if(vec[i+1].rok_produkcji<vec[i].rok_produkcji){
            rocznik = vec[i+1].rok_produkcji;
        }
    }
    return rocznik;
}


int main(){
    Autobus obj1(5,"LUB123",2000);
    Autobus obj2(6,"LLE321",1995);
    obj1.zapis_do_pliku("pliczek.csv");
    obj1==obj2;


    vector <Autobus> autobusy;
    ifstream file("autobusy.txt");
    string kol1, kol2, kol3, naglowki;
    getline(file,naglowki);
    while(file.good()){
        getline(file,kol1,';');
        getline(file,kol2,';');
        getline(file,kol3,';');
        autobusy.push_back(Autobus(stoi(kol1),kol2,stoi(kol3)));
    }
    file.close();
    for(int i=0; i<autobusy.size(); i++){
        autobusy[i].show();
    }
    return 0;
}