fehler beim kompilieren, oder muss das so sein?



  • heyho
    ehm, ja unzwar ist das ein bisschen komisch.

    selbst wenn ich nur ein ganz simpels programm kompiliere (ich nehm Dev-C++) wie das hier:

    #include <stdio.h>
    #include <stdlib.h>
    
    main()
    {
        printf("bla");   
    }
    

    und es dann starten will (mit klick auf die exe-datei), geht es nicht, weil es sofort wieder beendet wird.

    ich musste bis jetzt immer meine programme in der console suchen und starten (dann gings auch) oder das programm austricksen, z.B. so hier:

    #include <stdio.h>
    #include <stdlib.h>
    
    main()
    {
      int d;
      printf("da");
      scanf("$d", &d);   
    
    }
    

    aber das kanns doch nich sein, oder?
    mach ich irgendwas falsch?

    danke im voraus



  • Mach noch ein system("PAUSE"); rein, dann geht es

    #include <stdio.h>
    #include <stdlib.h>
    #include <process.h>
    
    int main()
    {
        printf("bla");  
        systen("PAUSE");
        return 0;
    }
    

    oder du machst es so, indem du noch eine Schleife reinhaust, die überprüft, ob du eine Taste drückst:

    #include <stdio.h>
    #include <stdlib.h>
    
    int main()
    {
        printf("bla");  
        while(!kbhit())
        {
        //hier keine Anweisung rein
        }
        return 0;
    }
    

    Ich weiss jetzt grad leider nur nicht, was du da für ne include datei brauchst.
    Hoffe ich habe mich nun nich vertippt.

    Lyrix



  • Oder du setzt immer folgendes:

    #include <stdio.h>
    
    int i;
    
    while ( (i = getchar()) != EOF )
                  ;
    

    EOF wird glaube ich mit [strg]+D oder so gesetzt.



  • ja danke
    aber ich meine das is doch nich der sinn der sache?!
    ihr müsst das doch auch nich machen, oder?
    muss ich vieleicht noch was bestimmtes einrichten bei dem compiler? mach ich vieleicht was beim compilieren falsch?
    muss ich noch irgendwas runterladen dass es geht?...
    bzw.: habt ihr was bestimmtes gemacht nachdem ihr euren compiler installiert habt?
    das hier is nun mittlerweile der 4. PC auf dem ich versuche das ordentlich zum laufen zu bringen...
    😞



  • Das Verhalten ist IMHO völlig normal. Wenn du z.B. eine Entwicklungsumgebung
    hast z.B. VC++ dann kannst du deine Programme übersetzen/binden und dann ausführen.

    Beim Ausführen wird dann immer ein Konsolenfenster geöffnet, dass auch bestehen bleibt.

    Dein Compiler funktioniert also bestens.

    Rufe die Programme eben am besten aus der Konsole auf, od. leg dir eben
    VC++ oder etwas ähnliches zu.



  • achso läuft das also
    danke schön 🙂



  • @Lyrix
    Wir sind hier im ANSI-C Forum und nicht im Konsolenforum. Außerdem ist system("PAUSE") das schlechteste was du tun kannst. Oder sprengst du daheim auch immer deine Türen mit Dynamit auf??



  • Siehe Konsolen-FAQ "Automatisches Schließen verhindern"

    MfG SideWinder



  • AJ schrieb:

    @Lyrix
    Wir sind hier im ANSI-C Forum und nicht im Konsolenforum. Außerdem ist system("PAUSE") das schlechteste was du tun kannst. Oder sprengst du daheim auch immer deine Türen mit Dynamit auf??

    Es waren nur zwei Beispiele wie er es machen könnte. Sicher gibt es andere (bessere), doch die sind mir eben spontan eingefallen 😉



  • Lyrix schrieb:

    Es waren nur zwei Beispiele wie er es machen könnte. Sicher gibt es andere (bessere), doch die sind mir eben spontan eingefallen 😉

    Allerdings gibt es nur bessere Beispiele dafür (und in ANSI-C muss man es sogar anders machen). Und wenn man den Neulingen immer wieder die schlechteste Lösung zeigt, dann nehmen sie es immer wieder her und genau das sollte verhindert werden.



  • ich bin bisher sehr gut mit der getch()-funktion gefahren. diese funktion fährt erst fort, wenn irgendeine taste gedrückt wurde. solange wird pausiert.
    benötigt wird die conio.h

    #include <stdio.h>
    [b]#include <conio.h>[/b]
    ...
    int main()
    {
      printf("bla");
      [b]getch();[/b]
      return 1;
    }
    

    heimschmiede


Anmelden zum Antworten