Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (ANSI-Standard) » Erneute Ausführung im Anschluss eines Programmes

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
24.05.2009, 20:14 Uhr
boenz666



Hi Leute,
ich habe ein Program, dass ich soweit schon recht gut zum Laufen gebracht habe. Es soll per Eingabe der jeweiligen Zahlen bestimmte Internetseiten abrufen. Allerdings nervt es total, dass es sich danach nicht in den Vordergrund verschieben lässt, bzw. ohne eine weitere Tasteneingabe automatisch neu starten lässt.

Ich habe in den letzten vier Tagen ziemlich viel gegooglet und Foren durchforstet und etliche Versionen entdeckt, welche zur Lösung der Problemstellung hätten führen können. Jedoch scheiterte es stets an der Unfähigkeit meinerseits den Code funktionstüchtig in mein Programm einzubinden oder die Hilfestellungen bestanden aus wagen Vermutungen bzw. waren unvollständig.

Deshalb hoffe ich, dass man mir hier ein bischen weiter helfen kann.
Dazu habe ich das Programm mal etwas schlichter gefasst, sprich 2 Internetseiten:


C++:
#include <iostream>
#include <iomanip>
#include <windows.h>
#include <shellapi.h>
#include <stdlib.h>

using namespace std;

int main()
{
    char e;
    int Ant,Passwort,a=0,i=0;
    cout<<"Passwort: ";
    cin>>Passwort;

    if (Passwort==a)
    {
    cout << "01 - Google" << endl
    << "02 - Gmx" << endl;

    while (i!=e)
    {
    cout << 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;
    }
    i++;
    }

    }
    else if (a!=2416)
    {
        cout << "FALSCH!" << endl;
    }
    std::cin.get();
    return 0;
}


Bedanke mich schonmal im Voraus für jede weiterbringende Hilfestellung...
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
24.05.2009, 23:17 Uhr
~f.-th.
Gast


Kommentare im Quelltext:

C++:
#include <iostream>
#include <iomanip>
#include <windows.h> // obwohl C++ führt  an diesem Header ja kein Weg vorbei -hoffentlich wird er benötigt - sonst weg damit
#include <shellapi.h>
#include <stdlib.h>   // warum C und oben C++ Header ??

using namespace std;

int main()
{
    char e;
    int Ant,Passwort,a=0,i=0;
    cout<<"Passwort: ";
    cin>>Passwort;

    if (Passwort==a)
    {
    cout << "01 - Google" << endl
    << "02 - Gmx" << endl;    // 01 oder 02 eine Zahl mit mehr als einer Ziffer?

    while (i!=e)     // hier kommt dein Code gar nicht in die Schleife
    {
    cout << 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");    // ich denke nur zu Testzwecken?
                break;
                case 2:
                ShellExecute(NULL, "open", "http://www.gmx.de", NULL, NULL, SW_SHOW);
                system("PAUSE");
                break;
                default:
                cout << endl << "Ungueltige Eingabe";
                break;
    }
    i++;    // automatisches Incrementieren? - was möchtest du damit erreichen - warum nicht per Eingabe ( Taste oder ....)
    }

    }
    else if (a!=2416)
    {
        cout << "FALSCH!" << endl;
    }
    std::cin.get();
    return 0;
}



War das deine Anfrage?
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
24.05.2009, 23:42 Uhr
boenz666



Danke schonmal für dein Bemühen:

Header: Die können etwas durcheinander geraten sein, dadurch, dass ich mir viel im I-Net zusammen gesucht habe.

Ziffer: Eingabe erfordert nur eine Ziffer. Die Linkvorschläge liegen bei mir in der vollständigen Version in einer großen Liste vor mit 40 Internetseiten. 0X existiert aufgrund von Symmetrie- gründen in der Tabelle.

Schleife: ??Das Programm funktioniert aber einwand frei??

system("PAUSE");: Stand irgendwo im I-Net mit dabei, kann das entferhnt werden?



Zitat:
i++; // automatisches Incrementieren? - was möchtest du damit erreichen - warum nicht per Eingabe ( Taste oder ....)

Das Programm wird nach der Eingabe einer Zahl erneut an den Punkt gebracht, an dem es wieder eine Zahl oder den Abbruch verlangt. Das was mein Ziel und das habe ich auch ereicht.


Meine Frage im Eigentlichen war so gedacht:
Wenn man jetzt 1 eingibt und Enter drückt, wird google geöffnet und in den Vordergrund gezogen. Das Programm erwartet, dass man eine beliebige Taste drückt, steht aber im Hintergrund. Angenommen ich würde (wählbare!) 20 Seiten öffnen wollen, dann muss ich immer erst per klick das Programm erneut in den Vordergrund bringen. Erst jetzt kann ich erneut etwas eingeben.

By the way: Kann ich dafür sorgen, dass das Program sofort die nächste Nummer verlangt, oder muss das mit der beliebigen Taste so sein?
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
25.05.2009, 07:50 Uhr
~f.-th.
Gast


Eventuell initialisiert mein Compiler das 'e' nach dem while anders?

Dann solltest du dir noch Infos zu switch - case aneignen.

Dann weist man schon auf einige Punkte hin und was kommt als
Antwort: "Es funktioniert alles an dem Programm"

Da frage ich mich, warum dieser Beitrag?

Ach ja, probier das doch einfach mal ohne

C++:
system("PAUSE");    // ich denke nur zu Testzwecken?



@Mod, ich hoffe das Schriftbild zeigt keine Auffälligkeiten
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
25.05.2009, 12:39 Uhr
boenz666




Zitat von ~f.-th.:
Dann weist man schon auf einige Punkte hin und was kommt als
Antwort: "Es funktioniert alles an dem Programm"

Da frage ich mich, warum dieser Beitrag?

Weil mir gesagt wurde, dass das Programm so nicht funktioniert. Wenn ich aber die Exe starte funktioniert das Programm nunmal einwandfrei, da kann ich ja auch nichts dafür, vielleicht hat er sich verguckt, oder ich habe die Antwort nicht verstanden. Ich bin ein Laie in C++, sollte ich sonst nochmal erwähnen.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ C / C++ (ANSI-Standard) ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: