produkty z automatu na klasach:D

0

Witam, pisze program ktory wydaje reszte z automatow. To z wydawaniem juz mam, tylko teraz chce zrobic menu na klasach. Chce zapisac nazwy przedmiotów w klasie z cena i zeby potem wypisywalo na ekran. Nie bardzo wiem jak sie za to zabrac zeby w miare wygladalo, prosze o pomoc:)

 cout << "Produkty dostepne w maszynie to: "            << endl
       << "1. Coca Cola                cena: 3,50"       << endl
       << "2. Pepsi                    cena: 3,20"       << endl
       << "3. Twix                     cena: 1,90"       << endl
       << "Wrzuc monety z nominalu 0,10; 0,20; 0,50; 1; 2; 5;"                                 << endl;
       cin>>a;
       
       cout<< "Wybierz numer produktu, ktory chcesz kupic "  << endl;
       cin >> ktory;
       switch(ktory)
       {
                    
                    
                    case 1:
                        
                         cout << "Wybrales produkt Coca Cola, ktorego wartosc to 3,50 zl" << endl;
                         cout << "Wrzuciles " << a << " zl" << endl;
                         cena = 3.50;
                         break;
                    case 2:
                         cout << "Wybrales produkt Pepsi, ktorego wartosc to 3,20 zl" << endl;
                         cout << "Wrzuciles " << a << " zl" << endl;
                         cena = 3.20;
                         break;
                    case 3:
                         cout << "Wybrales produkt Twix, ktorego wartosc to 1,90 zl" << endl;
                         cout << "Wrzuciles " << a << " zl" << endl;    
                         cena = 1.90;             
                         break;
0

Menu na klasach? Co to w ogóle znaczy? Zapomnij. Bo jasno widać że pojęcia nie masz o OOP...

0

moze i kur*a nie ma, bo go jakis frajer uczy w szkole, co pieprzy cala lekcje o dupie Maryny, a potem zrobcie to sami..

0

To w takim razie gdzie w takim programie mógłbym użyć klas, bo pasowałoby żeby się gdzieś znalazły;D

0

Można cały ten program napisać obiektowo, ale to będzie wymagało napisania 90% kodu od nowa. Swoją drogą temat programu to jest problem czysto algorytmiczny, wiec to też trochę bez sensu...

0

Mozna troche jasniej, co myslalbym zmienic bo chyba nie algorytm? Program pisze jako projekt do szkoly to troche chcilabym go urozmaicic.

0

Jedyne sensowne rozwiazanie które przychodzi mi do głowy to:
klasy odpowiedzialne za Produkty (klasa bazowa abstrakcyjna + klasy dziedziczące), tu można nawet jakiś polimorfizm wrzucić.
"koszyk" (wybrane produkty), tutaj ew można użyć zwykłego kontenera jakiegoś.
"automat" czyli kontener z tym co mamy aktualnie na stanie w automacie
User dodaje do "koszyka" co tam chce z "automatu", potem wypisuje mu się co chce kupić i jaka jest lączna cena, on wpisuje ile wrzucił a potem algorytm oblicza resztę (mam nadzieję że tutaj wykorzystałeś dynamiczny algorytm który wydaje resztę w sposób optymalny, uwzględniając dostępne nominały oraz fakt że niektóre nominały mogą się skończyć...)

0

Menu obiektowo :D Istnieją w C++ klasy statyczne?;>

0

A co to jest klasa statyczna? o_O

0

głupia nazwa na static class np. w C#, czyli taka klasa, ktora definiuje tylko metody i wlasnosci klasy i ani jednej metody/wlasnosci obiektu
nie, w C++ nie ma czegos takiego. Nie jest to do niczego potrzebne, chociaz czase mogloby sie przydac dla lepszej kontroli w czasie kompilacji.

0

Menu na klasach? Co to w ogóle znaczy?

A czemu nie? klasa Menu, MenuItem i takie tam podobne.
Tylko że to trzeba z sensem...

0
wektor napisał(a)

Menu obiektowo :D Istnieją w C++ klasy statyczne?;>

boże.. dopiero po odpowiedzi Azarien'a skojarzyle, do czego wektor pije..

wektor.. bacz na ten tajny trick:

class MenuWTF{public: double getX() {return sqrt(-1);} };

MenuWTF THA_MENU;    // obiekt globalny, jeden. nawet bez static'a, extern'owalny na inne moduly. taka pradawna mozliwosc w C/C++

void f();

int main() { f(); }

void f()
{
    THA_MENU.getX();
}

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