[Win32 Konsole] string festlegen, ausgeben



  • Hallo ich bins nochmal. 😞

    Wie kann ich denn strings festlegen?
    Beispiel:

    #include <string>
    string Handschuh;
    string Schwert;
    usw...
    

    Versuche mich nähmlich mal an einem "Mini-Spiel", wo man halt kaufen kann und so. ( da kann ich schön üben mit den Funktionen und so)

    Oder kann ich sie irgendwo hinterlegen? Quasi reinladen...

    Da mit den da steht:

    string-modus = on
    $1 = Handschuh
    $2 = Schwert
    stringmodus = off
    
    cout<<"Du erhälst ein "<<$1<<endl;
    

    Ich hoffe ihr versteht was ich meine... 😞

    Ich bedanke mich schonmal für alle Antworten. ⚠



  • meinst du ein array? ( oder einen vector)

    oder abspeichern in einen textfile?



  • also ich meine das so:

    Eine Datenbank wo ich halt alle Gegenstände drin habe und sie jeder zeit reinladen kann...

    Die "imaginäre" Datenbank:

    set Handschuh = $01
    set Schwert = $02
    usw...
    

    Dann als Menü:

    Was willst du kaufen?

    1.) $01 (das wäre der Handschuh)
    2.) $02 (das wäre das Schwert)

    cout<<"Du hast soeben ein "<<$01<<" gekauft."
    

    PS: wo wir schonmal dabei sind, wie bekomme ich das eigentlich hin mit der Abfrage was ich nun machen will?

    Beispiel:

    cout<<"Was willst du nun machen? (1=Kaufen,2=Inventar,3=Beenden)
    

    Kann ich das nicht als Funktion irgendwo definieren und dann immer abrufen?



  • Also für deine Gegenstände schlag ich dir mal eine struct vor.

    Beispiel:

    typedef struct gegenstand
    {
       char name[30];
       int schaden;
       int schutz;
       ... //und noch andere Eigenschaften
    }gegenstand;
    

    Dann machst du dir am besten ein dynamisches Array daraus (malloc()) und liest deine Gegenstände aus einer Datenbank oder aus einer Datei o. ä. ein und speicherst diese im Array.

    Deine Kauf-Funktionalität solltest du sogar am besten in eine Funktion kapseln.

    Wenn du allerdings jetzt überhaupt keine Ahnung hast was ich meine, empfehle ich dir erst mal ein Buch über C-Grundlagen zu besorgen und dieses durchzuarbeiten.



  • guckt euch mal folgenes an: (zur zeit die aktuelle version 😃 )

    #include <iostream>
    #include <stdlib.h>
    // ------ Hier Funktionen rein ------
    using namespace std;
    // ------ Los gehts --------
    int main()
    {
        float geld;
        int menge;
        int angebot;
        float y;
        cout<<"\n";
        cout<<"Startgeld: ";
        cin>>geld;
        cout<<"Du hast "<<geld<<" Goldmuenzen."<<endl;
        cout<<"Was willst du kaufen? (20 Gold pro Stueck)"<<endl;
        cout<<"--------------------------"<<endl;
        cout<<"Angebot:"<<endl;
        cout<<"1.) Buch"<<endl;
        cout<<"2.) Apfel"<<endl;
        cout<<"3.) Schwert"<<endl;
        cout<<"4.) Eisen"<<endl;
        cout<<"Kaufen: "<<endl;
        cin>>angebot;
        switch(angebot)
        {
        case 1:
        cout<<"Du hast dich fuer Brot entschieden."<<endl;
        break;
        case 2:
        cout<<"Du hast dich fuer Apfel entschieden."<<endl;
        break;
        case 3:
        cout<<"Du hast dich fuer Schwert entschieden."<<endl;
        break;
        case 4:
        cout<<"Du hast dich fuer Eisen entschieden."<<endl;
        break;
        }
        cout<<"Wie viele willst du haben? (max 3)"<<endl;
        cin>>menge;
        switch(menge)
        {
        case 1:
        cout<<"Du hast "<<menge<<" gekauft."<<endl;
        cout<<"Du hast noch "<<geld-menge*20<<" Goldmuenzen."<<endl;
        break;
        case 2:
        cout<<"Du hast "<<menge<<" gekauft."<<endl;
        cout<<"Du hast noch "<<geld-menge*20<<" Goldmuenzen."<<endl;
        break;
        case 3:
        cout<<"Du hast "<<menge<<" gekauft."<<endl;
        cout<<"Du hast noch "<<geld-menge*20<<" Goldmuenzen."<<endl;
        break;
        }
        cout<<"Kauf abgeschlossen!"<<endl;
        cout<<"Willst du dein Inventar einsehen? (1= Ja, sonst Nein)"<<endl;
        cin>>y;
        if (y==1)
        cout<<"Du besitzt "<<geld<<" Goldmnzen."<<endl;
        else
        cout<<"Inventar nicht eingesehen."<<endl;
      // Press any key to continue...              
      system("PAUSE");	
      return 0;
    }
    

    So, nun wollte ich halt die Namen (was willst du kaufen?) halt als string, so dass ich sie nicht immer selber hinschreiben muss.

    Beispiel:

    cout<<"Du hast ein "<<Gegenstand<<" gekauft und das "<<Anzahl<<" mal"<<endl;
    

    nur das das halt immer kommt. Auch das mit der Anzahl muss irgendwie besser gehen, denn ich will ja nicht vorschreiben wie oft man das kauft.

    Man stelle sich vor jemand will das Schwert, oder was weiß ich, 135 mal kaufen, dann müsste ich ja 135 das Ereignis definieren. 😮



  • Hmmm ich glaube ja glatt, dass du noch nicht so weit bist, so etwas zu programmieren. Wie gesagt besorg dir ein C(++)-Buch und lerne erstmal die Grundlagen von dynamischer Speicherreservierung.

    Mal ne blöde Frage: Warum fragst du die Menge in einem Switch ab, wenn du in den einzelnen Cases sowieso das gleich stehen hast?!?



  • Mal ne blöde Frage: Warum fragst du die Menge in einem Switch ab, wenn du in den einzelnen Cases sowieso das gleich stehen hast?!?

    Antwort:

    Lamer = Ein Lamer ist jemand der es sprichwörtlich einfach nicht drauf hat.

    Nein, ich wusste es nur nicht besser. So hab ich das nun mal gemacht, sry. 😞



  • @mettwurzt
    Bitte versteh mich nicht falsch. Ich finde es sogar sehr gut, dass du dir das vorgenommen hast. Es ist sicherlich eine super Übung und du wirst dadurch einiges lernen, aber du musst dir vorher unbedingt bestimmte Kenntnisse aneignen. Wenn du mal nicht weiter weißt oder du etwas nicht verstanden hast, dann kannst du natürlich hier im Forum jederzeit nachfragen. Es gibt genügend Leute, die dir das gerne erklären. 😉

    Ich wünsche dir noch viel Erfolg bei deinem Projekt.



  • ich werde mir mal das Buch

    C++ für Dummies

    kaufen.

    Und mir das Buch von dem "entwickler" von c++ von meinem Freund ausleihen.

    Mal gucken


Anmelden zum Antworten