![]() |
1. Пользуйтесь тегами кода. - [code] ... [/code]
2. Точно указывайте язык, название и версию компилятора (интерпретатора).
3. Название темы должно быть информативным.
В описании темы указываем язык!!!
![]() |
ninja |
![]()
Сообщение
#1
|
Пионер ![]() ![]() Группа: Пользователи Сообщений: 103 Пол: Мужской Реальное имя: Александр Репутация: ![]() ![]() ![]() |
Добрый вечер необходимо написать программу которая считает факториал, Пользователем вводится точность 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;
}
|
![]() ![]() |
Client |
![]()
Сообщение
#2
|
Профи ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 865 Пол: Мужской Реальное имя: Вячеслав Репутация: ![]() ![]() ![]() |
int main(int argc, char **argv)
{
char a[80];
gets(a);
bool q = true;
for (int i=0; a[i]; i++){
if ( !isdigit(a[i]) ) {
q=false;
break;
}
}
cout <<q;
return 0;
}
Это для примера щас сделал ![]() |
volvo |
![]()
Сообщение
#3
|
Гость ![]() |
Ну, и к чему эта самодеятельность, если все вышеприведенное прекрасно решается встроенными средствами С?
![]() 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);
И попробуй ввести нечисловое значение или число, не попадающее в заданный интервал... |
ninja |
![]()
Сообщение
#4
|
Пионер ![]() ![]() Группа: Пользователи Сообщений: 103 Пол: Мужской Реальное имя: Александр Репутация: ![]() ![]() ![]() |
Владимир, спасибо, я только начал изучать этот язык, столько тонкостей глаза разбегаются....
P.S Посоветуйте какуй-нибудь книжку, или автора, Спасибо. Добавлено через 13 мин. int main(int argc, char **argv)
{
char a[80];
gets(a);
bool q = true;
for (int i=0; a[i]; i++){
if ( !isdigit(a[i]) ) {
q=false;
break;
}
}
cout <<q;
return 0;
}
Это для примера щас сделал ![]() Спасибо огромное за ресурс интересные примеры. |
volvo |
![]()
Сообщение
#5
|
Гость ![]() |
|
![]() ![]() |
![]() |
Текстовая версия | 30.07.2025 6:17 |