Anfangen?



  • So, in Visual C++ .NET 2003 funzt folgender COde nicht:

    #include <iostream>
    
    int main()
    {
        char befehl ;
    
        cout << "ihre Wahl: ";
        cin >> befehl;
    
        return 0;
    }
    

    WAS is da los?
    man ich verstehs net, überall gibts errors 😕



  • Du musst den Namespace "std" öffnen(darin sind platzhalter für die namen"cout" "cin" und viiiiieeelen anderen funktionen gespeichert),
    entweder indem du vor jedem cout cin etc

    std::
    

    also

    std::cout<<"hi"<<endl;
    

    oder indem du unter den includes den gesamten namespace öffnest

    #include <iostream.h>
    
    using namespace std;
    

    solange du using namespace std nur für dich verwendest ist es nicht schlimm, wenn du deinen code jedoch weiterreichen willst und der andere verwedent wür eine funktion aus versehen einen namen aus der namespace std dann gibst probs.

    mfg TravisG



  • Danke, aber ich werde echt noch verrückt :\\

    #include <iostream.h>
    
    using namespace std;
    
    int main()
    {
        char befehl ;
    
        cout << "ihre Wahl: ";
        cin >> befehl;
    
        return 0;
    }
    

    Error:
    "j:\Eigene Dateien\Visual Studio Projects\asd\asd.cpp(16): fatal error C1010: unexpected end of file while looking for precompiled header directive"

    toll, ich kann mit dem ganzen Zeut nix anfangen 😕



  • wenn du "using namespace std" mit reinschreibst, musst du unter den includes bei <iostream.h> das .h entfernen, dann funzt es.
    also so:

    #include <iostream>
    using namespace std;
    
    int main()
    {
        char befehl ;
    
        cout << "ihre Wahl: ";
        cin >> befehl;
    
        return 0;
    }
    

    Meiner Meinung nach solltest du anschließend mit If-Bedingungen weitermachen, danach mit Schleifen, dann mit Arrays (ein- und mehrdimensional), dann Strukturen und dann mit Pointern.



  • Zu deinem Problem, dass sich das Dos-Fenter sofort schließt (bei dem 1. Prog). Das Fenster bleibt nur geöffnet, wenn eine Eingabe erwartet wird (also mit cin). Oder du benutzt die Funktion

    getch();
    

    da musst du denk ich den Header <conio.h> einfuegen, bin mir aber net sicher. Probiers einfach mal aus.



  • ja ok, das stimmt. aber leider verstehe ich nicht, warum code:blocks abkackt, wenn ich eine neue datei beginnen will, und visual c++ compile errors bringt.

    dann eben noch die frage: wie kann ich später richtige desktop anwendungen programmieren? also solche mit gui un programmoberfläche ... sind das per c++ geschriebene programme oder muss ich dafür ne extra sprache lernen? sollte ich damit gleich anfangen (so wie bei visual basic) oder lernt man das später sowieso?



  • ich denke, man kann die zusammenhänge leichter verstehen, wenn man erst ohne oberfläche prorammiert. deine fragen diesbezüglich kann ich dir nicht beantworten, da ich selber nur ohne oberfläche arbeite. in der bs haben wir ohne oberfläche angefangen, ich kenne es auch nur so. ich denke, wenn man da bisl was kann, sollte man mit der oberfläche erst anfangen.
    ich glaube, dass man kein zusätzliches programm braucht, sondern das mit dem c++-programm auch funzt, du musst dann wahrscheinlich keine konsolen-anwendung aufrufen, sondern irgendwas anderes.



  • ok danke 🙂
    nur welchen compiler sollte ich nehmen? warum bringen die bei mir alle fehler un so?
    ich habe versucht
    code::blocks
    lcc-win
    visual c++ 2003 .NET
    dev c++
    😞



  • Jetzt schreib nochmal den endgültigen Quelltext rein und gib die genauen Fehlermeldungen an.



  • ok, also

    folgender code:

    #include <iostream>
    #include <conio.h>
    using namespace std;
    
    int main()
    {
        string befehl ;
    
        cout << "ihre Wahl: ";
        cin >> befehl;
    
        cout << befehl;
    
        getch();
    
        return 0;
    }
    

    lcc-win lässt mich garnicht compilen
    dev-c++ klappt sogar mal 🙂 *freu* (habe aber in nnem anderen thread gelesen, dev-c++ sei müll...)
    Visual C++ 2003 .NET bringt fehler: "j:\Eigene Dateien\Visual Studio Projects\asdasdasd\asdasdasd.cpp(20): fatal error C1010: unexpected end of file while looking for precompiled header directive"
    und code::blocks bricht immer ab, wenn ich in einem neuen projekt eine neue datei erstellen will ...



  • jahLives! schrieb:

    Visual C++ 2003 .NET bringt fehler: "j:\Eigene Dateien\Visual Studio Projects\asdasdasd\asdasdasd.cpp(20): fatal error C1010: unexpected end of file while looking for precompiled header directive"

    Hast du ein leeres Projekt erstellt? Das ist bei der Projekterstellung nämlich nicht voreingestellt. Du solltest zumindest darauf achten, die vorkompilierten Header auszuschalten.

    jahLives! schrieb:

    und code::blocks bricht immer ab, wenn ich in einem neuen projekt eine neue datei erstellen will ...

    Kann ich nicht nachvollziehen. Hast du die aktuellste Version, also 1.0 RC2?



  • bei V C++ habe ich ein neues Projekt erstellt, und dann eben das da oben reinkopiert. was genau soll ich da noch machen?

    und zu code:blocks, ja habe die neuste version. seltsamerweise habe ich das gefühl, dass dies erst so ist, seitdem ich vc++ installiert habe. habe es nun testweise deinstalliert, ändert aber nichts ...

    einzige, was im moment funzt, ist dev-c++!



  • jahLives! schrieb:

    bei V C++ habe ich ein neues Projekt erstellt, und dann eben das da oben reinkopiert. was genau soll ich da noch machen?

    Wie ich schon sagte, du sollst ein leeres Projekt erstellen. Hab leider nur VC++ 2005 hier, weshalb ich es dir für VC++ 2003 nicht erklären kann. Du musst aber bei der Erstellung die Option "Empty Project" auswählen. Danach fügst du deine Quellcodedatei dem Projekt hinzu und kompilierst.



  • ja Empty Project, aber mit Konsolenanwendung oder?

    So, jetzt habe ich aber doch nochmal ne Frage zu GUI's & co.
    In was sind denn die meisten größeren Programme wie Virescanner, WIndows, Office, Firefox, IE, Winamp geschrieben?

    Ich dachte immer, man hat bei C / C++ ebenfalls wie bei Delphi un Visual Basic eine Oberfläche, in der man ganz einfach Textfelder / Buttons / Menüs etc erstellen kann, auf welche man dann im Quellcode zugreift. Ist das per C / C++ auch möglich, gibt es dazu ebenfalls solch einen "Wizard" oder muss man alle Fenster mühsam programmieren?

    Wie lange dauert es ca, bis man Programme mit Oberfläche / GUI schreibt? Denn eiegentlich wollte ich immer solche Anwendungen schreiben, und nicht solche "hässlichen" MS-DOS Box Konsolenanwendungen 😞



  • jahLives! schrieb:

    ja Empty Project, aber mit Konsolenanwendung oder?

    So, jetzt habe ich aber doch nochmal ne Frage zu GUI's & co.
    In was sind denn die meisten größeren Programme wie Virescanner, WIndows, Office, Firefox, IE, Winamp geschrieben?

    Ich dachte immer, man hat bei C / C++ ebenfalls wie bei Delphi un Visual Basic eine Oberfläche, in der man ganz einfach Textfelder / Buttons / Menüs etc erstellen kann, auf welche man dann im Quellcode zugreift. Ist das per C / C++ auch möglich, gibt es dazu ebenfalls solch einen "Wizard" oder muss man alle Fenster mühsam programmieren?

    Wie lange dauert es ca, bis man Programme mit Oberfläche / GUI schreibt? Denn eiegentlich wollte ich immer solche Anwendungen schreiben, und nicht solche "hässlichen" MS-DOS Box Konsolenanwendungen 😞

    guck dich hiermal um ich sag nur MFC(schöne sache) und QT, Widgets... wie sand am meer



  • Ich würde erst mal mit der Konsole üben. Die Win API kann anfangs etwas verwirrend und vor allem irreführend sein. Von der MFC ganz zu schweigen. Dennoch hier ein kleiner Vorgeschmack:

    #include <windows.h>
    
    int main()
    {
        MessageBox(0, "Win API", "Hallo", MB_OK);
    }
    


  • ja ok. Ich werde denke ich erstmal einige Tutorials mit der Konsole durchmachen, und mich dann eventuell an die WinAPI wagen (wenn dies die leichteste ist, um GUI's zu erzeugen)?



  • ok danke 🙂
    naja, irgendwie komme ich mit virtual c++ nicht zurecht.
    ich möchte einfdach immer neue dateien erstellen (cpp) und dann damit üben. muss ich da für jede übung ein neues project erstellen?
    weil wenn ich ein project nehme, und dann neue dateien hinzufüge (alsoi mit sourcecode), dann habe ich das gefühl, er fügt die sources zusammen. denn wenn ich dann in 2 files stehern habe

    int main() {

    }

    dann meckert er immer rum, weil das anscheinend schon definiert sei ... 😕
    wie kann ich einfach immer für neue übungen neue dateien erstellen, unabhängig von allem anderen?



  • hm, wenn ich ein neues Project erstelle, ("empty project") dann new=>file, dort irgendein source eingebe, dann F5, dann steht immer "... kann datei nicht finden" 😕
    wieso kommt man mit dem prog nicht zurecht?



  • Es wid hier immer gesagt, man solle

    int main() {

    }

    verwenden.
    ich habe das tutorial von volkard auf meiner festplatte (wqelches immer so hochgelobt wird), habe gerade angefangen zu lesen. da steht aber void main() {}.
    das soll man doch nicht oder?
    wo liegt der (denk)fehler?


Anmelden zum Antworten