Помогите начинающему программисту
printf("Enter number: ");
scanf("%d", &N);
Проверку чисел вида 1.2 5.03 ну и т.д. я уже сделал.(использовал метод преобразования типов) Но осталась проблема с числами вида 4.000000000000000000000000000000000000000001 - моя проверка не действует(выдается "плохая" ошибка - че-то несоответствие типов с плавающей точкой...я честно говоря не очень понял... - а должны выдаватся фразы об ошибках, написанные в программе). или чтобы выдавала разложение такого числа 4.00000000000000000000000
Еще чтобы программа выдавала ошибку при вводе числа ну например 1000000000000000000000000000000000000000000000000000000000000000000 ...00000
.
При вводе анологичных чисел но со знаком "минус"
Итак!
1). 4h - выдавать ошибку
2). 4.00000000000000000000000000000001 выдавать ошибку
3). 100000000000000000000000000000000000000000000000000000000000 - выдвать ошибку
4). 4.00000000000000000000000000000000000000000000000000000 - не выдавать ошибки(если так вообще можно сделать)
5). ну и отключить вообще отрицательные числа + 1), 2), 3), 4) - со знаком минус
ЗАРАНЕЕ БЛАГОДАРЕН!
Если да - то используй исключения. Ими все и отловишь.
Вот например
try
{
int y;
y = StrToInt("4U");
}
catch(EConvertError& )
{
ShowMessage("Вы ввели неверное число. Попробуйте еще раз.");
}
Учите матчасть!
Цитата:
Originally posted by SEDEGOFF
Ты работаешь под винду?
Если да - то используй исключения. Ими все и отловишь.
Вот например
try
{
int y;
y = StrToInt("4U");
}
catch(EConvertError& )
{
ShowMessage("Вы ввели неверное число. Попробуйте еще раз.");
}
Ты работаешь под винду?
Если да - то используй исключения. Ими все и отловишь.
Вот например
try
{
int y;
y = StrToInt("4U");
}
catch(EConvertError& )
{
ShowMessage("Вы ввели неверное число. Попробуйте еще раз.");
}
:x