programm schließt sich immer wieder



  • weil in jedem 2. buch void main() steht? sogar mein früherer programmierlehrer hats so geschrieben... allerdings nach 6 monaten drauf hingewiesen, dass es so was wie einen ANSI standard gibt...

    mfg
    c.reiner



  • also ich lerne programmieren durch ein buch.

    da steht drauf AnsiC und dort ist alles mit void main.

    woher weiß ich ob ich ein konsolenprogramm oder etwas sonstiges habe



  • dann sollte man das Buch schmeißen, weil ein Buch dass behauptet ANSI C Buch u sein und void main zu benutzen, ist sicherlich kein so gutes Buch.

    woher weiß ich ob ich ein konsolenprogramm oder etwas sonstiges habe

    Wenn dein Programm unter der Konsole läuft und keine graphsiche Oberfläche hat, dann ist es ein Konsolenprogramm



  • also ist void main sozusagen veraltet?



  • Ja. Besser gesagt: Ein Fehler.

    MfG SideWinder



  • schöner nickname 😉

    lies dir mal den folgenden beitrag aus der FAQ durch:
    http://www.c-plusplus.net/forum/viewtopic.php?t=39346

    mfg
    c.reiner

    EDIT: führt die diskussion nicht ein bisschen vom thema weg?



  • och nöö.

    aber trotzdem danke



  • Dieser Thread wurde von Moderator/in AJ aus dem Forum ANSI C in das Forum DOS und Win32-Konsole verschoben.

    Im Zweifelsfall bitte auch folgende Hinweise beachten:
    C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?

    Dieses Posting wurde automatisch erzeugt.



  • k, ein bisschen englisch muss man schon können 😉



  • AnsiCnichtblicker schrieb:

    also ist void main sozusagen veraltet?

    void main war nie standard



  • Hi

    Ich frag mich warum sooo viele immer noch meinen es müsse
    void main heißen ..... 😑 Liegt wohl an den ganzen C/C++ Büchern die schon
    lange veraltet sind aber immer noch verkauft werden ..... ⚠

    naja egal will hier wieder keine diskussion über void main anfangen 😉

    cu



  • Bei mir geht das Programm ohne Probleme muss ich mal sagen... ich hab einfach mal deinen Quellcode genommen und getestet !



  • bei mir schließt es auch immer wieder.

    hängt dass am compiler?



  • Nein das kommt darauf an wie du das Programm startet 😃

    MfG SideWinder



  • und wie startest du es damit es richtig läuftt?



  • ok, nochmal speziell für leute, die probleme mit der forum-suchfunktion haben:

    1. Konsolenprogramme schließen sich !immer! selbstständig, wenn sie den Code innerhalb der "int main ()"-Funktion abgearbeitet haben.

    2. Deshalb gibt es einige Tricks um das Programm am Leben zu halten:
    z.b. man schreibt ans ende "system('Pause');". Da das aber nur windows-spezifisch ist, bez. inkompatibel mit vielem ist, benutzt man lieber sinnlose Tastatureingabeabfragen. Z.B.

    int wasweißich=0;
    std::cin>>wasweißich;
    return 0;
    

    3. Alternativ kann man aber auch die Windows-Eingabeaufforderung ausführen und dann dann programm über "dateiname-ohne-endung" ausführen.
    Dabei bleibt die gesamte Ausgabe des Programms sichtbar.

    mfg,
    chris90 🙂



  • chris90 schrieb:

    2. Deshalb gibt es einige Tricks um das Programm am Leben zu halten:
    z.b. man schreibt ans ende "system('Pause');". Da das aber nur windows-spezifisch ist, bez. inkompatibel mit vielem ist, benutzt man lieber sinnlose Tastatureingabeabfragen. Z.B.

    int wasweißich=0;
    std::cin>>wasweißich;
    return 0;
    

    Sinnlose Tastatureingaben 😃 und was ist system("PAUSE") bitte schön?? Übrigens gibts noch mehr Gründe, warum man es nicht verwenden sollte. Dann doch lieber "sinnlose Tastatureingaben". Oder man gewöhnt sich an das:

    3. Alternativ kann man aber auch die Windows-Eingabeaufforderung ausführen und dann dann programm über "dateiname-ohne-endung" ausführen.
    Dabei bleibt die gesamte Ausgabe des Programms sichtbar.

    Ich will aber mein Programm mit Endung ausführen. :p



  • mh das war klar das mein Beitrag Leutz wie AJ zum Lachen bringt.
    Aber vergiss nicht, dass er für Anfänger gedacht war und jeder etwas erfahrenerer Programmierer das nat. weiß. Komm mal ein bisschen runter.

    Achja, system("Pause") kann, solange vom Betriebssystem unterstützt, eine sinnvolle Lösung zum Haltepunkten sein. Aber: Am Ende sollten Konsolenspezifische Befehle nicht mehr im Sourcecode stehen.

    mfg,
    chris90



  • Haltepunkte? Do you know "Debugger"? 🙂

    MfG SideWinder



  • chris90 schrieb:

    mh das war klar das mein Beitrag Leutz wie AJ zum Lachen bringt.
    Aber vergiss nicht, dass er für Anfänger gedacht war und jeder etwas erfahrenerer Programmierer das nat. weiß. Komm mal ein bisschen runter.

    1. war es nicht dein Beitrag, der mich nach deiner Meinung zum Lachen gebracht hat (ich würde es aber eher Grinsen nennen), sondern der Ausdruck "sinnlose Tastatureingaben" (weil er mir gefällt)

    2. Brauch ich nicht irgendwo runterzukommen (auch wenn ich diese Woche in der Arbeit vom 1. Stock in den 2. gezogen bin)

    3. Wie soll ein Anfänger jemals lernen, wie ein erfahrener Programmierer das macht, wenn man es ihm nicht sagt? Dass man es mit system("PAUSE") machen kann, findet jeder halbwegs intelligente Anfänger selber raus.

    Achja, system("Pause") kann, solange vom Betriebssystem unterstützt, eine sinnvolle Lösung zum Haltepunkten sein.

    Als Haltepunkt sehe ich das absolut fehl am Platz. Schließlich wird meistens auch eine Meldung ausgegeben, die ich evtl. gar nicht haben will und noch dazu meine Gesamtausgabe verfälschen kann -> nicht Sinn der Sache. Außerdem hab ich dir schon gesagt, dass es noch ganz andere Gründe gibt, warum man es nicht mit system("...") macht. Jetzt kommt wieder mein Lieblingsvergleich:

    Man kann eine Tür mit dem Schlüssel öffnen (-> Eingabefunktion) oder sie aufsprengen (-> system("PAUSE")).

    Aber: Am Ende sollten Konsolenspezifische Befehle nicht mehr im Sourcecode stehen.

    Das ist wieder ganz was anderes. Wenn ich ein konsolenspezifisches Programm habe, dann macht es sogar sehr wohl Sinn konsolenspezifische Befehle im Code zu haben. Allerdings sollten keine systemspezifische Kommandointerpreterbefehle im Code enthalten sein. Vielleicht hast du das auch gemeint, aber leider nicht richtig beschrieben.


Anmelden zum Antworten