Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

Прекратить работу калькулятора при вводе любого символа, кроме числа - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Найти количество элементов массива, больших заданного С http://www.cyberforum.ru/cpp-beginners/thread4669.html
Задание такое: В одномерном массиве, состоящем из n вещественных элементов, вычислить: 1. количество элементов массива, больших С; 2. произведение элементов массива, расположенных после...
C++ "Задача женихов и невест" подскажите как делать задачку? заданы 2 множества (a и b) одинаковой размерности и заданы 2 матрицы предпочтения элементов одного множества на другом. Чем меньше индекс тем предпочтительней... http://www.cyberforum.ru/cpp-beginners/thread4662.html
Напечатать верхний треугольник матрицы, включая элементы главной диагонали, по строкам C++
Квадратная матрица размером NxN задана в виде одномерного массива по строкам. Напечатать верхний треугольник матрицы включая элементы главной диагонали по строкам. Буду очень благодарен!
Где можно найти описание функций С++? C++
Подскажите , плиз, где можно найти самое подробное описание функций С++ (синтаксис, прототип, описание, что является результатом данной функции, возвращаемое значение, пример программного кода),...
C++ Программа "Робот в лабиринте" http://www.cyberforum.ru/cpp-beginners/thread4641.html
программа на тему "Робот в лабирине".Программа должна отображать очертания лабиринта и робота и позволять управлять движением робота по лабиринту с помощью клавиш на клавиатуре или кнопок мыши.При...
C++ Помогите решить несколько задач на Borland C++ Задание 1. Программа содержит структуру, которая состоит из массива типа long на десять элементов и указателя на тип int. Написать программу, которая за-полняет массив по формуле a=4 (i=0...9), по... подробнее

Показать сообщение отдельно
69_rys
0 / 0 / 0
Регистрация: 02.03.2007
Сообщений: 9

Прекратить работу калькулятора при вводе любого символа, кроме числа - C++

02.06.2007, 04:34. Просмотров 2568. Ответов 1
Метки (Все метки)

Здравствуйте, я все с тем же калькулятором.решил сделать проверку на вводимые данные, т.е. что бы работа
программы прекращалась при вводе любого символа кроме числа. Использовал функцию isdigit() перепробовал много вариантов, но ничего не получалось. Придумал данный вариант(строки 29-31), но проверить не могу т.к. компиллятор выдает потерю ";" перед return. Более того, при постановки знака комментария // шрифт зеленым не становится и как коммент текст не вводится. Прошу объяснить в чем же дело и написать верный фрагмент кода, если этот не работает.

отдельный фрагмент кода, сама "проблема":
C++
1
2
3
if (isdigit(a)) cout"Vichislenia: "; //29 stroka  
else {cout"!!!neobxodimo vvesti chislo!!!endl; 
return 1; }
весь код:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
#include  iostream;
#include  math.h;
#include  locale.h;
using namespace std;
double a, b;
char z;
 
int main() {
cout"  DOPUSTIMYE OPERACII: "endl;
cout"1. slowenie                      (null, +)"endl;
cout"2. vichitanie                    (null, -)"endl;
cout"3. umnowenie                     (null, *)"endl;
cout"4. delenie                       (null, /)"endl;
cout"5. vozvedenie v stepen'          (null, ^)"endl;
cout"6. vichislenie kvadratnogo korna (q)"endl;
cout"7. cos                           (null, c)"endl;
cout"8. sin                           (null, s)"endl;
cout"9. tan                           (null, t)"endl;
cout"10. log10                        (null, l)"endl;
 
coutendl"   vvedite znak operacii: "endl;
cin ;; z;
if (('l'==z)||('s'==z)||('c'==z)||('t'==z)||('q'==z))
 {cout  "vvedite chislo: "endl;
cin ;; a;
 
 
if (isdigit(a)) cout"Vichislenia: "; //29 stroka  
else {cout"!!!neobxodimo vvesti chislo!!!endl; 
return 1; }
}
 
 
 
else 
{cout"vvedite chislo_1: "endl;
cin ;; a;
cout "vvedite chislo_2: " endl;
cin ;; b;}
if ('+'==z) cout  a"+"b"="a+b;
else if('-'==z) cout a"-"b"="a-b;
else if('*'==z) cout a"*"b"="a*b;
else if('/'==z) cout a"/"b"="a/b;
else if('c'==z) cout cos(a)endl;
else if('s'==z) cout sin(a)endl;
else if('^'==z) cout pow(a, b)endl;
else if('t'==z) cout tan(a)endl;
else if('q'==z) cout sqrt(a)endl;
else if('l'==z) cout log10(a)endl;
return 0;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru