Konsolenfenster schliesst sich einfach(FAQ gelesen und Google`sche Gleichung benutzt!)



  • Hi, also ich hab folgendes Problem, ich benutzte Visual Studio 2005 von Microsoft und habe von der Uni ein paar Bsp.-programme zum üben für c/c++ bekommen. Unter anderem auch ein Programm was eine Zahl in eine Fibonacci Zahl umwandelt.

    Jetzt habe ich also den Code und füge ihn bei Visual Studio ein (vorher natürlich noch nen neues Win32 konsolen c++ Projekt angelegt) und drücke F5 zum compilieren.

    Das DOS Fenster öffnet sich und gibt die erste Anweisung aus= "Geben sie an welche Fibonacci Zahl bestimmt werden soll",
    dann gebe ich eine Zahl ein und drücke Enter und ich sehe für 2 millisekunden das Ergebniss, (wenn überhaupt) und das DOS-Fenster schliesst sich wieder!
    Jetzt habe ich auch alle varianten --> system ("pause"); getch() usw. <--- ausproiert die hier stehen aber es funzt nicht und er zeigt immer irgendwelche Fehlermeldungen an! z.B. error C3861: "system": Bezeichner wurde nicht gefunden.

    Was mache ich falsch??
    Code=

    #include <cstdio>
    using namespace std;

    int main(){
    int iIPlusEins=1;
    int iI=1;
    unsigned int iFib=1;
    int x;

    printf("Geben sie an welche Fibonacci-Zahl bestimmt werden soll: ");
    fflush(stdout);
    scanf("%i", &x);

    if (x>=2){
    for(int i=2;i<=x;i++){
    iFib = iIPlusEins+iI;
    iI = iIPlusEins;
    iIPlusEins=iFib;
    }
    }
    else
    iFib=1;
    printf("%i", iFib);
    return 0;

    }



  • Majestik schrieb:

    ausproiert die hier stehen aber es funzt nicht und er zeigt immer irgendwelche Fehlermeldungen an! z.B. error C3861: "system": Bezeichner wurde nicht gefunden.

    Es fehlt:

    #include <stdlib.h>
    

    bzw.

    #include <cstdlib>
    


  • Hey vielen Dank, also das funktioniert jetzt!
    Jetzt soll ich eine beliebige Taste drücken zum beenden!!
    Es gibt jetzt nur noch ein anderes neues Problem, er schreibt diesen Satz "drücken sie eine..." genau an mein Ergebniss also so "34drücken sie eine....". bekommt man das noch weg?

    Und noch mal eine verständniss frage: An den UniRechnern und bei meinen Freunden geht das auch ohne "system("pause")" befehl das die konsole offen bleibt, woran kann das liegen? die haben den code wie oben gezeigt und das funzt!



  • Majestik schrieb:

    Hey vielen Dank, also das funktioniert jetzt!
    Jetzt soll ich eine beliebige Taste drücken zum beenden!!
    Es gibt jetzt nur noch ein anderes neues Problem, er schreibt diesen Satz "drücken sie eine..." genau an mein Ergebniss also so "34drücken sie eine....". bekommt man das noch weg?

    Du musst noch einen Zeilenumbruch mit ausgeben. (Stichwort: "\n").

    printf("Eine Nachricht\n");
    

    Majestik schrieb:

    Und noch mal eine verständniss frage: An den UniRechnern und bei meinen Freunden geht das auch ohne "system("pause")" befehl das die konsole offen bleibt, woran kann das liegen? die haben den code wie oben gezeigt und das funzt!

    An Windows oder Visual Studio. Windows 9.x schließt die Fenster nicht automatisch. Außerdem gibt es für manche IDEs Hilfsprogramme, die das Consolen-Fenster so lange offen lassen, bis eine Taste gedrückt wurde.



  • Oh man natürlich 🙄 ! Vielen vielen Dank. Jetzt geht alles wunderbar



  • Randbemerkung: Die Lösung mit system() funktioniert zwar, ist aber nicht gerade das Wahre - schau mal in die Konsolen-FAQ nach Alternativen.

    PS: sfds


Anmelden zum Antworten