Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

Вернуться   Форум программистов > C++ > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail


Донат для форума - использовать для поднятия настроения себе и модераторам

А ещё здесь можно купить рекламу за 25 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru

Ответ
 
Опции темы
Старый 23.03.2010, 18:38   #1
proggramer
 
Регистрация: 23.02.2010
Сообщений: 3
Репутация: 10
По умолчанию Как ограничить количество вводимых знаков числа после запятой.

Имею маленькую проверку на входящие данные:
Код:
void main()
{
float x;

printf("\nInput value of 'x' : ");

if (!(test_x(&x)))
return 0;
}

test(float *E) \\ ф-ция для проверки данных

{
char arr[255];
gets(arr) ;\\ беру строку

for (int i=0; i<256; i++) \\ в цикле проверяю, что было введено 

{
if ((arr[i]=='\0')&&(i!=0)) break;
 
if ((arr[i]=='.')||(arr[i]=='-')) return 0;

if ((arr[i]<'0')||(arr[i]>'9')) return 0;
}

*E=atof(arr); \\ перевожу строку в число

return 1;

}
Подскажите, как в этой же функции для проверки входящих данных поставить ограничения на количество знаков числа после запятой и количества целых знаков числа. К примеру, я ввожу число:
22, 2222222222 - как правильно организовать цикл, чтобы при введении более, чем n(сам задам в программе, мне главное цикл) числа знаков после запятой и более, чем h(аналогично n) числа целых знаков , программа "ругалась"(это тоже не проблема)...

Заранее Спасибо за помощь!

Последний раз редактировалось Stilet; 24.03.2010 в 09:16.
proggramer вне форума   Ответить с цитированием
Старый 24.03.2010, 04:15   #2
Olejik
Форумчанин
 
Регистрация: 02.06.2009
Адрес: г. Санкт-Петербург
Сообщений: 218
Репутация: 30

icq: 475465394
По умолчанию

Вот это
Код:
for (int i=0; i<256; i++) \\ в цикле проверяю, что было введено
поменяйте на это
Код:
for (int i=0; i<strlen(arr); i++) \\ в цикле проверяю, что было введено
А про ваш вопрос - берете строку, разбиваете ее функцией strtok'ом (лучше еще 1 массив зделайте и в нем мутите) и уже мутите что вам надо, надеюсь там разберетесь, примеры есть в msdn
Olejik вне форума   Ответить с цитированием
Ответ

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
удаление не нужных знаков после запятой. Alar Общие вопросы Delphi 4 31.05.2012 19:59
как отрегулировать кол-во знаков после запятой, при выведении числа(delphi) photozaz Общие вопросы Delphi 11 10.02.2011 22:20
Вещественный тип: Количество знаков после запятой... Demien Общие вопросы Delphi 2 10.11.2009 20:14
Определение количества знаков после запятой nec117 Общие вопросы .NET 1 01.10.2009 19:04
Ограничение знаков после запятой,StringGrid Gorin Компоненты Delphi 9 20.09.2007 16:10


16:32.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.