Только читать цифры из пользовательского ввода

Positron спросил: 13 октября 2017 в 06:59 в: c++

Я пытаюсь написать функцию, которая читает только четыре целых числа из пользовательского ввода, например так: ewzge242jfdsiii23. Так что предполагается сохранить только 2422. Это мой код, и он просто дает мне странный вывод, если я позволю это может быть номером. Можете ли вы увидеть мои ошибки и объяснить, почему я не могу сделать это так, как я, и что я могу сделать вместо этого? Большое спасибо!

    int readnumber ( ) {   char kar, ont_kar, ont_ont_kar;
      int number;
    while (kar != '\n' ){
             cin.get (kar);
        if (kar >= '0' && kar <= '9') {
            old_kar=kar;
            old_kar = old_kar*10 + (kar - '0');
            old_old_kar = old_kar ;
        } //if
    } //while
    if (old_kar < 9999) {        number=old_kar;
    }//if
    else {        number=old_old_kar;
    }//else}//readnumber

0 ответов