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

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

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

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

21.10.2013, 01:26. Просмотров 218. Ответов 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;
}
0
Миниатюры
Программа   Программа   Программа  

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.10.2013, 01:26
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Программа (C++):

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

Первая программа. Код не компилируется и не запускается программа. - C++
Первая программа, первая ошибка Здравствуйте! Решил учить С++. Скачал книгу Programming: Principles and Practice Using C++, Бьерн...

Ведется набор цифр и надо чтобы программа из него сама сообразило число. То есть что бы программа сама раскидывала их по разрядам. - C++
Люди добрые, только начинаю программировать, пытаюсь освоить не очень простой язык С++. Есть такая задачка... Ведется набор цифр и надо...

Пользователь вводит 10 чисел программа должна выдать 2 максимальных(берём от 1 до 10,если выпадает 2 10,то программа должна выдать 2 10,а не 10,9) - C++
#include &lt;iostream&gt; using namespace std; int main () { int number, largest_1, largest_2, counter = 1; cout«&quot;Vvedite 1oe...

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

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

6
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 выполняються оба условий, посчитай в ручную и проверь
0
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;
}
вот так ? ?

а всё остальное правильно написано у меня ??
0
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;
}
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)
0
Br8k
1 / 1 / 0
Регистрация: 22.10.2012
Сообщений: 42
21.10.2013, 02:13 #6
немного понятней спроси пожалуйста
0
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) ).

Порядок условий обычно распределяется по принципу: чем меньше кода в { }, тем выше условие.
Либо, чем больше вероятность выполнения.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.10.2013, 02:42
Привет! Вот еще темы с ответами:

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

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

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

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


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

Или воспользуйтесь поиском по форуму:
7
Yandex
Объявления
21.10.2013, 02:42
Ответ Создать тему
Опции темы

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