programm schließt sich immer wieder



  • ich weiß zwar dass es dieses thema schon 999999999 mal gab aber ich weiß nie ob C auch Ansi C ist usw.

    also:

    #include <stdio.h>

    void main()
    {
    float x, y, z;

    printf("bitte wert eingeben\n");
    scanf("%g",&x);

    printf("bitte 2.wert eingeben\n");
    scanf("%g",&y);

    z = x * y;

    printf("Ergebniss: %g\n",z);
    }

    wenn ich dass programm ausführe erscheint dass ergebniss kurz und dann schließt sich dass programm.

    ich habe schonmal versucht eine while schleife einzubauen aber dann wiederholt sich dass ergebniss unendlich mal.

    könnt ihr mir helfen?



  • Konsolen-FAQ -> Automatisches Schließen verhindern

    MfG SideWinder



  • trottel schrieb:

    ich weiß zwar dass es dieses thema schon 999999999 mal gab aber ich weiß nie ob C auch Ansi C ist usw.

    mit void main ist es bestimmt nicht ANSI. Es muss int main.

    Wieso schreiben so viele immer void main?



  • 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


Log in to reply