c++ klassen



  • 😕 Hallo ich bräuchte mal hilfe bzw. denk anstöße ich sitz grad an meinen hausaufgaben und komm nicht weiter ( ich möchte nicht das einer meine hausaufgaben macht ich möchte nur etwas hilfe)

    und zwar lautet die aufgabe: erstellen sie eine klasse für getränke . Die Klasse soll den Namen des Getränks den preis pro flasche und die anzahl der flaschen speichern.
    😕
    so dies hier war mein ansatz : meint ihr ich bin auf dem richtigen weg oder bin ich weit davon entfernt?
    #include <iostream>

    using namespace std;

    class getraenk
    {
    string getraenk[4];
    string preis[4];
    int anzahlFlaschen[4];

    public:
    void init();
    int getraenkWaehlen();
    void getraenkAusgeben (int anzahl, int getraekeIndex);
    void kuehlen (bool anaus);
    };
    void getraenk::init()
    {
    getraenk[0] = "Limo";
    getraenk[1] = "Wasser";
    getraenk[2] = "Bier";
    getraenk[3] = "cola";

    anzahlFlaschen[0] = 10;
    anzahlFlaschen[1] = 10;
    anzahlFlaschen[2] = 10;
    anzahlFlaschen[3] = 10;

    preis[0] = 60;
    preis[1] = 70;
    preis[2] = 80;
    preis[3] = 90;

    }

    das ist nur der anfang weiter komm ich noch nicht 😕 😕 😕 😕



  • Nee, du kapselst ja Gleich die Getränkeliste in einer Klasse, würd ich nicht machen. Die Klasse Getränk (ich halte deutsche Bezeichner im Quellcode übrigens für ganz schlechten Stil) sollte nur jeweils einen Preis, Namen usw. enthalten. Und dann hälst du dir eine Liste (z.b. std::vector) von Getränken.



  • Falsches Forum: Hier ist C++/CLI, dein Code ist sowas wie C++.



  • Du meinst eine Klasse zb. namens getraenk in der dann die cola ist mit preis 1,20 und 10 flaschen z.b
    oder wie meinst du das?



  • Wie waers damit?

    class Getraenk
    {
    public:
    	string name;
    	int preis;
    	int anzahlFlaschen;
    
    	// Konstruktor
    	Getraenk( string a_name, int a_preis, int a_anzahlFlaschen )
    		: name(a_name), preis(a_preis), anzahlFlaschen(a_anzahlFlaschen)
    	{}
    }; 
    
    int main()
    {
    	Getraenk limo( "Limo", 10, 100 );
    	cout << "Name: " << limo.name << endl;
    	cout << "Preis: " << limo.preis << endl;
    	cout << "Anzahl Flaschen: " << limo.anzahlFlaschen << endl;
    }
    

    Dann kannst du fuer jedes Getraenk ein Objekt der Klasse Getraenk erzeugen und ueber den Konstruktor den Namen, den Preis und die Anzahl der Flaschen angeben.

    Wenn man will kann man die Daten in der Klasse noch kapseln. Sollte in diesem Fall allerdings nicht noetig sein.



  • Vielen dank
    auf diese idee wäre ich gar nicht gekommen , daran habe ich mit keiner silber mehr gedacht .
    ich werde dies gleicht ausprobieren vielen dank! 👍 👍 👍 👍 👍 😃



  • Kann ich in dem ganzen auch eine Auswahl treffen?



  • evy19 schrieb:

    Kann ich in dem ganzen auch eine Auswahl treffen?

    Was meinst du?



  • könnte ich danach auch weiter machen und zb. sagen such dir eins der getränke aus?

    Nicht wirklich oder .
    Denn ich habe hier ein skript von einem Getränkeautomaten nicht wirklich spannent aber ich soll die atribute von diesem skript durch instanzen der neuen klasse ersetzen.

    so instanzen erzeugen ja klar kein thema aber ich versteh den zusammen hang nicht.
    für was soll ich den hier instanzen bilden?
    ok ich steh am schlauch sollte mal aufstehen und um den Tisch laufen evt. wird es ja dann besser.



  • Du kannst einen Automaten damit simulieren. Allerdings musst du das noch programmieren. Hier eine kurze und nicht wirklich ausgereifte Version eines Autoamten

    int main()
    {
    	Getraenk limo( "Limo", 10, 100 );
    	Getraenk cola( "Cola", 10, 100 );
    
    	char input = ' ';
    	while ( input != '0' ) // 0 eingeben, um das Programm zu beenden.
    	{
    		cout << "Fuer Limo waehlen Sie die 1, fuer Cola die 2: " << endl;
    		cin >> input;
    		switch( input )
    		{
    			case 1: cout << "Die Limo kostet " << limo.preis << " Cents" << endl;
    					limo.anzahlFlaschen--;
    					break;
    			case 2: cout << "Die Cola kostet " << cola.preis << " Cents" << endl;
    					cola.anzahlFlaschen--;
    					break; 
    		}
    	}
    }
    

    Wie gesagt: Ist nicht ausgereift und getestet. Habe gerade wenig Zeit, da ich am kochen bin 😉



  • ich danke dir viel mals das du dir die zeit genommen hast danke schön
    ich wünsche dir noch ein schönes osterwochenede 🙂



  • evy19 schrieb:

    ich wünsche dir noch ein schönes osterwochenede 🙂

    Danke. Wuensche ich dir auch. 🙂


Anmelden zum Antworten