Visual C++ 2010 Express erkennt kein STRING & SWITCH



  • Kira schrieb:

    ... aber er erkennt das...nicht

    Meine Glaskugel ist leider seit 33 Jahren in der Reparatur.

    Formuliere bitte deine Posts so, das wir nicht raten müssen, was deine Probleme sind. Was heißt "er erkennt das nicht"? Gibt es eine Fehlermeldung? Und wenn ja, welche?



  • 1>*.cpp(354): error C3861: "getch": Bezeichner wurde nicht gefunden.
    1>*.cpp(354): error C2050: Switch-Ausdruck ist keine Ganzzahl
    
    do
          {
               switch (getch())
               {
    //Text
    }
    //"9999999" damit er es immer wieder holt
    }while (99999999);
    

    so sry, war in stress ist es so besser.



  • _getch(..)?



  • Kira schrieb:

    Befor
    trotz dem
    difiniert
    hnzugefüghte
    Biblioteken

    absolutely 👍



  • habe ich nichts.
    getch ist unterstrichen

    ich habe es so:

    switch (getch())
               {
                      case '1':
                           {
                            break;
                             //Text        
                            }
                        case '2'...
    }
    


  • troll?

    http://www.c-plusplus.net/forum/viewtopic-var-t-is-39320.html

    an die includes hast du gedacht?



  • Erstell bitte mal ein neues Projekt.

    Im Menü unter Datei -> Neu -> Projekt

    Wähle Win32-Konsolenanwendung aus und gib einen Projektnamen ein. Click dann auf OK.

    Im Dialog clickst du nun auf Weiter und suchst nach "Leeres Projekt" und machst dort einen Häckchen rein. Anschließend clickst du auf Fertig stellen.

    Das Projekt wird nun erstellt. Es ist natürlich leer, also füge eine Source-Datei hinzu. Dazu gehst du im Menü auf Projekt -> Neues Element hinzufügen. Dort wählst du C++-Datei (.cpp) aus und nennst diese Main.cpp

    Nun kannst du losprogrammieren. Am besten probierst du mal folgenden Code aus:

    #include <iostream>
    
    int main()
    {
    	while (true)
    	{
    		int zahl;
    
    		std::cout << "Bitte geben Sie eine Zahl ein. Zum Beenden des Programms die Zahl 0 eingeben." << std::endl;
    
    		std::cin >> zahl;
    
    		std::cout << "Sie haben " << zahl << " eingegeben.\n" << std::endl;
    
    		if (zahl == 0)
    		{
    			break;;
    		}
    	}
    
    	std::cout << "Ende." << std::endl;
    
    	return 0;
    }
    

    Starten kannst du das Programm mit Strg + F5



  • Ja danke

    Strg + F5

    klappt auch nur mit f5.

    Dies mit dem std:: ist das für einen selbst oder ist das für das programm, ist das besser wenn man das macht?

    Außerdem komme ich jetzt auch beser mit dem Vc++ besesr klarr.
    Und ich habe alle meinen Fehler Korrigiert, also zumindestens started er die Dos anwenndung.

    Auch danke noch mal an die anderen. 🙂



  • Kira schrieb:

    Ja danke

    Strg + F5

    klappt auch nur mit f5.

    Dies mit dem std:: ist das für einen selbst oder ist das für das programm, ist das besser wenn man das macht?

    Außerdem komme ich jetzt auch beser mit dem Vc++ besesr klarr.
    Und ich habe alle meinen Fehler Korrigiert, also zumindestens started er die Dos anwenndung.

    Auch danke noch mal an die anderen. 🙂

    Das Objekt cout und cin (und vieles weitere) befindet sich im namespace std. Wenn du also nicht

    using namespace std;
    

    hinschreibst, musst du diese Objekte mit dem Qualifizierer std ansprechen, sonst klappt das nicht.



  • Kira schrieb:

    Ja danke

    Strg + F5

    klappt auch nur mit f5.

    Dies mit dem std:: ist das für einen selbst oder ist das für das programm, ist das besser wenn man das macht?

    Außerdem komme ich jetzt auch beser mit dem Vc++ besesr klarr.
    Und ich habe alle meinen Fehler Korrigiert, also zumindestens started er die Dos anwenndung.

    Auch danke noch mal an die anderen. 🙂

    std ist ein sogenannter Namensraum. Der Compiler kennt die Dinge aus diesem Namensraum nur, wenn man ihm den Namensraum entweder mit using namespace std; bekannt macht oder ihn vorneweg stellt.
    Beispiel:

    namespace meins
    {
        void foobar()
        {}
    }
    
    int main()
    {
       foobar(); //<-- fehler
       meins::foobar(); // <- Ok
    }
    
    #include <string.h>
    

    Es heisst

    #include <string>
    

    Das ist mal wieder das beste Beispiel warum der Dev-C++ mittlerweile Müll ist.
    rya.



  • Kira schrieb:

    Strg + F5

    klappt auch nur mit f5.

    Ja, in beiden Fällen wir das Programm gestartet, aber der Unterschied steckt im Detail.

    Startest du das Progrmam mit Strg + F5 wird das Konsolenfenster nämlich offen gehalten.

    Probier es mit folgendem Programm aus:

    #include <iostream>
    
    int main()
    {
    	std::cout << "Hello World!" << std::endl;
    
    	return 0;
    }
    

    Startest du das Programm mit F5 bendet es sich sofort wieder. Startest du es mit Strg + F5 wartet das Programm noch auf eine Eingabe bevor es sich beendet.


Anmelden zum Antworten