getch()



  • Servus,

    ich brauche einen gute Variante um Zahlen > 9 mit getch() einzulesen (bin noch Newcomer). Ich kann aus unwichtigen Gründen nicht scanf und cin nehmen, deshalb:
    bitte gebt mir einen Tipp für die Eingabe von mehrstelligen Zahlen mit getch().



  • das könntest du insofern realisieren, indem du z.b. bei einer zweistelligen zahl die erste getch() eingabe als die anzahl der Zehner und die zweite eingabe als anzahl der Einer betrachtest, und nach der eingabe mit diesen informationen deine schlussendlich eingegebene zahl "bastelst".

    mfg
    #C



  • //ungetestet
    int getKey(){//pures getch ist lame wegen funktionstasten und so
       int result=getch();
       if(!result)
          result=getch()+256;
       return result;
    }
    
    int getIntHidden(){
       int result=0;
       char ch=getKey();
       while('0'<=ch && ch<='9'){
          result=result*10+ch-'0';
          ch=getKey();
       }
       //ups, was mache ich mit dem zuviel gelesenen zeichen?
       //ungetch(ch)//gibts sowas?
       //ach, egal, der user soll da ein ' ' oder '\n' eingegeben haben, das er 
       //eh nicht weiter gelesen haben will
       return result;
    }
    


  • ungetch() gibt es zumindest beim MSVC, ja. Aber wie getch() kommt es da eben auf den Compiler drauf an.

    MfG SideWinder


Anmelden zum Antworten