IPB
ЛогинПароль:

> Внимание!

1. Пользуйтесь тегами кода. - [code] ... [/code]
2. Точно указывайте язык, название и версию компилятора (интерпретатора).
3. Название темы должно быть информативным. В описании темы указываем язык!!!

> Проверка данных на вводе, С++
ninja
сообщение 16.02.2010 19:23
Сообщение #1


Пионер
**

Группа: Пользователи
Сообщений: 103
Пол: Мужской
Реальное имя: Александр

Репутация: -  0  +


Добрый вечер необходимо написать программу которая считает факториал, Пользователем вводится точность E которая не должна превышать диапазон 0.1<= E<=0.0001, и x, где x действительное число x>0.5. Саму программу для подсчета факториала я написал, проблема возникла с проверками на вводе, т.е нужно чтобы пользователь не мог ввести число не выходящее за диапазон, и чтобы не был введен символ. Раньше писал программы на pascal там все реализовавалось достаточно просто с помощью IOResult и обычного цикла. Заранее благодарю за помощь.


#include <math.h>
#include <stdio.h>
#include <conio.h>
#include <iostream.h>
int main ()
{
int i;
float sum,chisl,znam,x,e;
char ch;
clrscr();
do
{
printf ("Vvedite x: ",'/n');
scanf ("%f",&x);
}
while (x>0.5);

printf ("Vvedite e: ",'/n');
scanf ("%f",&e);
i=0;
sum=0;
do
{
i++;
chisl = pow ((x-i),i);
znam = i*(pow (x,i));
sum = sum + (chisl/znam);

}
while (e<sum);

printf ("%02f",sum);

getch();
return 0;
}

 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
volvo
сообщение 16.02.2010 19:47
Сообщение #2


Гость






Ну, и к чему эта самодеятельность, если все вышеприведенное прекрасно решается встроенными средствами С? smile.gif

do
{
printf ("Vvedite x: \n");
if(!scanf("%f",&x))
{
printf("error...\n");
fflush(stdin);
}
}
while (x <= 0.5);

do
{
printf ("Vvedite e: \n");
if(!scanf("%f",&e))
{
printf("error...\n");
fflush(stdin);
}
}
while(e < 0.0001 || e > 0.1);
И попробуй ввести нечисловое значение или число, не попадающее в заданный интервал...
 К началу страницы 
+ Ответить 

Сообщений в этой теме


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия 21.06.2025 16:09
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"