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

Не работает прога. Помогите - C++

Восстановить пароль Регистрация
 
qdqd
0 / 0 / 0
Регистрация: 08.10.2011
Сообщений: 12
09.10.2011, 23:54     Не работает прога. Помогите #1
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
#include <stdio.h>
#include <conio.h>
#include <math.h>
#include <stdlib.h>
 
float f1(float);
float f2(float);
float f3(float);
float sub(float);
 
int x;
 
int main() {
system("cls");   
printf("a=-6 f(x)=%f\n",sub(-6));
printf("a=-4 f(x)=%f\n",sub(-4));
printf("a=2 f(x)=%f\n",sub(2));
printf("a=3 f(x)=%f\n",sub(3));
printf("a=10 f(x)=%f\n",sub(10));
printf("\n\na="); 
scanf("%f",&x);
printf(" f(x)=%f",sub(x));
getch();
return 0;    
}
 
float sub(float x)
{ if((x>-5)&&(x<=2)) return f3(x); else if ((x>2)&&(x<=4)) return f1(x); else return f2(x); }
 
float f1(float x)
{ return 1/(x+3); }
 
float f2(float x)
{ return exp(-2*x); }
 
float f3(float x)
{ return log(x+5); }

При вводе любых данных - показывает 0.0000000


Задание

1. Составьте алгоритм программы, которая принимает от пользователя значение x и в зависимости от его значения, расчитывет значение функии f(x) по соответсвующей формуле. Проверка того, что функция не определена при введенном значении х, не обязательна.

2. Подготовьте тестовые варианты входных и выходных данных - 5 вариантов
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.10.2011, 23:54     Не работает прога. Помогите
Посмотрите здесь:

C++ Помогите нуубу!(Оч простая прога)
C++ прога не правильно работает
C++ Не работает прога
C++ Прога работает неправильно
C++ не работает прога
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
castaway
Эксперт С++
4842 / 2981 / 367
Регистрация: 10.11.2010
Сообщений: 11,013
Записей в блоге: 10
Завершенные тесты: 1
10.10.2011, 00:19     Не работает прога. Помогите #2
Цитата Сообщение от qdqd Посмотреть сообщение
При вводе любых данных - показывает 0.0000000
У тебя там 7 printf, а выводит только 0.0000000 ???
Это точно тот код?

* исключений и фолтов в первом случае я не нашел...
MrGluck
Ворчун
Эксперт С++
 Аватар для MrGluck
4920 / 2663 / 243
Регистрация: 29.11.2010
Сообщений: 7,409
10.10.2011, 00:28     Не работает прога. Помогите #3
21 строчка
C++
1
scanf("%i",&x);
edward_jonson
 Аватар для edward_jonson
157 / 157 / 25
Регистрация: 23.02.2011
Сообщений: 388
10.10.2011, 00:30     Не работает прога. Помогите #4
не int x, а float x
10 строчка
castaway
Эксперт С++
4842 / 2981 / 367
Регистрация: 10.11.2010
Сообщений: 11,013
Записей в блоге: 10
Завершенные тесты: 1
10.10.2011, 00:34     Не работает прога. Помогите #5
Цитата Сообщение от MrGluck Посмотреть сообщение
21 строчка
C++
1
scanf("%i",&x);
Отлично. Зачем мне это?

Добавлено через 48 секунд
edward_jonson, у меня она 11-я.
edward_jonson
 Аватар для edward_jonson
157 / 157 / 25
Регистрация: 23.02.2011
Сообщений: 388
10.10.2011, 00:35     Не работает прога. Помогите #6
Цитата Сообщение от lazybiz Посмотреть сообщение
Отлично. Зачем мне это?

Добавлено через 48 секунд
edward_jonson, у меня она 11-я.
11-я, ошибся
MrGluck
Ворчун
Эксперт С++
 Аватар для MrGluck
4920 / 2663 / 243
Регистрация: 29.11.2010
Сообщений: 7,409
10.10.2011, 00:40     Не работает прога. Помогите #7
Цитата Сообщение от lazybiz Посмотреть сообщение
Отлично. Зачем мне это?
Суть в том, что он в переменную типа int пытается записать переменную типа double. Можно либо поправить запись, что посоветовал я, либо изменить тип переменной, что посоветовал edward_jonson. А вам зачем это нужно я действительно не знаю.
castaway
Эксперт С++
4842 / 2981 / 367
Регистрация: 10.11.2010
Сообщений: 11,013
Записей в блоге: 10
Завершенные тесты: 1
10.10.2011, 00:51     Не работает прога. Помогите #8
Цитата Сообщение от MrGluck Посмотреть сообщение
edward_jonson. А вам зачем это нужно я действительно не знаю.
- это скорее относилось ко мне.. но не суть важно.
Цитата Сообщение от MrGluck Посмотреть сообщение
Можно либо поправить запись, что посоветовал я
Вы конечно извините если что не так, но вашего совета среди сообщений я не увидел...
Скорее Сэр edward_jonson дал более правильное пояснение по поводу сложившейся ситуации.
Вы пока подумайте, а я пока покурю в сторонке...
kazak
10.10.2011, 01:05
  #9

Не по теме:

Цитата Сообщение от lazybiz Посмотреть сообщение
Вы пока подумайте, а я пока покурю в сторонке...
Афигеть

castaway
Эксперт С++
4842 / 2981 / 367
Регистрация: 10.11.2010
Сообщений: 11,013
Записей в блоге: 10
Завершенные тесты: 1
10.10.2011, 01:12     Не работает прога. Помогите #10
kazak, чем не рад ваш автономный округ?
kazak
10.10.2011, 01:17
  #11

Не по теме:

Отсутствием совести у современной молодежи.

MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.10.2011, 01:21     Не работает прога. Помогите
Еще ссылки по теме:

помогите плиз, не работает прога C++
не запускается прога, помогите! C++
C++ не работает прога

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

Или воспользуйтесь поиском по форуму:
easybudda
Модератор
Эксперт С++
 Аватар для easybudda
9372 / 5422 / 914
Регистрация: 25.07.2009
Сообщений: 10,423
10.10.2011, 01:21     Не работает прога. Помогите #12
qdqd, вот так работает:
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
#include <stdio.h>
//#include <conio.h>
#include <math.h>
#include <stdlib.h>
 
double f1(double);
double f2(double);
double f3(double);
double sub(double);
 
int main() {
double x;
//system("cls");   
printf("a=-6 f(x)=%.20f\n",sub(-6.0));
printf("a=-4 f(x)=%.20f\n",sub(-4.0));
printf("a=2 f(x)=%.20f\n",sub(2.0));
printf("a=3 f(x)=%.20f\n",sub(3.0));
printf("a=10 f(x)=%.20f\n",sub(10.0));
printf("\n\na="); 
scanf("%lf",&x);
printf(" f(x)=%.20f",sub(x));
//getch();
printf("\n");
return 0;    
}
 
double sub(double x)
{ if((x>-5.0)&&(x<=2.0)) return f3(x); else if ((x>2.0)&&(x<=4.0)) return f1(x); else return f2(x); }
 
double f1(double x)
{ return 1.0/(x+3.0); }
 
double f2(double x)
{ return exp(-2.0*x); }
 
double f3(double x)
{ return log(x+5.0); }
Не работает прога. Помогите
Yandex
Объявления
10.10.2011, 01:21     Не работает прога. Помогите
Ответ Создать тему
Опции темы

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