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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
St56383
0 / 0 / 0
Регистрация: 12.10.2013
Сообщений: 56
#1

Программа - C++

21.10.2013, 01:26. Просмотров 213. Ответов 6
Метки нет (Все метки)

Доброе время суток,мне нужна помощь ,я написал программу которая ( рассчитывет значение функции f(x) по соответсвующей формуле) но где то допустил ошибку (я понимаю может для вас окажется очень глупая моя ошибка но я только учусь и стараюсь на ошибках учиться).Моя ошибка в данной программе состоит в том что при 'x<=0' и '0<x<=5'
даёшь переменной x значение например "-3" выполняется вывод двух функций а не одной (пример на фото скрине).Я надеюсь на вашу помощь.(Повторюсь понимаю что ошибка может быть очень глупой,просто в силу своих слабых знаниях мог написать программу не правильно,но хотелось бы исправить и понять где моя ошибка.)

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
#include <iostream>
#include <cmath>
using namespace std ;
 
int main ()
{ 
    double x;
    double f1,f2,f3;
 
    cout << "Enter number x:" << "\n" ;
    cin>>x;
 
 
    f1=1/(x-5.0);
    f2=pow((x+3.0),2);
    f3=sqrt(x+5.0);
    
    if (x<=0)
        
        cout<<"f1(x)="<<f1<<endl;
 
    
    if (0<x<=5)     
        
        cout<<"f2(x)="<<f2<<endl;
    
    else 
        cout<<"f3(x)="<<f3<<endl;
    
    system("PAUSE");
    return 0;
}
Миниатюры
Программа   Программа   Программа  

Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.10.2013, 01:26     Программа
Посмотрите здесь:

Программа не может быть запущена, т.к. на Вашем компьютере установлена программа-эмулятор - Игры
При запуске лицензионной детской игровой программы выскакивает сообщение: Программа не может быть запущена, т.к. на Вашем компьютере...

Квин-программа, или программа, печатающая свой исходный текст - Visual Basic
Задаю этот вопрос под влиянием этой темы и предлагаю решение: Sub Kvin() Dim A(1 To 13) As String X = Chr$(65) + Chr$(40) ...

Программа подсчета числа неуспевающих и программа поиска владельца автомобиля... - Pascal
Помогите пожалуйста решить 2 задачи: Составьте программу подсчета числа неуспевающих по информатике школьников в классе, и выводящую...

Программа с метками и оператором перехода GOTO. Программа с циклом полусловия - Pascal
Задача №9. Прошу вас, помогите. Не знаю как решать вообще.

Программа циков с неизвестным число повторений и программа с внутренним ветвлением - Pascal
1.Дано натуральное число n. Получить наименьшее натуральное число вида m в степени 2, превосходящее n. 2.Дан числовой массив А, состоящий...

Программа , которая выводит время, за которое программа работает - C++
Вообщем, нужно что бы считалось время от начала работы программы, и выводилось на экран.

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Br8k
1 / 1 / 0
Регистрация: 22.10.2012
Сообщений: 42
21.10.2013, 01:39     Программа #2
вместо этого
C++
1
2
3
if (0<x<=5) 
 
cout<<"f2(x)="<<f2<<endl;
попробуй так
C++
1
if(x>0 && x<=5)
Добавлено через 1 минуту
p.s. может не так прочитал
но возможно же что при условии х = -3 выполняються оба условий, посчитай в ручную и проверь
St56383
0 / 0 / 0
Регистрация: 12.10.2013
Сообщений: 56
21.10.2013, 01:42  [ТС]     Программа #3
C++
1
2
3
4
5
if(x>0 && x<=5)
{
cout<<"f1(x)="<<f1<<endl;
cout<<"f2(x)="<<f2<<endl;
}
вот так ? ?

а всё остальное правильно написано у меня ??
B@R_LOG
18 / 18 / 0
Регистрация: 03.07.2013
Сообщений: 49
21.10.2013, 01:49     Программа #4
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
#include <iostream>
#include <cmath>
using namespace std ;
 
int main ()
{ 
    double x;
    double f1,f2,f3;
 
    cout << "Enter number x:" << "\n" ;
    cin>>x;
 
 
    f1=1/(x-5.0);
      f2=pow((x+3.0),2);
    f3=sqrt(x+5.0);
    
    if (x<=0) 
        cout<<"f1(x)="<<f1<<endl;
         else     
         if ( (x>0)&&(x<=5) )       
            cout<<"f2(x)="<<f2<<endl;   
                              else 
                               cout<<"f3(x)="<<f3<<endl; /* выведет при х > 5*/ 
    system("PAUSE");
    return 0;
}
St56383
0 / 0 / 0
Регистрация: 12.10.2013
Сообщений: 56
21.10.2013, 01:57  [ТС]     Программа #5
eslse два раза писать ??просто на сколько я знаю эта часть может отсутствовать

Добавлено через 2 минуты
Вроде всё идёт, спасибо вам ребята огромное.

Добавлено через 3 минуты
Вопрос а почему надо убирать if ( (x>0)&&(x<=5) ) во втором случае (x<=5) а не (0<x<=5)
Br8k
1 / 1 / 0
Регистрация: 22.10.2012
Сообщений: 42
21.10.2013, 02:13     Программа #6
немного понятней спроси пожалуйста
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.10.2013, 02:42     Программа
Еще ссылки по теме:

Программа для трёх маршрутов. Правильно ли написана программа? - PascalABC.NET
Всем здрасьте! Программа для трёх маршрутов. Кому не сложно подскажите правильно ли я написал?var a, b, c, d, e, f, g : boolean; s...

не пойму в чем дело, программа должна работать, но она черт побери не работает :( (программа по работе с реестром) - Delphi
Программа предназначена для поиска какого-нить слова по реестру и удаления ключа или раздела если в нем встречается искомое слово. С...


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

Или воспользуйтесь поиском по форуму:
B@R_LOG
18 / 18 / 0
Регистрация: 03.07.2013
Сообщений: 49
21.10.2013, 02:42     Программа #7
Цитата Сообщение от St56383 Посмотреть сообщение
eslse два раза писать ??просто на сколько я знаю эта часть может отсутствовать

Добавлено через 3 минуты
Вопрос а почему надо убирать if ( (x>0)&&(x<=5) ) во втором случае (x<=5) а не (0<x<=5)
В этом случае - да.
if (..) {..}
else
if (..) {..}
else (можно и так далее до бесконечности)

if по смыслу эквивалентно "если", else эквивалентно "иначе".

(0<x<=5) записывается как ( (x>0)&&(x<=5) ).

Порядок условий обычно распределяется по принципу: чем меньше кода в { }, тем выше условие.
Либо, чем больше вероятность выполнения.
Yandex
Объявления
21.10.2013, 02:42     Программа
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru