Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <locale>
- #include <stdio.h>
- using namespace std;
- int main()
- {
- enum { min_val = -32767, max_val = 32767 };
- int A, B, C;
- char str[2]; // Будем вводить макс. один символ для проверки наличия лишнего
- printf("nВведите, пожалуйста, целое число A!n");
- for (;;) {
- int num = scanf(
- "%d" // Наше число. Будет введено 0 полей, если первый символ не-цифра
- "%1[^n]" // Проверяем что угодно кроме конца строки
- "%*[^n]", // Чистим ввод до n
- &A, // Сюда число
- str // Сюда проверку наличия чего-либо за числом
- );
- if (num != 1) {
- printf("Ошибка,только целые числа!n");
- // Вот если первый символ был не-цифра -- то нужно дочистить до конца строки
- if (num == 0) scanf("%*[^n]");
- }
- else if (A < min_val || A > max_val) {
- printf("Число должно быть в диапазоне %d..%dn", min_val, max_val);
- }
- else {
- printf("Успех! A = %dn", A);
- break; // Из for(;;)
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement