Switch-Case Anwendung startet nicht



  • Hi Leute,
    ich bin ein Anfänger, weshalb mein Problem recht einfacher Natur sein könnte.
    Ich habe mir mal aus langeweile ein Programm erstellt, welches mir den Zugriff auf eine vorgegebene Internetseite erlaubt, welches auch super funktioniert:

    #include <iostream.h> 
    #include <windows.h>
    #include <shellapi.h>
    
    int main() 
    {
        ShellExecute(NULL, "open", "http://www.google.de", NULL, NULL, SW_SHOW); 
        system("PAUSE");
        return 0;
    }
    

    Dies versuchte ich nun in ein Programm zu bauen, mit dem ich eine zuvor gewählte Internet-Seite öffnen kann, doch es will einfach nichts passieren (Code auf 2 Seiten reduziert):

    #include <iostream.h> 
    #include <windows.h>
    #include <shellapi.h>
    
    int main() 
    {
        char Ant;
        cout << "Dieses Programm verbindet Sie mit der gewuenschten Internetseite:" << endl << endl
        << "1 - Google" << endl
        << "2 - Gmx" << endl
        << "Geben Sie die gewuenschte Nummer ein... ";
        cin >> Ant;
    
        switch (Ant)
        {
               case 1:
                    ShellExecute(NULL, "open", "http://www.google.de", NULL, NULL, SW_SHOW); 
                    system("PAUSE");
                    break;
               case 2:
                    ShellExecute(NULL, "open", "http://www.gmx.de", NULL, NULL, SW_SHOW); 
                    system("PAUSE"); 
                    break;
               default:
                    cout << endl << "Ungueltige Eingabe";
                    break;
        } 
      return 0; 
    }
    

    Erschließt sich einem von euch vielleicht das Problem.



  • char Ant; ➡ int Ant;



  • Lol, ich sach doch Anfänger.
    Vielen Dank, habe den Wald vor lauter Bäumen nicht gesehen.
    Ist es möglich, dass sich die exe danach von selber schließt und nicht auf eine Eingabe wartet.



  • boenz666 schrieb:

    Ist es möglich, dass sich die exe danach von selber schließt und nicht auf eine Eingabe wartet.

    Ja, die Frage wird so oft gestellt, dass es bereits einen FAQ-Eintrag dazu gibt. Such mal danach (oder du probierst mit std::cin.get() , was allerdings nur eine Zwischenlösung ist).



  • Oder gleich die Anwendung so starten, dass sie sich nicht schliesst. (Bei VC ist das dann CTRL + F5). Dann brauchst du da kein Workaround in den Code basteln.



  • Oder gleich die Anwendung so starten, dass sie sich nicht schliesst. (Bei VC ist das dann CTRL + F5). Dann brauchst du da kein Workaround in den Code basteln.

    😕 Die Anwendung soll sich ja schließen, sobald die Internetseite geöffnet wurde und nicht nicht schließen.

    Hoffe das folgendes noch nicht sooft gefragt wurde.
    Ich will das Programm jetzt soweit ändern, dass es mehrfach abläuft, was an und für sich auch kein Problem ist. Allerdings soll sich das Programm nach dem Öffnen jeder Internet-Seite in den Vordergrund schieben, um die direkte neue Einwahl abzuwarten, geht so etwas überhaupt??


Log in to reply