Ich weiß nicht was ich falsch gemacht habe



  • this->that schrieb:

    Kann sein das noch was anderes falsch is, aber es ist schon spät. 😃

    Wohl eher früh. 😉 (Was machst du nur um diese Zeit am PC?!)

    @eliasdfg(der Anfänger):
    Das nächste mal liegt es nahe:
    1. Die Compilerfehler zu lesen und
    2. Wenn du immernoch nicht weisst, was los ist diese Fehlermeldungen auch posten.

    Immerhin hast du die cpp-Tags gefunden! 👍



  • while (std::string;(buffer1) == 'nein' );
    

    jetzt kommt eine Fehlermeldung:

    Zeile 20: no match for ´operator==´ in string (((const char*)((char*)...usw.



  • ein ; und zwei ' müssen weg und zwei " dazu



  • Das Ganze sieht inzwischen so aus:

    #include <string>
    #include <iostream>
    
    int main()
    {
        char buffer0[20];
        char buffer1[5];
        do
        {
             std::cout << "Gib deinen Namen ein: " << std::flush;
             std::cin.get(buffer0, 20);
             std::cout << "Du heißt also" << buffer0 << "?Stimmt das?" << std::endl;
             std::cout << "(gib ja oder nein ein):" << std::flush;
             std::cin.get(buffer1, 5);
             if (buffer1[5] == 'ja')
          break;
          }
          while (std::string (buffer1) == "nein" );
    
          std::cout << "Gut du bist also " << buffer0 << "schön dich zu sehen" std::endl;
        }
    

    Es erscheinen die Fehlermeldungen:

    Z.15: [Warning] compansion is always false due to limited range of data type
    Z.20: expected `;´ before "std"

    Z.20 hab ich schon vor und nach jedem "std" ein ´;´ gestzt.
    Z.15 😕



  • Da hat dich der Compiler verarscht. Eigentlich will er ein << vor dem letzten std.

    Die if bedingung muss so sein wie die while, oder gleich von std::cin in std::string einlesen.



  • Danke jetzt gehts 😃 👍



  • Ich hätt da noch ne Frage wie kannich es so proggen ,dass es ein Cursor für "ja" und "nein" gibt?



  • hi,
    hatte gerade ma den code von eliasdfg, in me dev kopiert.

    der dev zeigt mir so ca. 50 fehler an(folgef.)

    :xmas1: :xmas2:



  • Bei mir (auch DEV C++) gibt der Code:

    #include <string>
    #include <iostream>
    
    int main()
    {
        char buffer0[20];
        char buffer1[5];
        do
        {
             std::cout << "Gib deinen Namen ein: " << std::flush;
             std::cin.get(buffer0, 20);
             std::cout << "Du heißt also" << buffer0 << "?Stimmt das?" << std::endl;
             std::cout << "(gib ja oder nein ein):" << std::flush;
             std::cin.get(buffer1, 5);
             if (std::string (buffer1) == "ja")
          break;
          }
          while (std::string (buffer1) == "nein" );
    
          std::cout << "Gut du bist also " << buffer0 << "schön dich zu sehen" << std::endl;
        }
    

    keine Fehler



  • bei mir versucht er in anderen header dateien zu öffnen.
    daraus resultieren jede menge fehler.
    weis wer rat?? :xmas1: :xmas2:



  • chi schrieb:

    bei mir versucht er in anderen header dateien zu öffnen.

    Den Satz verstehe ich nicht.. :xmas2:



  • #include<iostream>
     #include <string>
    
      int main()
      {
        char a;
        char b;
        do
        {
            cout<<"Gib deinen Namen ein ein: ";
            cin>>a;
            cout<<"Du heißt also" << a << ".Stimmt das?";
            cout<<"(gib ja oder nein ein)";
            cin>>b;
            if ( b == "ja")
          break;
        }
        while ( b == "nein");
        cout<<"schön dich zu sehen" << a << ".";
      }
    

    nachdem das andere nicht funktioniert hat hab ich das versucht aber bei
    Z.15 und Z.18 meckert der: Iso C++ irgendwas...



  • Du vergleichst einen char mit einem const char* (Zeichenkettenliteral).

    Dev-C++ solltest du allerdings nicht verwenden, da es veraltet ist und nicht mehr entwickelt ist. Benutze doch MSVC++ 2008 Express oder Code::Blocks.



  • Nexus schrieb:

    Du vergleichst einen char mit einem const char* (Zeichenkettenliteral).

    Also was soll ich machen???



  • eliasdfg(der Anfänger) schrieb:

    Nexus schrieb:

    Du vergleichst einen char mit einem const char* (Zeichenkettenliteral).

    Also was soll ich machen???

    Aus b einen std::string, anstatt ein char machen..



  • drakon schrieb:

    this->that schrieb:

    Kann sein das noch was anderes falsch is, aber es ist schon spät. 😃

    Wohl eher früh. 😉 (Was machst du nur um diese Zeit am PC?!)

    Hatte Absolventenfeier und hab danach noch das Spiel Bayern vs. Hoffenheim gesehen. Da wurde es dann etwas... später. 😃 :xmas1:



  • #include<iostream>
    #include <string> //wieso hattest du string inkludiert ohne es zu benutzen?
    using namespace std; //wie willst du cout und cin ohne std benutzen?
    
    int main()
    {
        string a; //auch nicht ohne std, by the way, tolle namensgebung
        string b;
        do
        {
            cout<<"Gib deinen Namen ein ein: ";
            cin>>a;
            cout<<"Du heisst also " << a << ". Stimmt das?\n"; /*wenn du nicht den
                                                                 hexacode hast,
                                                                 kannst du auch kein
                                                                 ä,ö,ü,ß.. schreiben
                                                               */
            cout<<"(gib ja oder nein ein)";                    
            cin>>b;                                            
            if (b == "ja")
            break;
        }
        while (b == "nein");
        cout<<"schoen dich zu sehen" << a << "."; //same here
    }
    

    Dieser Code funktioniert jetzt.



  • hallo FreakY<3Cpp,
    mein dev zeigt immer noch fehler..............



  • chi schrieb:

    hallo FreakY<3Cpp,
    mein dev zeigt immer noch fehler..............

    Dann ist es kaputt, installier mal windows neu



  • 😃 ,
    der war gut :p


Anmelden zum Antworten