Anfängerhilfe



  • Hallo, ich bin bei C++ ein absoluter Neuling. Vor Jahren habe ich ein bisschen mit Pascal dann auf meinem Taschenrechner und ein bisschen mit Visual Basic programmiert.

    Hab mir mal von nem Freund "Borland C++ Builder 6" geholt. Aber damit bin ich nicht klargekommen. Hier im Forum hab ich schon die Anfängerhilfen durchgeschaut und mir "Visual 2005 Express" runtergeladen aber da funktioniert irgendwie nichts.

    Die ganzen Hilfen. Funktionieren die mit allen Benutzeroberflächen oder sind die auf z.b. nur auf Visual 2005 ausführbar (wenn angegeben)?.

    z.B. gebe ich bei Visual 2005 Exp. den Text ein:

    #include <iostream>
    using namespace std;

    int main()
    {
    cout<<"Hello, world!"<<endl;
    return 0;
    }

    beim compilieren sagt er mir, das er ein Problem mit nem Dateiende hat, dabei hab ich alles so gemacht wie es in dem Tutorial angegeben ist :(.

    mfg



  • dateiende sollte .c oder .cpp sein...
    kannst du die gesamte fehlermeldung einmal wiedergeben (sei präzise^^)?



  • Hallo

    Also ich hab einmal ein neues Projekt gemacht ("CLR-Konsolenanwendung").

    Kompilieren...
    stdafx.cpp
    Kompilieren...
    AssemblyInfo.cpp
    asffassaf.cpp
    .\asffassaf.cpp(9) : fatal error C1010: Unerwartetes Dateiende während der Suche nach dem vorkompilierten Header. Haben Sie möglicherweise vergessen, im Quellcode "#include "stdafx.h"" einzufügen?
    Code wird generiert...

    Und das neueste: er findet die Datai beim debuggen nicht:

    http://img99.imageshack.us/img99/2109/unbenanntya0.jpg

    mfg



  • wasn da alles fürn dreckeliges zeuch drinne^^

    also ich brauch bei meinem code::blocks nur EINE neue datei machen und compilen feddisch

    hmmm... so mal ganz von vorn^^

    1. debug heißt net das der die beim debuggen net findet sondern das das ein "debug" build ist (gibt auch "release"), debug builds sind wie der name schon sagt fürs debuggen gut (sind auch demnach um ein vielfaches größer), aber dafür benötigst du einen debugger
    2. der findet die datei net weil er beim compilen einen fehler festgestellt hat und somit die .exe net linken kann (denn object code zusammenführen)
    3. versuch doch mal die resource.h und stdafx.h zu includen (steht ja auch da^^, immer schön lesen :D)

    #include "stdafx.h"
    #include "resource.h"
    


  • So:

    #include <iostream>
    #include "stdafx.h"
    #include "resource.h"
    using namespace std;

    int main()
    {
    cout<<"Helloa, world!"<<endl;
    return 0;
    }

    ?

    Weil da sagt er das (3 Fehler):

    Kompilieren...
    test.cpp
    .\test.cpp(4) : error C2871: 'std': Es ist kein Namespace mit diesem Namen vorhanden
    .\test.cpp(8) : error C2065: 'cout': nichtdeklarierter Bezeichner
    .\test.cpp(8) : error C2065: 'endl': nichtdeklarierter Bezeichner



  • wtf???!

    das kann eigentlich gar net sein...
    versuch mal

    #include "resource.h"
    #include "stdafx.h"
    #include <iostream>
    
    int main()
    {
    std::cout<<"Helloa, world!"<<std::endl;
    return 0;
    }
    

    eigentlich ist das using namespace std da, um dir die schreibarbeit (std::) zu erleichern



  • Wow, danke. Jetzt geht es. Fehlt mir da die namespace std oder woran liegt das?.

    mfg



  • eigentlich MUSS es auch so klappen:

    #include "resource.h"
    #include "stdafx.h"
    #include <iostream>
    using namespace std;
    int main()
    {
    cout<<"Helloa, world!"<<endl;
    return 0;
    }
    


  • Hey! 🙂

    Also du solltest als Anfänger aufjedenfall eine einfachere (kleinere) IDE nehmen. Beispiele hierfür wären z.B Dev - C++, oder Codeblocks.

    Visual C++ ist in der Tat keine schlechte IDE, sogar die eine der Besten. Allerdings ist sie auch (relativ) komplex, so viele Parameter sind zu beachten, etc. Ich kann dir also VS nicht empfehlen. Braucht man als Anfänger eigentlich eh nicht, das einzige was dort praktisch ist, ist der Debugger 😃

    Nee, also ich programmiere mittlerweile auch schon über einem halben Jahr, und hab mir vor ein paar Wochen eben Microsoft's VS 2005 runtergeladen .... Ein paar Momente der Verzweiflung ... (Nicht mal windows.h lies sich includen !!), und schon war ich auch wieder bei meiner alten IDE (Dev-C++) angelangt 😉

    Ich muss sagen, es ist (meiner Meinung nach) eine Frechheit, welcher Standard sich da etabliert, von wegen int t_main, oder so ähnlich, stdafx.h, .... Lauter so Zeugs, was einen Anfänger verwirrt. Dev-C++ z.B (bzw. MinGW) hält sich schön an den C++ Standard, so lernt man mal wirklich, wie ordentliche Programmierung auszusehen hat !

    Also mein Tipp: Fang mit kleineren IDE's an, und wechsle dann wenn du besser bist auf Visual Studio. Das ist meine persönliche, klare Meinung zu dem Thema, mag auch sein, dass es auch hier pro und contra gibt.

    MfG, mikey.



  • Hmm ja, hat an der Reihenfolge gelegen. Danke :xmas1:

    @über mir: danke, werds morgen probieren 😉
    Und hinüberwechseln ist dann kein Problem bzw eine größere umstellung?.

    mfg



  • nimm nich Dev-C++ der suckt echt, habe schlechte erfahrungen (wird auch glaub ich net mehr weiterentwickelt usw...)

    code::blocks ist im mom (meiner meinung nach) das beste ide was man bekommen kann (aber auch nur die nightly builds, weil die rc2 version is auch was blöd). ich pack grad den ordner mal zusammen und lads bei rapidshare hoch... ich editiere dann den post hier für den link (vll 15 mb)

    mfg 🙂

    http://rapidshare.com/files/8830186/CodeBlocks.7z.html der "level" server ist der schnellste 🙂

    und: nein der umstieg wird garantiert nicht schwer!



  • nimm nich Dev-C++ der suckt echt

    Haja, könntest sogar in gewissen Punkten Recht haben ... Dann doch lieber Code::Blocks. Und es stimmt allerdings, dass Dev-C++ nicht mehr weiterentwickelt wird 😢 Schade, denn die paar Bugs hätten die schon noch ausmerzen können, und dann wär's eine akzeptable IDE gewesen... Naja.

    Allen ein frohes Fest!!

    Mikey. :xmas1:



  • Hi, muss ich code::blocks noch irgendwie installieren, weil er findet die resource.h und stdafx.h nicht:

    http://img244.imageshack.us/img244/9016/unbenannthm1.jpg

    btw. euch auch n schönes frohes fest :xmas1: mfg

    Gibts eigentlich für z.B. code::blocks eine spezielle Anfängerhilfe. Schon allein bei der Auswahl zum erstellen eines leeren Sheets wird mir schlecht... 😃



  • I Killed The Prom Queen schrieb:

    Hi, muss ich code::blocks noch irgendwie installieren, weil er findet die resource.h und stdafx.h nicht

    sry das muss jetzt mal sein: LOLOLOLOL 😃 😃 😃 🤡 🤡 🤡

    NEIN du brauchst sowas net^^ (das isses ja eben 🙄 )

    kleine einstiegshilfe: bei new gehste auf file und dann auf c/c++ source dann kommt nen hilfsassistent 🙂 (c=> file.c / c++ => file.cpp)

    du kannst dann einfach die ganzen sachen aus dem tutorial (wie sie da stehen) reinschreiben (vll hat der dann noch nen paar macken, aber frag ruhig dir wird der kopf net abgeschlagen 😉



  • Hi, muss ich code::blocks noch irgendwie installieren, weil er findet die resource.h und stdafx.h nicht:

    Ebenfalls LOOOOOOOOOOOL 😃 😃 😃 😃 Ich kann nich mehr ... 😃 :p

    Mensch, jetzt sind wir genau an dem Punkt, den ich vorher erwähnt habe !:

    Ich muss sagen, es ist (meiner Meinung nach) eine Frechheit, welcher Standard sich da etabliert, von wegen int t_main, oder so ähnlich, stdafx.h, ....

    Siehst du ?? Genau das isses !!! Anfänger meinen, stdafx u. ressource.h seien Standard, bzw. ein Muss!! Aber weit gefehlt!! Das ist ja eben der Müll von Microjunk, die müssen sich sowas ausdenken. Und Anfänger wie du kommen dann deswegen ins strolcheln. Und ich denke: Spätestens JETZT sind wir (ich und neomic) uns einig, dass VS definitiv nichts für Anfänger ist 😃

    MfG mikey.



  • Ich hab es einfach entpackt und gestartet, aber wie schon gesagt findet er die Dateien nicht *g*. Muss ich die Dateien extra suchen und zu der Datei reinkopieren?.

    C:\Dokumente und Einstellungen\C\Desktop\CodeBlocks\Projects\test.cpp:1: resource.h: No such file or directory
    C:\Dokumente und Einstellungen\C\Desktop\CodeBlocks\Projects\test.cpp:2: stdafx.h: No such file or directory
    :: === Build finished: 2 errors, 0 warnings ===

    Programm ist:

    #include "resource.h"
    #include "stdafx.h"
    #include <iostream>
    using namespace std;
    int main()
    {
    cout<<"Helloa, world!"<<endl;
    return 0;
    }

    *e* hab mal die 2 Zeilen rausgenommen und es läuft!!!!!! 😮 wow 😃



  • Hey, und bitte nicht persönlich nehmen, dafür kannst du echt nix, also meinen Lachanfall hier BITTE NICHT ERNST NEHMEN (ich krieg hier gleich Ärger von den Nachbarn) 😃

    //Edit: Um es auch dir mal ganz kurz zu erklären:

    stdafx u. ressource.h sind "Eigenerfindungen" von Microjunk, und haben ABSOLUT nichts mit dem Standard - C++ zu tun!! Das funktioniert nur im Zusammenhang mit dem Visual Studio.



  • Microjunk ^^ 😃 ey jetzt lieg ich grade lachend unterm tisch^^



  • Ich kann zwar (noch) nicht mitlachen, aber ich versteh es 🙂

    Trotzdem versteh ich das nicht:

    #include <iostream.h>
    void main()
    {
    // Dies ist das Hello-World-Programm
    cout<<"Hello, world!"<<endl;
    };

    so steht es im Tutorial:

    Warum iostream.h?
    Warum void main und nicht int main ?

    Wenn das:

    #include <iostream>

    using namespace std;

    int main()
    {
    cout<<"Helloa, world!"<<endl;

    return 0;
    }

    funktioniert, warum funktioniert das:

    #include <iostream>

    int main()
    {
    // Dies ist das Hello-World-Programm
    std::cout<<"Hello, world!"<<std::endl;
    };

    nicht?.

    Vielleicht bin ich schon zu müde dafür... 😞



  • Microjunk ^^ ey jetzt lieg ich grade lachend unterm tisch^^

    Ich doch auch 😃

    An 'Anfänger' (Name ist mir zu lang^^):

    Also beide Codes müssten eigentlich funzen ... Ich gucks mir grad nochmal an.

    //Und bitte: Bei zukünftigen Code - Postings immer Syntax - Highlighting aktivieren! Das ist die Schaltfläche Links unter (C/C++). Jeweils einmal draufdrücken, danach deinen Code posten, und danach nochmal auf den Button. So wird der Code auch scön bunt dargestellt 😉

    Na ok, ich schreibe dir noch ne kleine Erklärung:

    Also 'iostream.h' ist im Grunde die selbe Bibliothek wie 'iostream'. Grundlegend bindet man aber nur 'iostream' ein, also ohne '.h' Da gibt es ein paar compilerspezifische Ausnahmen, aber das ist in dem Fall unwichtig. Also falls 'iostream' NICHT funktionieren sollte (also das ohne .h), dann nimm 'iostream.h'.

    So. Kommen wir nun zum Standard - C++. Im ISO - C++ Standard steht es eindeutig, dass die main - Funktion einen int - Wert zurückgeben muss. Somit darf sie laut Standard keine void Funktion sein. Sie muss einen Rückgabewert besitzen. (In dem Fall return 0;).

    Also:

    Schreibe niemals 'void main', sondern 'int main' 😉

    Achja, welches Tutorial hast du denn ? Nimm einfach dieses, das ist das beste was es gibt (sagt jeder):

    http://codingarena.co.funpic.de

    Das ist der Link zu meiner Homepage. Unter der Rubrik 'Tutorials' findest du ein Tutorial namens "Volkards C++ Tutorial" (oder so ähnlich). Dieses kannst du auch als Offlineversion downloaden. Nimm dieses, so lernst du es am besten. Und lass dich nicht stören, wenn ich den Quellcodes mal 'void main' vorkommt, manche Leute machen es trotzdem so, nur dass das die meisten Standardkonformen C++ Compiler nicht zulassen, aber damit sind wir wieder beim selben Thema.


Anmelden zum Antworten