Befehl cin help

  • Hallo Ich habe heute mit C++ angefangen und lerne gerade den befehl cin aber immer wenn ich es Kompiliere kann ich nix eingeben aber der Quelltext sollte richtig sein


    #include <iostream>
    #include <string>
    using namespace std;
    int main()
    {
    string nachname, vorname;
    cout<<"Wie ist ihr Vorname?"<<endl;
    cin>> vorname;
    cout<<"Wie ist ihr Nachname?"<<endl;
    cin>> nachname;

    cout <<"Ihr Vorname und Nachname lautet:"<<vorname<<" "<<nachname<<endl;
    system("PAUSE");
    return 0;
    }

    wenn ich es Kombiliere und Ausführe kommt das:

    EDIT by internetfreak:
    Alles klapt wieder danke hab mein fehler gefunden

    Nächstes Mal bitte keinen Doppelpost, dafür haben wir nen Edit-Button
    ~Danke

  • Für die, die vor dem gleichen Problem stehen:
    [INDENT] Eine char - Variable kann nur einen Wert speichern. Wenn man einen Namen speichern will dann muss man es mit cin.get() in ein Array speichern.

    Beispiel:[INDENT]

    Code
    ...
    char Nachname[10]; // 10 Felder reservieren
    
    
    cout << "Bitte Nachnamen eingeben: ";
    cin.get(Nachname, 9); // 9 Felder zum speichern freigeben. 1 wird für die Nullterminierung gebraucht.
    
    
    cout << "Dein Nachname ist: " << Nachname << endl;
    ...

    [/INDENT]1 Feld wird gebraucht um den String abzuschließen ( Nullterminierung )
    [/INDENT]mfG, Nydn.

  • [COLOR="DeepSkyBlue"]Terminiert get() automatisch? Weiß gerade nicht genau^^

    Aber C-Strings per get einzulesen ist nicht gut.
    Man benutze an dieser Stelle besser getline. ;-)[/COLOR]

  • Zitat von Chaosduckman;194947

    Terminiert get() automatisch? Weiß gerade nicht genau^^

    Aber C-Strings per get einzulesen ist nicht gut.
    Man benutze an dieser Stelle besser getline. ;-)


    Also in meinem Buch steht das so oO

  • [COLOR="DeepSkyBlue"]Ach das ist eigentlich egal, was man benutzt^^
    Also wird Terminiert?[/COLOR]

  • Man sieht das du noch nie Programmiert hast

    Probier es lieber mal mit VB ist am anfang besser lernst dich schneller rein

    [CENTER]
    **Und bin Stolz drauf **
    [/CENTER]

  • Zitat von Synix;194956

    Man sieht das du noch nie Programmiert hast

    Probier es lieber mal mit VB ist am anfang besser lernst dich schneller rein

    Labber doch nicht so eine scheiße, nur weil er gerade angefangen hat heißt das dass es zu schwer ist? lol?

    Bleib bei C++, und hör nicht auf sone scheiße...

  • Zitat von Synix

    Man sieht das du noch nie Programmiert hast


    Weiß jetzt nicht genau was du meinst.
    Get ließt zwar nur so lange Character ein, bis man ein Whitespace hat. Erst bei Strings mit Whitespaces sollte man Terminieren. So viel zu meinen Wissen ;-)

    Aber warum sollte man nicht auch ohne Whitespaces Terminieren. Was weiß ich was der Ram macht, da bei einem C-String/String nur die Anfangsadresse bekannt ist.

  • Zitat von Synix;194956

    Man sieht das du noch nie Programmiert hast

    Probier es lieber mal mit VB ist am anfang besser lernst dich schneller rein

    Danke aber ich bleibe bei c++ jeder hat mal klein angefangen aber ich lerne immer wieder dazu dank Nydn und Chaosduckman ; )


    Lern du erstmal eine programmiersprache erst dann kannst du mir Tipps geben.
    Und hör bitte mal auf mit diesem Doppelacc Zuerst warst du SuDa dann Cy4ber und jetzt Synix und du weisst auch das du kein Kurde bist nim einfach die Flagge weg so kriechst yannick auch nicht schneller in den Arsch.

  • Zitat von Synix;194956

    Man sieht das du noch nie Programmiert hast

    Probier es lieber mal mit VB ist am anfang besser lernst dich schneller rein


    Er will coden. D.h., er will nicht im Windows Form Designer 2-3 Fenster zusammenklicken und 5 Befehle reinkopieren. Auch wenn ihr soetwas evtl. unter programmieren abstempelt.

  • Ich würd dir auch getline bei solchen Programmen empfehlen,
    ich zeig dir schnell mal auch das Bsp. an deinem Code dazu

    [CENTER][COLOR=Red][/COLOR]
    [/CENTER]

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!