Visual C++ 2008 - Problem: Kann keine }-Klammer schreiben.

  • Guten Abend,
    folgendes Problem:
    ich öffne Visual C++ 2008, starte ein neues Projekt, füge eine neue CPP Quelldatei hinzu und möchte da rein schreiben:
    main()
    {
    }


    Doch die }-Klammer schreibt er einfach nicht, egal wie oft ich sie drücke.
    Bitte um Hilfe. Danke im Vorraus ;D

  • Hat ja im großen und ganzen nichts mit dem Code zu tun :> , ich denke das Problem taucht seitens der IDE auf ansonsten
    versuch es mal mit Alternativen wie DevC++ ( Mein Favo ) oder CodeBlocks ( Ebenfalls wirklich gut )


    Eventuell hat MS VC Keybinds die auf diese Kombination verbunden sind

    Mfg. BlackFoX_UD_ alias [BFX]Explosion


  • Hab jetzt DevC++. Danke an Blackfox ;)


    Eine Frage:


    Mein C++ Tutorial sagt, so lese ich die Eingabe aus:
    #include<iostream>
    using namespace std;


    int main()
    {
    int zahl1;
    int zahl2;
    cout<<"Bitte eine Zahl eingeben\n";
    cin>>zahl1;
    cout<<"Bitte noch eine Zahl eingeben\n";
    cin>>zahl2;
    cout<<"Zahl 2: "<<zahl2<<"\n";
    cout<<"Zahl 1: "<<zahl1<<"\n";
    }


    Doch wenn ich es so mache, dann drücke ich Enter um die Eingabe zu bestätigen und es beendet sich :S
    Was mach ich falsch?

  • Gut, das funktioniert nun. Doch jetzt schließt sich die Konsole immer noch bevor ich alles lesen kann.
    Das C++ Tutorial sagt cin.get(); reicht am Ende, damit es offen bleibt. Doch dies wirkt nicht. ;(



    /edit:
    Gelöst:

    Code
    setvbuf(stdin,NULL,_IONBF,0);
    setvbuf(stdin,NULL,_IOFBF,BUFSIZ);
    getchar();


    Auf weitere Probleme warten ;D


    /edit:
    Nächstes Problem:


    Im Compiler bei C++ kommt immer:
    Permission denied
    ld returned 1 exit status


    Woran liegt das? Ich versteh das nicht, im Code ist eigentlich nichts falsch. Meines Erachtens:

    Einmal editiert, zuletzt von Monte ()

  • Nimm system("PAUSE"); dann beendet sich die Konsole nicht mehr ohne eine Bestätigung aber es ist nicht die beste Methode ansonsten versuch mal den Buffer der Eingabe zurückzusetzen oder
    per While Schleife zu warten bis eine neue Linie bestätigt wird. ^^


    aso das brauchst du nicht

    setvbuf(stdin,NULL,_IONBF,0);
    setvbuf(stdin,NULL,_IOFBF,BUFSIZ);


    eigentlich reicht


    getchar();
    oder
    getch();

    Mfg. BlackFoX_UD_ alias [BFX]Explosion


  • Das Problem war schon erledigt :P
    Bitte schau dir das da unter an ;D Danke.


    OT: Gib mal meine ICQ Nr. per PM; hab die wieder verlegt :P


    /edit:


    Problem wieder selber gelöst :P
    #include <iostream>
    using namespace std;


    int add(int&,int&,int&);


    int main()
    {
    int a2 = 10;
    int b2 = 2;
    int erg2;
    add(a2,b2,erg2);
    cout<<erg2;
    setvbuf(stdin,NULL,_IONBF,0);
    setvbuf(stdin,NULL,_IOFBF,BUFSIZ);
    getchar();
    }


    int add(int& a,int& b,int& erg)
    {
    erg = a + b;
    }


    UND AN BLACKFOX:

    Zitat

    OT: Gib mal meine ICQ Nr. per PM; hab die wieder verlegt :P

    Einmal editiert, zuletzt von Monte ()