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

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

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

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

02.06.2007, 04:34. Просмотров 2559. Ответов 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
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.06.2007, 04:34
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Прекратить работу калькулятора при вводе любого символа, кроме числа (C++):

Напишите программу, которая при вводе любого символа, кроме x выдает этот же символ и номер шага, в противном случае - выходит. - C++
Нужна программа, которая при вводе любого символа, кроме x выдает этот же символ и номер шага. При вводе x программа заканчивает работу. ...

Как задать конец строки и прекратить при вводе определённого символа? - C++
Добрый день! Подскажите, пожалуйста, как задать конец строки при вводе определённого символа. Например, char mass , но при вводе с...

5. Напишите программу, которая при вводе вашего (любого) числа будет выводить число в два раза большее. - C++
Напишите программу, которая при вводе вашего (любого) числа будет выводить число в два раза большее.(на языке С) Добавлено через 42...

Нужно откоректировать программу которая будет при вводе любого числа, выводить чётное оно или нет - C++
Здравствуйте, мне нужно откоректировать программу которая будет при вводе любого числа, выводить чётное оно или нет. Я попытался...

Почему при вводе числа программа работает нормально, а при вводе буквы уходит в бесконечный цикл? - C++
void mainmenu() { cout << "Введи число" << endl; cin >> choice; if (choice == 1) { cout << "Hello" << endl; } ...

Составить программу, которая при вводе символа с клавиатуры выво-дит "латинская буква" при вводе латинской буквы и "не латинская бук-ва" во всех остал - C++
Составить программу, которая при вводе символа с клавиатуры выво-дит "латинская буква" при вводе латинской буквы и "не латинская бук-ва"...

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

Только подключи еще билиотеку ctype.h там функция isdigit лежит. И все будет работать.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
02.06.2007, 05:07
Привет! Вот еще темы с ответами:

Функция (при вводе любого слова с цифрами программа определила бы цифры) - C++
Всем салам! Помогите написать программу с функцией чтобы при вводе любого слова с цифрами программа определила бы цифры и написала бы на...

Действие при вводе определенного символа - C++
Как можно сделать чтобы при вводе "а" в консоли выполнялся определенный скрипт? К примеру вот код: #include <cstdlib> #include...

Неправльная работа программы при вводе нецифрового символа - C++
если ввести в этот код не цифру про программа уходит в вечный цикл. почему так происходит и что можно сделать? int d = 0; do ...

При вводе в переменную нетипичного ей символа программа зацикливается - C++
Проблема в том, что если ввести в программу символ отличный от цифры то программа зацикливается, а необходимо чтобы вопрос задавался снова!...


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

Или воспользуйтесь поиском по форуму:
Ответ Создать тему
Опции темы

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