string



  • ich bin leider ganz neu und kenn mich noch nicht aus deswegen frag ich einfach ma hier:
    #include <iostream>
    #include <string>
    #include <conio.h>
    using namespace std;
    void main()
    {
    string name;
    cout<<"Wie heisst Du? ";
    cin>>name;
    cout<<"Hi, "<<name<<'!'<<endl;
    string was;
    cout<<"Spielst du Handball?";
    cin>>was;

    cout<<"Du spielst also Handball";
    cout<<"Du spielst also kein Handball";
    getch();
    }

    Ich würd das gerne so machen das wenn man kein handball spielt die ausgabe "Du spielst also kein Handball" aufgerufen wird ,da das aber von der antwort abhängt die ja entweder ja oder nein sein kann bekomm ich das mit if und else nicht hin .ich würde gerne buchstaben definieren das wenn die eingabe(cin>>was) was z.b ==dem wort auto ist das dann eine völlig andere funktion oder eine andere ausgabe aufgerufen wird danke



  • switch(Was)
    {
    case 'Ja': 
              cout << "du spielst";
              break;
    default : 
              cout << "du spielst nicht";
              break;
    }
    


  • nö, compiliert nichtmal.

    // funktioniert nur, weil was ein std::string ist
    if (was == "ja")
     ...
    


  • Danke aber wenn ich das einfüge sagt der compiler:(15): error C2450: switch-Ausdruck des Typs 'std::string' nicht zulässig



  • Danke ich hab es sonst immer so probiert if==ja und hab mich gewundert das es nicht funktioniert ich wusste nicht das man das mit den " machen muss nochmal danke



  • shit stimmt ... sorry
    habs net getestet 😉

    [ Dieser Beitrag wurde am 20.03.2003 um 19:11 Uhr von 1ntrud0r editiert. ]



  • switch leider nur nach ganzahlen (auch char gehören dazu)

    nach strings geht nur in php ... leider ...



  • Ich hab noch ne Frage wie mach ich das
    cout<<"blablaba,"<<name und jetzt will ich blablabla fortsezten <<alter und jetzt wieder blabla ?
    so ?
    cout<<"blablabla,"<<name,"blablabla,"<<alter,"
    wie mach ich das???

    [ Dieser Beitrag wurde am 20.03.2003 um 20:08 Uhr von Darko editiert. ]



  • cout << blahbla << "blah" << "blub" << 42 << blubber << etc...



  • aber wenn ich jetzt z.b. schreibe cout<<"du heisst,"<<name(den ich ja schon vorher definiert habe)und jetzt will ich weiter machen mit: und du bist,"<<alter jahre alt und wohnst in,"<<wohnort
    als fertiger text soll rauskommen: du heisst fritz und du bist 30 jahre alt und du wohnst in berlin

    dann haut das nicht hin



  • Original erstellt von Darko:
    aber wenn ich jetzt z.b. schreibe cout<<"du heisst,"<<name(den ich ja schon vorher definiert habe)und jetzt will ich weiter machen mit: und du bist,"<<alter jahre alt und wohnst in,"<<wohnort
    ...
    dann haut das nicht hin

    cout << "du heisst " << name << " und du bist " << alter << " jahre alt und wohnst in " << wohnort << ".\n";
    

    Denk bitte auch selbst ein bisschen mit.



  • Nach welchem seltsamen Muster setzt du denn deine ""?

    cout << "Du heißt " << name << " und bist " << alter << " Jahre alt." << endl;



  • ich depp ,danke



  • Original erstellt von elise:
    **switch leider nur nach ganzahlen (auch char gehören dazu)

    nach strings geht nur in php ... leider ...**

    sagma ne blöde frage .. mit typedefs kann man neue types machen .. allet klar aber .. kann man auch neue schleifen machen .. z.B. ne improved ... switch schleife ... bzw. die switch schleife mit nem string überladen ?



  • switch schleife

    Was'n das? Ein Ableger der sagenumwogenden if-Schleife? 😃

    sagma ne blöde frage .. mit typedefs kann man neue types machen .. allet klar aber .. kann man auch neue schleifen machen

    Nein .. das.. geht .. nicht ..

    [ Dieser Beitrag wurde am 20.03.2003 um 23:31 Uhr von HumeSikkins editiert. ]



  • Original erstellt von HumeSikkins:
    [quote] switch schleife

    **
    Was'n das? Ein Ableger der sagenumwogenden if-Schleife? 😃

    sagma ne blöde frage .. mit typedefs kann man neue types machen .. allet klar aber .. kann man auch neue schleifen machen

    Nein .. das.. geht .. nicht ..

    [ Dieser Beitrag wurde am 20.03.2003 um 23:31 Uhr von [qb]HumeSikkins** editiert. ][/QB][/QUOTE]

    nich trollen hume sikkins 😉
    die Ausdrucksweise war noch nie meine stärke so long solang du weißt was ich mein ... hat es trotzdem sein zweck erfüllt 🙄

    damn ich habs rausgefunden wie 😉
    mit maps und func pointern kann man sowas wie nen php switch nachbaun ...



  • try this

    #define SWITCH(str) do{ std::string bla(str); if(0) {
    #define CASE(casestr) } else if(bla == (casestr)) {
    #define ENDSWITCH } }while(0);
    
    int mian()
    {
        SWITCH("HALLO")
            CASE("UGA")
            {
                // ...
            }
            CASE("BAR")
            {
                // ...
            }
        ENDSWITCH
    }
    

    die CASE klammern sind optional

    [ Dieser Beitrag wurde am 21.03.2003 um 01:52 Uhr von Dimah editiert. ]


Anmelden zum Antworten