Nakierowanie na realizację programu.

0

Witam wszysktich zajmujących się programowaniem. Chociaż blisko mi już do czterdziestki to i mnie życie zmusiło do nauki programowania. W tym przypadku chodzi o C++.

Mam do przygotowania program, który będzie prowadził samochodową ewidencję przebiegu i wydatków. W tym momencie mam klasę "Tankowanie" realizującą pojedynczy zapis tankowania. Klasa "Tankowania" powinna zbierać do tablicy kolejne tankowania i je analizować. Klasę "Tankowania" zaproponował mi mój prowadzący i szczerze do końca nie wiem jak ją ugryźć.
Czy mógłby mi ktoś zaproponować w jaki sposób wypełnić tablicę? Poniżej kod:

#include <iostream>
#include <string>
using namespace std;

class Tankowanie                    //klasa zawierajaca skladniki pojedynczego tankowania.
{
public:
    float litr;
    float cena;
    int stan_licznika_przy_tankowaniu;

    void dodaj_tankowanie (){
    cout << "Podaj ilosc zatankowanego paliwa: "<<endl;
    cin >> litr;
    cout << "Podaj cene jednego litra paliwa: "<< endl;
    cin >> cena;
    cout << "Podaj stan licznika w momencie tankowania: "<< endl;
    cin >> stan_licznika_przy_tankowaniu;
    }
};

class Tankowania                    //Klasa zawieraj¹ca zbiór wszystkich tankowan.
{
private:
    Tankowanie *tankowanie[10];
    int licznik;
    Tankowania() {
        licznik=0;
        for (int x=0; x<10; x++) {
            tankowanie[x] = NULL;
        }
    }
    void dodaj(Tankowanie *t)
    {
        tankowanie[licznik]=t;
        licznik++;
    }
    float laczna_ilosc_paliwa() {
        float ilosc_paliwa = 0;
       for (int x=0; x<licznik; x++) {
           ilosc_paliwa = ilosc_paliwa + tankowanie[licznik].litr;
       }
    }
};

int main()
{
    Tankowanie wprowadzenie_tankowania;

    cout<<"Dodaj tankowanie"<<endl;
    wprowadzenie_tankowania.dodaj_tankowanie();     //Wywolanie funkcji ktora pozwala na wprowadzenie pojedynczego tankowania

    cout<< wprowadzenie_tankowania.litr;            //ta linia do przetestowania wprowadzonej wartoœci

//system ("pause");
return 0;
}
0
Tankowanie *tankowanie[10];

to jest na pewno zle ;) ale wracajac do Twojego pytania

Najlepiej bedzie jak przejrzysz sobie jak dziala funkcja vector (mozesz po googlowac, na pewno znajdziesz jak ktos napisal wlasna)
http://www.cplusplus.com/reference/vector/vector/

po zrozumieniu jak dziala vector nie bedziesz miec zadnych problemow ze swoim zadaniem

PS nie powinno sie uzywac system("pause")

dodanie znaczników <code class="cpp"> i `` - fp

0
Tankowanie *tankowanie[10];

Wiem, że to jest źle. Zadeklarowana wartośc 10 jest w tym momencie przykładowa - tak abym mógł z czymś wystartować. Czy można zrobić dziedziczenie klasy Tankowania z klasy Tankowanie?

dodanie znacznika <code class="cpp"> - fp

0

nie przeczytales mojego postu ze zrozumieniem lub go zignorowales (ta najwazniejsza rzecz)

NIE WOLNO w tym przypadku dziedziczyc

Wyobraz sobie ze masz szafke a w niej 10 paczek czekolady. Czy szafka powinna dziedziczyc czekolade? albo na odwrot? Wlasnie takie pytanie zadales. Oprocz zbieznosci nazw tu nie powinno byc cech wspolnych dzieki ktoremu mozemy to dziedziczyc.

tankowania to jest struktura w ktorej znajduja sie tankowanie. Dlatego napisalem Ci zebys zrozumial jak dziala vector. Bo tankowania bedzie dzialac bardzo podobnie do vectora.

1 użytkowników online, w tym zalogowanych: 0, gości: 1