tutorials.de Buch-Aktion 05/2012
Seite 1 von 2 12 LetzteLetzte
ERLEDIGT
NEIN
ANTWORTEN
23
ZUGRIFFE
11373
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Avatar von Piesbruhder
    Piesbruhder Piesbruhder ist offline Mitglied Silber
    Registriert seit
    Feb 2002
    Ort
    Biebesheim (Hessen)
    Beiträge
    80
    Hallo Freunde! Ich bins mal wieder, war ja ein paar Wochen nur
    Zuschauer. Also, mich belästigte das Problemchen schon länger
    aber jetzt will ich endlich wissen was ich tun kann.

    Wenn ich z.B. ein HelloWorld-Programm schreibe (Wollt ihr einen
    Sourcecode damit ihr wisst was ich meine? )dann öffnet sich
    die Konsole (oder auf deutsch: ein fenster mit schwarzem Hintergrund)
    und es wird etwa eine halbe Sekunde lang HELLO WORLD! angezeigt.
    und sofort schließt sich das Fenster wieder.
    Aber in Tutorials und Dokumentationen steht am ende immer sowas wie
    BELIEBIGE TASTE DRÜCKEN... oder sowas, wisst ihr?

    Das alles ist so unter WindowsME aber früher auf Win98 wars genauso.
    Compiler is VC6 Autorenversion. Aber auf meinem alten Win98 hatte ich
    auch mal die StandartEdition zum ausprobieren drauf und es war genauso.
    Was kann ich tun?

    Ich hoffe dass mir jemand helfen kann. bis demnächst!
     
    ---------- Piesbruhder -----------
    -----dumm wenn man blöd ist!------

    http://wald.heim.at/urwald/541003/computer.gif

  2. #2
    Registriert seit
    Nov 2001
    Ort
    Gießen
    Beiträge
    4.091
    klar, denn bei diesem code hier...
    Code :
    1
    2
    3
    4
    5
    6
    7
    
    #include <stdio.h>
     
    int main(int argc, char *argv[])
    {
      printf("Hello, World!\n");
      return 0;
    }

    ...ist nach der printf-anweisung das programm auch schon zu ende (gibt aber vorher noch einen wert zurück).

    du kannst das programm offen halten, indem du vor ende der main-funktion noch
    Code :
    1
    
    getch();
    benutzt. ist zwar nicht ansi-konform, aber funktioniert.
     
    "You could say that I was too lazy to calculate and so I invented the computer." -- Konrad Zuse

  3. #3
    Robert Martinu Robert Martinu ist offline Mitglied Rubin
    Registriert seit
    Nov 2001
    Ort
    Wien
    Beiträge
    1.390
    Drück mal <ctrl>+<F5> bzw. "Programm ausführen" statt "ausführen".
     

  4. #4
    Avatar von Piesbruhder
    Piesbruhder Piesbruhder ist offline Mitglied Silber
    Registriert seit
    Feb 2002
    Ort
    Biebesheim (Hessen)
    Beiträge
    80
    Daishi du bist ein Genie!
    es ****t...
    DAnKE!
     
    ---------- Piesbruhder -----------
    -----dumm wenn man blöd ist!------

    http://wald.heim.at/urwald/541003/computer.gif

  5. #5
    Registriert seit
    Apr 2002
    Ort
    Poing
    Beiträge
    197
    Original geschrieben von Daishi
    Drück mal <ctrl>+<F5> bzw. "Programm ausführen" statt "ausführen".
    Sorry, aber ich versteh nicht was du damit meinst.
     

  6. #6
    Robert Martinu Robert Martinu ist offline Mitglied Rubin
    Registriert seit
    Nov 2001
    Ort
    Wien
    Beiträge
    1.390
    Üblicherweise startet man das Programm mit <F5>;
    Die enstsprechenden Icons in der Werkzeugleiste währen eine bedruckte Seite mit Pfeil nach unten für <F5> und ein rotes Rufzeichen für <ctrl>+<F5>
     

  7. #7
    Totobuvika Totobuvika ist offline Grünschnabel
    Registriert seit
    May 2008
    Ort
    Remscheid
    Beiträge
    3
    #include <stdio.h>
    #include <stdlib.h>
    #include <string.h>

    int main(int argc, char *argv[])
    {
    char txt[81];
    void *pointer;

    while(1) { //Endlosschleife
    pointer = strstr(txt, "exit");
    if(pointer) {
    break; //Schleife abbrechen
    }
    printf("Bitte eine Zeichenkette eingeben (max. 80 Zeichen)!\n\n");
    scanf("%80s", txt);
    printf("\nZeichenkettenlaenge: ");
    printf("%d", strlen(txt));
    printf("\nDu hast eingegeben: ");
    printf("%s", txt);
    printf("\n\n");
    }

    exit(0);
    return 0;
    }
     
    Home is where the index.html is.

  8. #8
    Avatar von sheel
    sheel sheel ist gerade online Moderator
    tutorials.de Moderator
    Registriert seit
    Jul 2007
    Beiträge
    4.500
    Und? Was ist das jetzt?
     

  9. #9
    Totobuvika Totobuvika ist offline Grünschnabel
    Registriert seit
    May 2008
    Ort
    Remscheid
    Beiträge
    3
    Das eigentliche Programm wird in eine While-Schleife gepackt. Als Abbruchbedingung dient eine bestimmte einzugebende Zeichenfolge, im Beispiel „exit“. Also, beim Einlesen dieser Zeichenfolge verlässt das Programm die Schleife, und mit dem Befehl exit(0); wird das Konsolenprogramm beendet und geschlossen.

    system("PAUSE"); oder getch(); würden zwar das Programm nach Drücken einer Taste schließen, aber dann hat man eben leider keine Chance, weitere Eingaben zu tätigen.
     
    Home is where the index.html is.

  10. #10
    Avatar von sheel
    sheel sheel ist gerade online Moderator
    tutorials.de Moderator
    Registriert seit
    Jul 2007
    Beiträge
    4.500
    Kann man natürlich auch so lösen.
    Aber findest du nicht, dass du 8,5 Jahre zu spät bist?

    scanf hat bei Strings übrigens ein Problem mit Whitespaces.
    Und am Schluss braucht man nicht exit und return, nur return reicht auch.

    Gruß
    Totobuvika bedankt sich. 

  11. #11
    Totobuvika Totobuvika ist offline Grünschnabel
    Registriert seit
    May 2008
    Ort
    Remscheid
    Beiträge
    3
    Ha ha, ja der Thread ist uralt. Na, und ich habe gerade kürzlich begonnen, mir C beizubringen (was mit PHP-Kenntnissen nicht all zu schwer fällt), aber dieses Anfängerproblem mit der sich selbst schließenden Konsole hatte ich eben auch.

    Ich habe mir einen Wolf gesucht und eigentlich immer nur ziemlich alte Forenbeiträge gefunden, deren Lösungsansätze aber für mein Miniprogramm nicht so recht geeignet waren.

    Wie ich das mit den Leerzeichen lösen soll, die bei scanf einfach nicht eingelesen werden, weiß ich leider noch nicht. Echt blöd. Mit Basic oder Pascal war das mit den Strings irgendwie alles einfacher.
     
    Home is where the index.html is.

  12. #12
    Avatar von sheel
    sheel sheel ist gerade online Moderator
    tutorials.de Moderator
    Registriert seit
    Jul 2007
    Beiträge
    4.500
    Fürs scanf("%s",...); kannst du die Funktion gets bzw. fgets nehmen
    Statt
    scanf("%s",txt);
    gets(txt);
    Das nimmt auch die Leerzeichen mit, hat aber dafür keine Möglichkeit zur Längenangabe.
    Wenn der Benutzer mehr als 80 Zeichen eingibt, gibts ein Problem.

    Deshalb fgets:
    fgets(txt,80,stdin);

    Gruß
     

  13. #13
    Avatar von MSVCplusplus
    MSVCplusplus MSVCplusplus ist offline Mitglied Brokat
    Registriert seit
    Dec 2010
    Ort
    Hessen
    Beiträge
    336
    es gibte eine sehr einfache methode:
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    
    #include<iostream>
    #include<windows.h>
     
    using namespace std;
     
    int main()
    {
    cout<<"Hello World"<<endl;
     
    system("PAUSE");
    }

    MFG
     

  14. #14
    Avatar von sheel
    sheel sheel ist gerade online Moderator
    tutorials.de Moderator
    Registriert seit
    Jul 2007
    Beiträge
    4.500
    ...wobei diese nicht gerade zu empfehlen ist, da sie
    1) ein externes Programm benötigt
    2) Immer einen Text ausgibt, auch wenn man ihn nicht will
    3) Extrem langsam ist
     

  15. #15
    Avatar von ComFreek
    ComFreek ComFreek ist offline [x] Let it be logic!
    tutorials.de Moderator
    Registriert seit
    Jun 2009
    Beiträge
    2.358
    Blog-Einträge
    4
    Wie wäre es mir cin.get()? Allerdings muss man Enter drücken, damit die Funktion beendet wird.
     
    mfg ComFreek

    Falls ich dir geholfen habe, würde ich mich über ein DANKE freuen!
    Kenn mich am besten aus in C++, WEB-Sprachen (PHP, HTML, JavaScript) und vllt. mehr
    [PHP] Überprüfen, ob Website erreichbarSicherheit in PHP-Codes schaffenGoogle Chrome-Extension für tutorials.dejson_compress()

Ähnliche Themen

  1. VB 2005 schließt Konsole nicht mehr
    Von sydmak im Forum .NET Windows Forms
    Antworten: 1
    Letzter Beitrag: 31.08.07, 09:38
  2. IE6 schließt mein Popup sofort wieder.
    Von Ardaric im Forum Javascript & Ajax
    Antworten: 2
    Letzter Beitrag: 23.10.06, 09:54
  3. Das Programm schließt sich sofort.. :S
    Von Quol im Forum C/C++
    Antworten: 1
    Letzter Beitrag: 14.07.06, 16:34
  4. Das Programm schließt sich sofort.. :S
    Von Quol im Forum C/C++
    Antworten: 9
    Letzter Beitrag: 14.07.06, 09:55
  5. DOS-Fenster schließt sich sofort
    Von honeyboy im Forum C/C++
    Antworten: 10
    Letzter Beitrag: 09.03.04, 15:37