If abfrage wiederholen



  • Hey, Hey

    Da ich mich im Moment, mit C++ Beschäftige.
    Habe ich das Problem mit einer If Abfrage.
    Ich habe diese Abfrage und habe das Problem,
    bei der Überprüfung den ich möchte das nach jeder
    Eingabe in „input“ die If abfrage erneut Ausgeführt
    wird, so was wie eine While schleife. Wie kann ich das Anstellen?

    Bin auch neu hier...Falls ich es im Falschen C++, bereich gepostet habe
    könnte es ein Mod. Verschieben? -Danke

    #include <iostream>
    #include <string>
    #include <conio.h>
    #include <cstdio>
    #include <windows.h> 
    
    using namespace std;
    
    int main(void)
    {
      //Strings
    
      string input;
    
      //Strings
    
      cout << "---Welcome to the Windows Administrator Console---" << endl
           << endl
           << endl
           << endl
           << "ConsoleLine : ";
           cin >> input;
           cout << endl;
    
           if (input != "")
           {
    
              cout << "This command is in the header file Console Line unavailable please\nchange the privilege to command line" << endl;       
              cout << endl
                   << "ConsoleLine : ";
    
           }
    
     cin.sync();       
     cin.get();
     return 0;    
    }
    

  • Mod

    Das Problem: if ist keine Schleife!
    Lösung: Mach eine Schleife drum!

    Siehe auch:
    www.if-schleife.de



  • Ok anders, formuliert.
    Wie kann ich die If Abfrage nach der Eingabe
    Wiederholen?

    LG Keybladmaster



  • SeppJ schrieb:

    Mach eine Schleife drum!



  • Leider, kommt wen ich etwas eingegeben haben
    die ganze Zeit der Text!
    Habe das ganze mal so angegangen :

    while(werte == false){   
    
           if (input != "")
           {
    
              cout << "This command is in the header file Console Line unavailable please\nchange the privilege to command line" << endl;       
              cout << endl
                   << "ConsoleLine : ";
    
           }
           }
    

    Entschuldigung, wenn ich etwas Begriffstutzig bin..
    Bin noch ganz frischer, anfänger 😞

    LG Keybladmaster



  • werte ändert sich in der Schleife ja auch nicht.



  • Also habe versucht die Werte immer zu Änder..
    Aber trz. funktioniert es nicht...

    while(werte == false){   
    
           if (input != "")
           {
    
              cout << "This command is in the header file Console Line unavailable please\nchange the privilege to command line" << endl;       
              cout << endl
                   << "ConsoleLine : ";
                   werte = false ;
    
           }
           werte = true;
           }
    

    Irgenwie habe ich ein Blackout...
    Weiß nicht direkt was ich machen soll 😞

    LG Keybladmaster



  • Du hast vergessen, input einzugeben. 😉



  • Hä?
    Ich komm nun gar nicht mehr mit...
    Habe eine While Schleife um die Abfrage..
    Habe die Werte geändert...und den cin >> input;
    eingefügt und trz. Klappt es nicht.... 😮 😞

    #include <iostream>
    #include <string>
    #include <conio.h>
    #include <cstdio>
    #include <windows.h> 
    
    using namespace std;
    
    int main(void)
    {
      //Strings
    
      string input;
    
      //Strings
    
      //Bool
    
      bool werte = false;
    
      //bool
    
      cout << "---Welcome to the Windows Administrator Console---" << endl
           << endl
           << endl
           << endl
           << "ConsoleLine : ";
           cin >> input;
           cout << endl;
    
        while(werte == false){   
    
           if (input != "")
           {
    
              cout << "This command is in the header file Console Line unavailable please\nchange the privilege to command line" << endl;       
              cout << endl
                   << "ConsoleLine : ";
                   cin >> input;
                   werte = false ;
    
           }
           werte = true;
           }
    
     cin.sync();       
     cin.get();
     return 0;    
    }
    

    LG Keybladmater



  • Dir fehlen glaube die Grundlagen. Ich habe auch erst versucht mit C++ anzufangen, aber man braucht einfach eine gute Einführung, sonst wird das nichts.

    Deine while-Schleife muss ja daran gekoppelt sein, ob ein Wert eingelesen wurde oder nicht.

    while(cin >> input)
    

    Input wird eingelesen und solange etwas gültiges eingelesen wurde, wird die Schleife wiederholt. Du kannst natürlich auch andere zusätzliche Abbruchbedingungen einbauen.
    Danach kannst du in deiner if-Abfrage überprüfen welchen Wert input hat bzw. haben sollte.



  • Wie schon gesagt "Frischer Anfänger".
    Also habe das ganze mal Umgeschrieben und Getestet.
    Habe aber Festgestellt das ich das Wort 2 mal eingeben muss das
    etwas kommt.Danach klappt es wen ich einmal was schreibe...
    Wie kann ich das Ändern?

    #include <iostream>
    #include <string>
    #include <conio.h>
    #include <cstdio>
    #include <windows.h> 
    
    using namespace std;
    
    int main(void)
    {
      //Strings
    
      string input;
    
      //Strings
    
      //Bool
    
      bool werte = false;
    
      //bool
    
      cout << "---Welcome to the Windows Administrator Console---" << endl
           << endl
           << endl
           << endl
           << "ConsoleLine : ";
           cin >> input;
           cout << endl;
    
        while(cin >> input){   
    
           if (input != "")
           {
              input = "";
              cout << "This command is in the header file Console Line unavailable please\nchange the privilege to command line" << endl;       
              cout << endl
                   << "ConsoleLine : ";
    
           }
           }
    
     cin.sync();       
     cin.get();
     return 0;    
    }
    

    LG Keybladmaster



  • Keybladmaster schrieb:

    cin >> input;
           cout << endl;
           
        while(cin >> input){
    

    🙄



  • Fühle mich gerade ein bisschen Verarscht 😃 😃
    Was soll das Bedeuten?

    LG keybladmaster



  • Das ist einfach ein Teil deines Codes. Du liest einen Wert ein bevor die while-schleife, nochmal etwas einliest.
    Wie gesagt, mit einem guten Buch ist man besser beraten, vor allem für solche grundlegenden Dinge.



  • Ok.
    Habe mich noch mal kurz damit beschäftigt.
    Und ich habe doch Tatsächlich wie ihr schon gesagt
    habt eine Doppel Eingabe gemacht...
    Habe das ganze kurz Behoben und nun Funktioniert es!

    #include <iostream>
    #include <string>
    #include <conio.h>
    #include <cstdio>
    #include <windows.h> 
    
    using namespace std;
    
    int main(void)
    {
      //Strings
    
      string input;
    
      //Strings
    
      //Bool
    
      bool werte = false;
    
      //bool
    
      cout << "---Welcome to the Windows Administrator Console---" << endl
           << endl
           << endl
           << endl
           << "ConsoleLine : ";
    
        while(cin >> input){   
    
           if (input != "")
           {
              input = "";
              cout << "This command is in the header file Console Line unavailable please\nchange the privilege to command line" << endl;       
              cout << endl
                   << "ConsoleLine : ";
    
           }
           }
    
     cin.sync();       
     cin.get();
     return 0;    
    }
    


  • Nur so aus Interesse: was hast du denn vor?

    Sollen da bestimmte Commands eingelesen werden (so wie bei der Windows prompt z.B. ping xxx.com) ?


Log in to reply