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

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

Восстановить пароль Регистрация
 
Mutlu
11 / 11 / 1
Регистрация: 26.09.2011
Сообщений: 185
08.05.2012, 20:48     Проверка на цифры #1
Всем привет,

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

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++ Ввести целое число. Определить, симметрично ли оно, т.е. одинаковы ли цифры слева и справа (12321). Записать 3 последние цифры в одномерный массив.
C++ Массив строк в с++. Вывести строки, в которых есть цифры. В каждой строке удалить все цифры
C++ Ввести с клавиатуры трехзначное число и найти произведение первой и второй цифры. А также определить четность третей цифры
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Avazart
 Аватар для Avazart
6901 / 5141 / 252
Регистрация: 10.12.2010
Сообщений: 22,604
Записей в блоге: 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
6901 / 5141 / 252
Регистрация: 10.12.2010
Сообщений: 22,604
Записей в блоге: 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++ Замена последней цифры на значение наименьшей цифры в записи числа N
C++ Даны цифры двух двузначных чисел. Получить цифры суммы
C++ Получить число М, которое образуется из числа N путем замены последней цифры на значение наибольшей цифры

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

Или воспользуйтесь поиском по форуму:
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     Проверка на цифры
Ответ Создать тему
Опции темы

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