Как сделать так чтобы когда я написал вместо числа букву выдавало сообщение ошибки?

#include <iostream> 
using namespace std;

int main() 
{ 
  a:
    setlocale(0, ""); 
        double num;
    /*7*/ int a, b;
    cout << "   Please, type first number: "; 
    cin >> a;
    cout << "   Please, type one of number (1=+) (2=-) (3=/) (4=*) )";
    cin >> num;
    cout << "   Please, type second number: "; 
    cin >> b; 
    if (num == 1) {
        int c = a + b;
    cout << "   Total = " << c << endl;
    }
    if (num == 2) {
        int c = a - b;
    cout << "   Total = " << c << endl;
    }
     if (num == 3) {
        int c = a / b;
    cout << "   Total = " << c << endl;
    }
         if (num == 4) {
        int c = a * b;
    cout << "   Total = " << c << endl;
    }
    goto a;

    return 0; 
}

Принимай данные как массив char, и создай функцию проверки его элементов через «for (int i = 0; i < strlen(charBuf); ++i)».
Ну то есть «if (charBuf[i] >= '0' && charBuf[i] <= '9')» бла-бла... Иначе «break;».
Потом если все ОК, то этот массив переводишь в число с помощью «atoi();»
Понадобится подключить еще библиотеки <cstring>, <cstdlib>, а так всё.
Первое, что пришло в голову, извините :(

Внимание! Это довольно старый топик, посты в него не попадут в новые, и их никто не увидит. Пишите пост, если хотите просто дополнить топик, а чтобы задать новый вопрос — начните новый.

Ответить

Вы можете использовать разметку markdown для оформления комментариев и постов. Используйте функцию предпросмотра для проверки корректности разметки.

Пожалуйста, оформляйте исходный код в соответствии с правилами разметки. Для того, чтобы вставить код в комментарий, скопируйте его в текстовое поле ниже, после чего выделите то, что скопировали и нажмите кнопку «код» в панели инструментов. Иначе ваш код может принять нечитаемый вид.

Либо производите оформление кода вручную, следующим образом:

``` #include <iostream> using namespace std; int main() { // ... } ```

Предпросмотр сообщения

Ваше сообщение пусто.