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

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

Войти
Регистрация
Восстановить пароль
 
Mutlu
11 / 11 / 1
Регистрация: 26.09.2011
Сообщений: 185
#1

Проверка на цифры - C++

08.05.2012, 20:48. Просмотров 373. Ответов 6
Метки нет (Все метки)

Всем привет,

вот столкнулся с проблемой, мне нужно нарисовать график, данные берутся из текст боксов.
Хотел сделать проверку на цифры, если данные из текст бокса равны цифре, то рисовать, если нет, то выдать ошибку, вот не получается у меня код, не поможете пожалуйста?
Большое спасибо за помошь!

C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
                 float min = float::Parse(Textbox_min->Text);
                 float max = float::Parse(Textbox_max->Text);
                 float step = float::Parse(Textbox_Step->Text); 
                  if (min>max || step<0)
                 {
                 MessageBox::Show("Wrong numbers");
                 }
                 else 
                 {
                 float x0 = PictureBox->Width/2;
                 float y0 = PictureBox->Height/2;
                 float step1=(max-min)/(2*x0);
                 for (float x=min; x<=max; x=x+step1)
                 {
                    
                    if(abs(x+step1+2)>0.01 && abs(x+step1)>0.01)
                    {
                    float y1 = sin(x)*x;
                    float y2 = sin(x+step1)*(x+step1);
                    gr->DrawLine(Graph,(x/step1+x0), -y1+y0,((x+step1)/step1)+x0,-y2+y0);
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.05.2012, 20:48     Проверка на цифры
Посмотрите здесь:

Дано 4 цифры, напечатать цифры в порядке возрастания C++
В десятичной записи числа 42*4* пропущены 2 цифры. Определите эти цифры, если известно, что число кратно 72. C++
C++ Массив строк в с++. Вывести строки, в которых есть цифры. В каждой строке удалить все цифры
C++ Ввести с клавиатуры трехзначное число и найти произведение первой и второй цифры. А также определить четность третей цифры
C++ Замена последней цифры на значение наименьшей цифры в записи числа N
C++ Даны цифры двух двузначных чисел. Получить цифры суммы
C++ Получить число М, которое образуется из числа N путем замены последней цифры на значение наибольшей цифры
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Avazart
 Аватар для Avazart
7037 / 5214 / 259
Регистрация: 10.12.2010
Сообщений: 22,897
Записей в блоге: 17
09.05.2012, 00:39     Проверка на цифры #2
isdigit()
http://www.cplusplus.com/reference/c...ctype/isdigit/
yur4ik9408
 Аватар для yur4ik9408
6 / 6 / 1
Регистрация: 07.05.2012
Сообщений: 26
09.05.2012, 00:48     Проверка на цифры #3
попробуй использовать try/catch:

C++
1
2
3
4
5
6
try
{x=StrToFloat(...); //пробует переделать из стринг в флот величину 
}
catch(EConvertError &)
{ShowMessage("It's not a digit");// если попытка провалилась - выводим сообщение 
}
Avazart
 Аватар для Avazart
7037 / 5214 / 259
Регистрация: 10.12.2010
Сообщений: 22,897
Записей в блоге: 17
09.05.2012, 00:54     Проверка на цифры #4
Если Builder
C++
1
2
TryStrToFloat()
TryStrToInt()
yur4ik9408
 Аватар для yur4ik9408
6 / 6 / 1
Регистрация: 07.05.2012
Сообщений: 26
09.05.2012, 01:00     Проверка на цифры #5
и ещё:
если будешь компилировать и запускать из под билдера - работать не будет.
билдер сам перехватывает эту ошибку.
только если чистый экзэшник запускать - работать будет нормально
Mutlu
11 / 11 / 1
Регистрация: 26.09.2011
Сообщений: 185
09.05.2012, 09:49  [ТС]     Проверка на цифры #6
Цитата Сообщение от yur4ik9408 Посмотреть сообщение
попробуй использовать try/catch:

C++
1
2
3
4
5
6
try
{x=StrToFloat(...); //пробует переделать из стринг в флот величину 
}
catch(EConvertError &)
{ShowMessage("It's not a digit");// если попытка провалилась - выводим сообщение 
}
Спасибо за код, но что-то не получатся у меня его подставить, у меня это Windows Form Visual Studio
Как мне в мой код вставить, постоянно вылетают ошибки?
C++
1
2
3
4
5
6
try
{x=StrToFloat(...); //пробует переделать из стринг в флот величину 
}
catch(EConvertError &)
{ShowMessage("It's not a digit");// если попытка провалилась - выводим сообщение 
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.05.2012, 10:27     Проверка на цифры
Еще ссылки по теме:

Вывести сумму первой и третьей цифры и произведение второй и четвертой цифры числа, заданного пользователем C++
C++ Циклы: найти произведение последней цифры и минимальной цифры числа с произведением всех остальных
Образовать новое число, путём замены последней цифры на значение наименьшей цифры в записи исходного числа C++
C++ Проверка в числе на повторяющиеся цифры
C++ Проверка в числе на три повторяющиеся цифры

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

Или воспользуйтесь поиском по форуму:
yur4ik9408
 Аватар для yur4ik9408
6 / 6 / 1
Регистрация: 07.05.2012
Сообщений: 26
09.05.2012, 10:27     Проверка на цифры #7
Цитата Сообщение от Mutlu Посмотреть сообщение
Спасибо за код, но что-то не получатся у меня его подставить, у меня это Windows Form Visual Studio
Как мне в мой код вставить, постоянно вылетают ошибки?
C++
1
2
3
4
5
6
try
{x=StrToFloat(...); //пробует переделать из стринг в флот величину 
}
catch(EConvertError &)
{ShowMessage("It's not a digit");// если попытка провалилась - выводим сообщение 
}
я в вижуал студио не работал,но попробуй так:

заводишь переменные х,y,z типа флоат.
потом
C++
1
2
3
4
5
6
7
8
9
10
try
{
x = float::Parse(Textbox_min->Text);
y = float::Parse(Textbox_max->Text);
z = float::Parse(Textbox_Step->Text);
} 
catch(EConvertError &)
{
MessageBox::Show("Wrong numbers");
}

http://support.microsoft.com/kb/815662
Yandex
Объявления
09.05.2012, 10:27     Проверка на цифры
Ответ Создать тему
Опции темы

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