CPP Neuling und seine Probleme



  • Außerdem fehlt std bei string. Das wird sicher nicht übersetzt.



  • Nun gut aber warum funktioniert folgender Code dennoch nicht ?

    #include <iostream>
    #include <string>
    
    int main()
    {
    	/*std::string meinname;
    
    		std::cout << "Bitte geben Sie ihren Namen ein" << std::endl;
    		std::cin >> meinname;
    
    		std::cout << "Mein Name ist" << Name << std::endl;
    
    */
    	int Alter;
    
    		std::cout << "Bitte geben Sie ihr Alter ein" << std::endl;
    		std::cin >> Alter;
    		std::cout << "Ich bin" << Alter << "Jahre alt" << std::endl;
    
    	system("pause");
    
    	return 0;
    
    }
    


  • manni66 schrieb:

    Das sollte eigentlich nicht übersetzen, weil system unbekannt ist.

    Lass es mal mit Shift+ F5 laufen.



  • Also natürlich bin ich nur der Neuling aber selbst wenn ich das google wird mir gesagt das eine system("pause"); genau so funktioniert wie ich Sie benutze :(. Zwar nur unter Windows aber eigentlich sollte mein Programm dort eine Pause machen ohne das Compilieren zu behindern. Und selbst wenn ich die Pause per Koommentar Funktion ausschalte, funktioniert das Programm nicht.

    Hier mein Code

    #include <iostream>
    #include <string>
    
    int main()
    {
    	/*std::string meinname;
    
    		std::cout << "Bitte geben Sie ihren Namen ein" << std::endl;
    		std::cin >> meinname;
    
    		std::cout << "Mein Name ist" << Name << std::endl;
    
    */
    	int Alter;
    
    		std::cout << "Bitte geben Sie ihr Alter ein" << std::endl;
    		std::cin >> Alter;
    		std::cout << "Ich bin" << Alter << "Jahre alt" << std::endl;
    
    	/*system("pause");*/
    
    	return 0;
    
    }
    


  • Das Programm wird nicht übersetzt!

    Was auch immer du übersetzt, das nicht.

    Für sytem fehlt #include <cstdlib>.

    Was passiert mit Shift+F5?



  • Prex schrieb:

    CPP Neuling und seine Probleme

    Das ist ein ganz schlechter Thread-Titel. Denk dir bessere Titel aus. Allgemein: Wähle beschreibende Bezeichner für die Dinge die du erstellst. Das ist nicht nur für Threads in Foren wichtig, sondern auch beim Programmieren.



  • Prex schrieb:

    string meinname;
    
    		std::cout << "Bitte geben Sie ihren Namen ein" << std::endl;
    		std::cin >> meinname;
    
    		std::cout << "Mein Name ist" << Name << std::endl;
    

    Das soll kompilieren? Kann ich mir nicht vorstellen:

    meinname <-> Name
    


  • Mach das Ganze in einer Konsole!
    In VS 2015 gibts:

    C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Visual Studio 2015\Visual Studio Tools\Windows Desktop Command Prompts
    

    Da startest Du die x64 Native Tools - Konsole.
    Dann navigierst Du zu dem Verzeichnis, in dem Deine cpp - Datei steht. Dort gibst Du dann ein:
    cl /EHsc datei.cpp
    (unter der Annahme, dass Deine cpp - Datei datei.cpp heißt). Der Compiler wird Dir dann Deine Fehler ausspucken.
    Wenn alles fehlerfrei kompiliert und gelinkt hat, kannst Du die erstellte exe - Datei in dieser (oder auch der normalen Windows-Konsole) starten, dann brauchst Du auch die Krücke

    system("pause");
    

    nicht, um die Ausgaben Deines Programms zu sehen.



  • @Belli

    warum soll er das machen - im Ausgabe-Tab der IDE sieht er doch genau das gleiche?



  • Es muss Ctrl+F5 lauten. Aber du bist ja sowieso nicht mehr da ...



  • Gast3 schrieb:

    @Belli

    warum soll er das machen - im Ausgabe-Tab der IDE sieht er doch genau das gleiche?

    Es scheint ja Diskrepanzen zu geben, zwischen dem, was er in der IDE sieht/zu sehen glaubt, und dem, was geschieht ...

    In der Konsole passiert nix im Hintergrund, was man nicht mitbekommt, außerdem gibts da niemals nicht das Problem, dass sich die Konsole bei Programmende schließt, so dass man die system("pause")-Krücke nicht braucht.


Anmelden zum Antworten