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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 21, средняя оценка - 4.67
69_rys
0 / 0 / 0
Регистрация: 02.03.2007
Сообщений: 9
#1

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

02.06.2007, 04:34. Просмотров 2543. Ответов 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;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.06.2007, 04:34     Прекратить работу калькулятора при вводе любого символа, кроме числа
Посмотрите здесь:

C++ Нужно откоректировать программу которая будет при вводе любого числа, выводить чётное оно или нет
5. Напишите программу, которая при вводе вашего (любого) числа будет выводить число в два раза большее. C++
почему то при вводе числа не выдает сумму C++
C++ Зацикливает при вводе чётного числа. While
C++ Функция (при вводе любого слова с цифрами программа определила бы цифры)
C++ Напишите программу, которая при вводе любого символа, кроме x выдает этот же символ и номер шага, в противном случае - выходит.
При вводе в переменную нетипичного ей символа программа зацикливается C++
C++ Как прекратить работу программы?
C++ Ошибка -1.#IND при вводе не целого числа
C++ Ошибка при вводе числа
C++ Вылет программмы при вводе числа
C++ Как задать конец строки и прекратить при вводе определённого символа?

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Vourhey
Почетный модератор
6474 / 2249 / 123
Регистрация: 29.07.2006
Сообщений: 12,635
02.06.2007, 05:07     Прекратить работу калькулятора при вводе любого символа, кроме числа #2
компиллятор выдает потерю ";" перед return
Это от того, что не закрыл строку двойными кавычками: ...chislo!!!"endl;...

Только подключи еще билиотеку ctype.h там функция isdigit лежит. И все будет работать.
Yandex
Объявления
02.06.2007, 05:07     Прекратить работу калькулятора при вводе любого символа, кроме числа
Ответ Создать тему
Опции темы

Текущее время: 07:22. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru