Einfaches C++ Script für Kommentardateien



  • Darthshoot2 😑 schrieb:

    ÖÖ ich weiß nicht ^^ wo kann man das denn sehen? Ich benutze C++6.0 und der Compiler hat eigendlich bis jetzt immer bestens geklappt auch bei neueren Sachen.

    Meinst du VC6.0? Ne der ist nicht gut, gar nicht gut. Hat sehr viele Bugs. Versuch's mal mit dem Dev-Cpp, der ist sehr gut für Einsteiger. Weitere Ideen findest du oben rechts wenn du auf Compiler klickst.

    mfg.



  • Jo werd ich machen! 😃 danke.

    C:\Dokumente und Einstellungen\Stefan.R2D2-H7ZO0HWXWM\Desktop\kommentarscript\Kommentar-Script.cpp(12) : error C2653: 'ios' : is not a class or namespace name
    C:\Dokumente und Einstellungen\Stefan.R2D2-H7ZO0HWXWM\Desktop\kommentarscript\Kommentar-Script.cpp(12) : error C2065: 'append' : undeclared identifier
    Error executing cl.exe.

    Das kommt raus wenn ich das mit ios::append mache.



  • joomoo schrieb:

    Hat sehr viele Bugs.

    Hat sehr viele SPs. Trotzdem nicht zu empfehlen.

    Versuch's mal mit dem Dev-Cpp

    Der allerdings auch nicht!

    Ich fahr im Moment mit Code::Blocks mit VC++ 2003 Compiler recht gut.



  • Michael E. schrieb:

    joomoo schrieb:

    Hat sehr viele Bugs.

    Hat sehr viele SPs. Trotzdem nicht zu empfehlen.

    Versuch's mal mit dem Dev-Cpp

    Der allerdings auch nicht!

    Ich fahr im Moment mit Code::Blocks mit VC++ 2003 Compiler recht gut.

    Was sind SPs?
    Also ich finde für Einsteiger ist der Dev-Cpp der Beste. Ich benutze jetzt auch Code::Blocks mit MinGW, aber früher hab ich noch Dev-Cpp benutzt und war damit sehr zufrieden.

    mfg.



  • versuchs mal mit std::ios_base::app



  • Darthshoot2 😑 schrieb:

    Jo werd ich machen! 😃 danke.

    C:\Dokumente und Einstellungen\Stefan.R2D2-H7ZO0HWXWM\Desktop\kommentarscript\Kommentar-Script.cpp(12) : error C2653: 'ios' : is not a class or namespace name
    C:\Dokumente und Einstellungen\Stefan.R2D2-H7ZO0HWXWM\Desktop\kommentarscript\Kommentar-Script.cpp(12) : error C2065: 'append' : undeclared identifier
    Error executing cl.exe.

    Das kommt raus wenn ich das mit ios::append mache.

    ios ist Member von std, also std::ios::append.

    joomoo schrieb:

    Was sind SPs?

    Service Packs.

    Also ich finde für Einsteiger ist der Dev-Cpp der Beste.

    Mir kommt er nicht mehr auf die Platte, bis er generalüberholt ist.



  • std::ios_base::app hat bestens funktioniert danke! 😃

    Jetzt geht es schon langsam an die Feinheiten von meinem Script.
    Wie mache ich es jetzt, dass er nicht am letzten Word weiterschreibt (2 mal test eingegeben = testtest), sondern in der nächsten Zeile weiter schreibt? Was auch cool wäre ist, wenn der das so ordnen würde:

    1. Kommentar
    blabla

    2. Kommentar
    blablabla



  • @Michael E.
    Was zur Zeit aber wohl nicht mehr passiert.
    Ich denke mit CodeBlocks und MinGW liegt der Einsteiger richtig. Aber das ist eigentlich alles OT und dazu gabs schon viele andere Threads.

    @Darthshoot2 😑
    Bitte nochmal.
    neue Frage - neuer Thread



  • Alles klar! 😃



  • Darthshoot2 😑 schrieb:

    std::ios_base::app hat bestens funktioniert danke! 😃

    Jetzt geht es schon langsam an die Feinheiten von meinem Script.
    Wie mache ich es jetzt, dass er nicht am letzten Word weiterschreibt (2 mal test eingegeben = testtest), sondern in der nächsten Zeile weiter schreibt? Was auch cool wäre ist, wenn der das so ordnen würde:

    1. Kommentar
    blabla

    2. Kommentar
    blablabla

    Langsam bekomm ich das Gefühl, dass du dir keine Mühe gibst.



  • Naja ich geb mir schon mühe ich lern bloß seit heute morgen um 8:00 Uhr C++ und muss langsam ma ne Pause einlegen ^^

    Da hier schonmal das mit dem DOS Windows Fenster schließen angesprochen und beantwortet wurde habe ich eine Frage:

    #include <iostream>
    #include <fstream>
    #include <string>
    #include <conio.h>
    #include <windows.h>
    
    int main()
    {
    	std::string Satz;
    
        std::cout << "Dein Kommentar ----> ";
        std::cin  >> Satz;
    
        std::ofstream KommentarDatei("Kommentar.txt", std::ios_base::app);
        if (!KommentarDatei)
        {
            std::cout << "Dein Kommentar konnte nicht erstellt werden.\n";
            exit(1);
        }
    
        KommentarDatei << "Ein neuer Kommentar\n" << Satz << std::endl;
    
        std::cout << "Der Kommentar wurde erstellt!\n";
    
    	void wait()
    {
        FlushConsoleInputBuffer(GetStdHandle(STD_INPUT_HANDLE));
        getch();
    }
    
    	return 0;
    }
    

    Das ist das Script, aber dann kommt der Fehler, dass wait illegal wäre:

    C:\Dokumente und Einstellungen\Stefan.R2D2-H7ZO0HWXWM\Desktop\kommentarscript\Kommentar-Script.cpp(26) : error C2601: 'wait' : local function definitions are illegal
    Error executing cl.exe.



  • Hallo

    wenn schon so :

    #include <iostream>
    #include <fstream>
    #include <string>
    #include <conio.h>
    #include <windows.h>
    
    void wait()
    {
        FlushConsoleInputBuffer(GetStdHandle(STD_INPUT_HANDLE));
        getch();
    }
    
    int main()
    {
        std::string Satz;
    
        std::cout << "Dein Kommentar ----> ";
        std::cin  >> Satz;
    
        std::ofstream KommentarDatei("Kommentar.txt", std::ios_base::app);
        if (!KommentarDatei)
        {
            std::cout << "Dein Kommentar konnte nicht erstellt werden.\n";
            exit(1);
        }
    
        KommentarDatei << "Ein neuer Kommentar\n" << Satz << std::endl;
    
        std::cout << "Der Kommentar wurde erstellt!\n";
    
        wait();
    
        return 0;
    }
    

    Mach ne Pause, und dann lies dir erstmal ein Tutorial durch.

    bis bald
    akari



  • Danke! 😃

    Ahhh Tutorials o.o ne ne morgen geht's weiter ^^

    Noch eins: Warum kopiert mein Script nur ein einziges Wort in die Kommentar.txt ? 😑

    Man kann z.B. Hallo du da eingeben und es wird nur Hallo gespeichert.



  • Darthshoot. schrieb:

    Noch eins: Warum kopiert mein Script nur ein einziges Wort in die Kommentar.txt ? 😑

    Man kann z.B. Hallo du da eingeben und es wird nur Hallo gespeichert.

    Weil der >> Operator nur bis zu dem ersten Leerzeichen liest. Du kannst stattdessen std::getline verwenden.

    Darthshoot. schrieb:

    Ahhh Tutorials o.o ne ne morgen geht's weiter ^^

    Mal ehrlich, was bringt es dir, wenn du hier alles gesagt bekommst, wie du es machen musst?
    Es ist doch viel sinnvoller, dass du dir das selbst beibringst und selbst denkst und es dann auch verstehst, und nicht einfach nur hier abschreibst...
    Also, wie akari schon sagte, überstürz es doch nicht gleich.
    Bis man C++ halbwegs beherrscht, können mehrere Monate vergehen, das schafft man nicht in ein paar Tagen.



  • #include <iostream>
    #include <fstream>
    #include <string>
    #include <conio.h>
    #include <windows.h>
    
    void wait()
    {
        FlushConsoleInputBuffer(GetStdHandle(STD_INPUT_HANDLE));
        getch();
    }
    
    int main()
    {
    	std::string Satz;
    
    	std::cout << "Dein Kommentar ----> ";
        std::getline( cin, Satz );
    
        std::ofstream KommentarDatei("Kommentar.txt", std::ios_base::app);
        if (!KommentarDatei)
        {
            std::cout << "Dein Kommentar konnte nicht erstellt werden.\n";
            exit(1);
        }
    
        KommentarDatei << "Ein neuer Kommentar:\n" << Satz << std::endl;
    
        std::cout << "Der Kommentar wurde erstellt!\n";
    
        wait();
    
        return 0;
    }
    

    Da kommt ein Fehler und zwar das CIN nicht definiert sei.
    Was nun?

    P.S. Keine Bange ich lern ja auch aus den Lösungen die ihr mir schreibt.
    Ich kopier das net einfach nur dumm rein sondern ich schaus mir an und überleg warum das Script das macht, was es macht.



  • Hallo

    std::cin
    

    bis bald
    akari



  • akari schrieb:

    Hallo

    std::cin
    

    bis bald
    akari

    Ja, aber wenn ich das mache, wird wieder nur das erste Wort kopiert und der rest einfach weggelassen.



  • Hallo

    bei mir läuft das Programm mit der letzten Änderung korrekt, die Datei wird erweitert.
    Eventuell liegt das an dem Fehlerhaften COmpiler den du hast. Siehe die Hinweise zu Code::Blocks.

    bis bald
    akari



  • @Darthshoot2
    es muss

    std::getline([b]std::[/b]cin, Satz);
    

    heißen.



  • Jo danke jetzt klappts! 😃
    Ich freu mich schon auf morgen ^^ da gehts los mit weiterlernen!


Anmelden zum Antworten