immerwieder diese Pfeiltasten



  • nop alle da
    😞



  • Kurze Zwischenfrage: Über welches } genau beschwert sich der Compiler?

    Ansonsten:

    do
    {
      if(kbhit()) key=getch();
      switch(key)
      {
        ...
      }
      while(1);//leere Endlos-Schleife
    }//ende do
    //hier fehlt die Abbruchbedingung -> Fehler
    

    Du hast das while(1) an der falschen Stelle (aber das wollte ich dir mit meinem vorletzten Beitrag schon erklären).

    PS: das "getch();" hinter der return-Anweisung ist übrigens auch sinnlos.



  • ehm wie sollte die Abbruchbedingung aussehen?
    er beschwert sich über die letzte schließende Klammer
    und jo das mit dem getch dem letzten war noch von nem Test von vorher deswegen stand der noch drin mein fehler 🙂



  • do
    {
      ...
    }while(ch!='\n');//als Beispiel
    

    GANZ WICHTIG ist, daß das while an der richtigen Stelle steht, sonst wird es als (leere) while()-Schleife interpretiert.

    (PS: Muß man dir eigentlich alle buchstabieren, damit du es verstehst? Oder versuchst du auch mal, die Antworten komplett zu lesen - und zu verstehen?)



  • ich bin ein fauler Mensch 🙂
    ich studiere Physik und mache das Programmieren nur nebenbei und beim Studium muss ich genug nachdenken.
    Deswegen ist es ja schön das es so nette hilfsbereite Leute wie dich gibt 😉



  • steve02 schrieb:

    Deswegen ist es ja schön das es so nette hilfsbereite Leute wie dich gibt 😉

    Das glaube ich dir gerne - nur das Denken wollte ich dir eigentlich nicht abnehmen 😃
    (wenn du studierst, solltest du dazu selber in der Lage sein :D)



  • du weest ja zwischen Physik und Informatik gibts so ein paar kleine Unterschiede 😉



  • *edit*edit es geht nun ..tjo aber ich hab keine Ausgabe ^^
    also ich hab kein Text obwohl er da is 😕
    also es fehlt der Text die Menupunkte sin da un wenn ich enter drücke startet der auch des aber halt ohne visuelle ausgabe. desweiteren springt der Cursor wenn ich nach unten drück nich zu menu2 sondern gleich menu3 ajo un irgendwie werden die "-" nicht gelöscht wenn ich pfeiltaste drück..aber mal abgesehn davon funktionierts -.-



  • steve02 schrieb:

    *edit*edit es geht nun ..tjo aber ich hab keine Ausgabe ^^
    also ich hab kein Text obwohl er da is 😕

    Was heißt das genau?

    also es fehlt der Text die Menupunkte sin da un wenn ich enter drücke startet der auch des aber halt ohne visuelle ausgabe.

    Setz mal einen Breakpoint int den "case 13:"-Zweig und schau nach, wie dort die Variablen belegt sind.

    desweiteren springt der Cursor wenn ich nach unten drück nich zu menu2 sondern gleich menu3

    Ich tippe auf einen Fehler bei deinem gotoxy()-Gekurve, aber da blicke ich nicht mehr durch.

    ajo un irgendwie werden die "-" nicht gelöscht wenn ich pfeiltaste drück..aber mal abgesehn davon funktionierts -.-

    Du mußt zum Löschen der Pfeile genausoviel Leerzeichen schreiben wie du vorher Zeichen hingesetzt hast - ein leerer String reicht dafür nicht aus. (oder in Deutsch: Ersetz' die cout<<"" in deinen Abfragen durch cout<<" ")

    du weest ja zwischen Physik und Informatik gibts so ein paar kleine Unterschiede 😉

    Vielleicht bei den Methoden, aber denken (und Texte verstehen) muß man in beiden Fächern genauso.



  • jo also die textausgabe geht jezze ich musste "flush" dahintermachen..also puffer leeren das mit dem das er zu punkt drei dierekt springt hab ich auch gelößt bleibt nur des prob das der die striche nit löscht



  • Lesen bildet - und in meinem letzten Beitrag stand auch die Lösung für dieses Problem:

    CStoll schrieb:

    ajo un irgendwie werden die "-" nicht gelöscht wenn ich pfeiltaste drück..aber mal abgesehn davon funktionierts -.-

    Du mußt zum Löschen der Pfeile genausoviel Leerzeichen schreiben wie du vorher Zeichen hingesetzt hast - ein leerer String reicht dafür nicht aus. (oder in Deutsch: Ersetz' die cout<<"" in deinen Abfragen durch cout<<" ")

    (das ist 'Anführungszeichen' 'Leerzeichen' 'Anführungszeichen' - du kannst die Striche nicht wirklich löschen, du kannst sie nur mit Leerzeichen überschreiben)



  • jo das hab ich da scho gehabt^^

    nu is das einzigste Problem was besteht das der Pfeil ins endlose nachunten geht während er wenn ich nach oben drücke er wieder zu menupunkt3 springt ..
    also wenn er bei menupunkt1 is un ich noch mal oben drück geht er zu menupunkt3 das is ja richtig so nur wenn ich auf menupunkt3 bin un nachunten drück geht er nich zu menupunkt1 sondern weiter nachunten -.-



  • Dann stimmt offenbar etwas nicht in deiner Tasten-Auswertung:

    unsigned int pos;
    while(1)
    {
      ch=getch()
      lösche Pfeil an Menüpunkt pos;
      if(ch="nach unten")
        pos=(pos+1)%menu_ct;
      else if(ch="nach oben")
        pos=(pos-1)%menu_ct;
      setze Pfeil an Menüpunkt pos;
      if(ch="Enter")
      {
        bearbeite Menüpunkt pos;
        break;
      }
      ch=0;
    }
    

    (in pos steht die Nummer des gewählten Menüpunktes von 0 bis menu_ct-1)



  • jo ich habs hab einfach noch ne bedingung eingebaut..das was du geschrieben hast war mir a weng zu kompliziert 🙂


Anmelden zum Antworten