• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

c++problem z klasa

0 głosów
385 wizyt
pytanie zadane 8 stycznia 2021 w C i C++ przez Eriss69 Gaduła (4,470 p.)
//car.h
#include <string>
#ifndef CAR_H_
#define CAR_H_
class car
{
private:
    std::string m_name_car;
    std::string m_manufacturer;
    std::string m_country_of_origin;
    int m_capacity;
    int m_year;
    int m_price;
public:
    car(const std::string name_car,const std::string &man,const std::string &country,int cap=0,int year=0,int pc=0);
    ~car();
    void save_car(const std::string name_car);
    void show_all_car();
    
};

class wypozycz
{
private:
    std::string m_name;
    std::string m_surname;
    int pesel;
public:
    wypozycz(std::string m_n,std::string m_sur,int p);
    void GiveData();
    void show();
    void getCar();
};

#endif







//car.cpp
#include "car.h"
#include <iostream>

car::car(const std::string name_car, const std::string &man, const std::string &country, int cap, int year, int pc)
{
    m_name_car = name_car;
    m_manufacturer = man;
    m_country_of_origin = country;
    m_capacity = cap;
    m_year = year;
    m_price = pc;
}

car::~car()
{
}

void car::save_car(const std::string name_car)
{
    int n;
    std::cout << "How many car do u have?\n Enter: ";
    std::cin >> n;
    for (int i = 0; i < n; i++)
    {
        std::cout << "Enter name car: ";
        getline(std::cin, m_name_car);
    }
}
void car::show_all_car()
{

    for (auto i : m_name_car)
    {
        std::cout << "Cars: " << m_name_car[i] << std::endl;
    }
    std::cout << m_name_car;
}

wypozycz::wypozycz(std::string m_n, std::string m_sur,int p)
{
    m_name = m_n;
    m_surname = m_sur;
    pesel=p;
}

void wypozycz::GiveData()
{
    std::cout<<"Enter your name and surname: ";
    std::cin>>m_name >> m_surname;
    std::cout<<"Enter pesel: ";
    std::cin>>pesel;
    

}
void wypozycz::show()
{
    std::cout<< m_name << " "<< m_surname << " " << pesel;
}



//main.cpp
#include <iostream>
#include "car.h"
int main()
{
    std::cout << "-------------------" << std::endl;
    std::cout << "    CAR RENTAL" << std::endl;
    std::cout << "-------------------" << std::endl;
    std::string m_name_car;
    int pesel;
    std::string name,surname;
    std::string m_manufacturer;
    std::string m_country_of_origin;
    int m_capacity;
    int m_year;
    int m_price;
    car a(m_name_car,m_manufacturer,m_country_of_origin,m_capacity,m_year,m_price);
    wypozycz b(name,surname,pesel);
    // a.save_car(m_name_car);
    // a.show_all_car(); // jak pokazac wszystkie auta?
    b.GiveData();
    b.show();
}

Mam problem poniewaz stanalem i nie wiem jak dalej ruszyc,

[1]-Mianowicie chodzi o to ze jesli zapisuje auta to nie wiem jak je potem wyswietlic.

[2]-Jak zrobic zeby klient wypozyczal dane autko ;/

komentarz 9 stycznia 2021 przez j23 Mędrzec (195,240 p.)

O co chodzi z car::show_all_car? Dlaczego "wyświetlasz" (źle indeksujesz) nazwę po literze, a później w całości?

Dlaczego car::save_car pyta o ilość samochodów i później czyta ich nazwy? No i dlaczego save, a nie read?

Trochę to wszystko chaotyczne.

komentarz 11 stycznia 2021 przez Eriss69 Gaduła (4,470 p.)
pisane na szybko.. :/ wiem ze tak sie nie robi ale potrzebowalem tego :P a nazwy sie zmieni po prostu :P

1 odpowiedź

+1 głos
odpowiedź 8 stycznia 2021 przez edwardkraweznik Dyskutant (9,930 p.)

Musiałbyś doprowadzić do sytuacji aby każde wypożyczone auto jest nowym obiektem...

Możesz stworzyć tablicę obiektów:

class Klasa
{
public:
std::string ppp1;
std::string ppp2;
};

int main()
{
Klasa zmiennax[10]; // stworzy 10 obiektów klasy Klasa
zmiennax[5].ppp1 = "dupa"; // tak się można odwołać do zmiennej w danym obiekcie
}

Powyższy kod pisany z pamięci i nie testowany, wiem, że można to napisać lepiej.

komentarz 11 stycznia 2021 przez Eriss69 Gaduła (4,470 p.)
czyli w mainie sie pobawic tak? ale skąd wiem ile wypozyczalnia wprowadzi samochodów?
komentarz 11 stycznia 2021 przez tkz Nałogowiec (42,060 p.)

Istnieje coś takie jak mapa w c++. Struktura klucz-wartość. id-klasa_samochod. 

#include <string>
#include <unordered_map>

class car
{
    std::string make;
    std::string color;
    public:
    car(std::string _make, std::string _color): make{_make}, color{_color}{}

};

int main()
{
    using namespace std::literals;
    std::unordered_map<long, car> cars;
    cars.try_emplace(1, "vw"s, "black"s);
}

 

komentarz 13 stycznia 2021 przez Eriss69 Gaduła (4,470 p.)
ale jak to uzyc do tego programu? bo to co pokazales jest to jednego modelu?
komentarz 13 stycznia 2021 przez tkz Nałogowiec (42,060 p.)
#include <string>
#include <unordered_map>
 
class car
{
    std::string make;
    std::string color;
    public:
    car(std::string _make, std::string _color): make{_make}, color{_color}{}

    //dodaj getery i setery
};

//mozesz stworzyc klase na wzor bazy danych albo sewisu 
//poizsza funkcja bylaby metoda klasy "bazy"
//zmienna cars rowniez
car findCarById(long id, std::unordered_map<long, car> cars)
{
    return cars.at(id);
}

int main()
{
    using namespace std::literals;
    std::unordered_map<long, car> cars;
    cars.try_emplace(1, "vw"s, "black"s);
    cars.try_emplace(2, "mercedes"s, "red"s);
    cars.try_emplace(3, "toyota"s, "white"s);
    cars.try_emplace(4, "vw"s, "black"s);
}

Pierwsze pole jest takim ID, coś jak w baize danych. Reszta to pola klasy. 

komentarz 13 stycznia 2021 przez Eriss69 Gaduła (4,470 p.)
dzieki :d

Podobne pytania

+2 głosów
1 odpowiedź 378 wizyt
pytanie zadane 13 grudnia 2020 w PHP przez Anedroid Obywatel (1,530 p.)
0 głosów
1 odpowiedź 864 wizyt
pytanie zadane 31 lipca 2018 w PHP przez Adam Ostrogórski Obywatel (1,070 p.)

93,424 zapytań

142,421 odpowiedzi

322,646 komentarzy

62,785 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

VMware Cloud PRO - przenieś swoją infrastrukturę IT do chmury
...