CPP Neuling und seine Probleme



  • Hallo alle zusammen,

    ich bin relativ neu in der CPP Programmierung und trotz Fachliteratur bzw. der allwissenden Suchmaschine Google ;P , brauche ich nun doch Hilfe.

    #include <iostream>
    #include <string>
    
    int main()
    {
    	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;
    
    }
    

    Kannn mir bitte jemand verständlich erklkären warum das Compilen dieses Codes ohne Fehler verläuft allerdings meine Eingabeaufforderung so schnell erscheint und verschwindet das ich nicht sehe ob alles Funktiioniert, bzw. ich kann garkeine Eingabe tätigen.

    Bitte habt etwas nachsehen falls euch dieser Code so einfach vorkommt oder ihr einfach nur alcht wenn ihr das seht :(. Jeder fängt mal klein an.

    Vielen dank


  • Mod

    Das sollte nicht so sein. Welche Art von System hast du und wie startest du dein Programm?



  • Ich verwende Windows 10 x64.

    Ich benutze das Microsoft Visual 2015 Community Studio.

    Solltest du übrigens eine bessere alternative haben was Software betrifft immer her damit.

    Übrigens benutze ich Visual Studio durch die Empfehlungen von Freunden ebenso meine gewählten lern Bücher.

    Da ein Teil meiner Freund auch Beruflich programmiert hoffe ich das Sie mir keinen Blödsinn gesagt haben.

    Benötigst du sonst noch etwas ?



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

    Lass es mal mit Shift+ F5 laufen.



  • 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