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

c++problem z klasa

Object Storage Arubacloud
0 głosów
205 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 (194,920 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,000 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,000 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ź 284 wizyt
pytanie zadane 13 grudnia 2020 w PHP przez Anedroid Obywatel (1,530 p.)
0 głosów
1 odpowiedź 492 wizyt
pytanie zadane 31 lipca 2018 w PHP przez Adam Ostrogórski Obywatel (1,070 p.)

92,568 zapytań

141,420 odpowiedzi

319,620 komentarzy

61,954 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.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...