@Noxilex

Как запретить ввод букв в C++?

#include <iostream>

using namespace std;

int main() {
  cout << "\t\t\tКалькулятор\n\n" << endl;
  cout << "Выберите операцию: " << "\n\n";
  int num1, num2, todo;
  cout << "1 - Сложение (+)\n" << "2 - Вычитание (-)\n" << "3 - Умножение (*)\n" << "4 - Деление (/)\n" << endl;
  cin >> todo;
  cout << endl;
  cout << "Введите первое число: " << endl;
  cin >> num1;
  cout << endl;
  cout << "Введите второе число: " << endl;
  cin >> num2;

  switch(todo) {
  case 1: {
    cout << "\nРезультат: " << num1 + num2 << "\n\n";
  } break;

  case 2: {
    cout << "\nРезультат: " <<  num1 - num2 << "\n\n";
  } break;

  case 3: {
    cout << "\nРезультат: " << num1 * num2 << "\n\n";
  } break;

  case 4: {
    cout << "\nРезультат: " << num1 / num2 << "\n\n";
  } break;
  }
}
  • Вопрос задан
  • 71 просмотр
Пригласить эксперта
Ответы на вопрос 2
Zoominger
@Zoominger
System Engineer
isDigit() же.
www.c-cpp.ru/content/isdigit
Засуньте проверку в бесконечный цикл с выходом из него, если введено число. Разберётесь?
Ответ написан
vitaliykyq
@vitaliykyq
Как вариант то можно с помощью цикла:

bool flag = false;
for(int i = 0; i<100000; i++){
if(num1 == i){
flag = true;
break;
}
if(flag){
....(проверка второго или же продолжение задачи)
}else{
cout << "Введите число";
}

Как вариант, такое может быть, но оно будет очень затратным.
Оно хорошо себя покажет в случаи если есть диапазон, например: "Введите число от 0 к 100", тогда этот вариант можно использовать.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
02 апр. 2020, в 16:07
3000 руб./за проект
02 апр. 2020, в 16:01
5000 руб./за проект
02 апр. 2020, в 15:54
1000 руб./за проект