Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/18: Рейтинг темы: голосов - 18, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 02.03.2007
Сообщений: 9

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

02.06.2007, 04:34. Показов 3266. Ответов 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
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
02.06.2007, 04:34
Ответы с готовыми решениями:

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

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

Нужно, чтобы программа с циклом заканчивала свое выполнение при вводе любого символа
Здравствуйте, форумчане. Нужно чтобы программа с циклом заканчивала свое выполнение при вводе любого символа?

1
Почетный модератор
7393 / 2639 / 281
Регистрация: 29.07.2006
Сообщений: 13,696
02.06.2007, 05:07
компиллятор выдает потерю ";" перед return
Это от того, что не закрыл строку двойными кавычками: ...chislo!!!"endl;...

Только подключи еще билиотеку ctype.h там функция isdigit лежит. И все будет работать.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
02.06.2007, 05:07
Помогаю со студенческими работами здесь

При вводе любого числа добавляется ноль с запятой
при вводе любого числа добавляется "0,". например, если ввести 6, то получится "60," в textBox и "0,60," в label. выручайте ...

При вводе любого числа программа возвращает false
program top4; uses crt; var a,b,y:integer; begin writeln('v vedite chislo '='a'); readln(a); b:=a*a; y:=b*b; a:=y*b; ...

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

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

Нужно чтобы при вводе числа 0 программа завершала работу
Привет всем.Это моя первая тема:) У меня такая проблема,задание я сделал но вот не до конца.Нужно чтобы при вводе числа 0 программа...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru