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

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

Войти
Регистрация
Восстановить пароль
 
 
рiece something
1 / 1 / 0
Регистрация: 10.02.2011
Сообщений: 59
#1

оператор if, некорректно работает программа - C++

09.06.2011, 20:15. Просмотров 648. Ответов 17
Метки нет (Все метки)

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <iostream.h>
#include <math.h>
 
main ()
{
    int b;
    double z, x=0.63, c=1.5, d=2, a=0.37;
    cout << "Vvedite znachenie B" << endl;
    cin >> b;
    
    if (b==1||b==2)
    z=sin(x)+c*d; 
    if (b==3||b==4||b==5)
    z=x/(a+sqrt(d*a*2));
    if (b==8)
    z=a+d*cos(x);
    
    else cout << "Reshenii net" << endl;
    cout << "Z=" << z << endl;
    return 0;
}
Если ввести другое значение, то все равно высвечивается некоторое решение. А когда вводишь1/2/3/4/5/8 в конце пишет Reshenii net. Как исправить?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.06.2011, 20:15     оператор if, некорректно работает программа
Посмотрите здесь:
C++ Некорректно работает оператор присваивания
Некорректно работает программа C++
C++ некорректно работает программа
C++ некорректно работает программа
Программа запускается, но работает некорректно C++
C++ Некорректно работает программа. Бесконечный цикл
C++ Программа по работе с файлом работает некорректно
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
iama
1250 / 975 / 49
Регистрация: 30.07.2010
Сообщений: 5,297
09.06.2011, 20:18     оператор if, некорректно работает программа #2
рiece something, чо надо-то? условие выложи
рiece something
1 / 1 / 0
Регистрация: 10.02.2011
Сообщений: 59
09.06.2011, 20:33  [ТС]     оператор if, некорректно работает программа #3
решить систему уравнений
Миниатюры
оператор if, некорректно работает программа  
iama
1250 / 975 / 49
Регистрация: 30.07.2010
Сообщений: 5,297
09.06.2011, 20:42     оператор if, некорректно работает программа #4
Читайте
рiece something
1 / 1 / 0
Регистрация: 10.02.2011
Сообщений: 59
09.06.2011, 20:57  [ТС]     оператор if, некорректно работает программа #5
iama, я уже пыталась по-разному записывать. но либо выдает ошибку, либо продолжает писать все вместе: и z=, и решений нет.
iama
1250 / 975 / 49
Регистрация: 30.07.2010
Сообщений: 5,297
09.06.2011, 20:59     оператор if, некорректно работает программа #6
Вы основ не понимаете, попробуйте пройтись по программе, как компилятор, при каких данных, в какую ветку попадете
рiece something
1 / 1 / 0
Регистрация: 10.02.2011
Сообщений: 59
09.06.2011, 21:25  [ТС]     оператор if, некорректно работает программа #7
Цитата Сообщение от iama Посмотреть сообщение
Вы основ не понимаете
спорить не буду.

Цитата Сообщение от iama Посмотреть сообщение
опробуйте пройтись по программе
у меня уже взгляд замылился. я на эту программу целый день смотрю.
Nursik77
273 / 233 / 21
Регистрация: 05.04.2011
Сообщений: 645
09.06.2011, 21:35     оператор if, некорректно работает программа #8
А iama, так хотел вас наставить на путь истинный а вы к нему не хотите идти:
C
1
2
3
4
5
6
7
8
...
      if (b==1||b==2)
        z=sin(x)+c*d; 
    else if (b==3||b==4||b==5)
        z=x/(a+sqrt(d*a*2));
    else if (b==8)
        z=a+d*cos(x);
...
Добавлено через 6 минут
И на будущее, лучше пол часа поучить то, с чем вы столкнетесь, чем целый день ломать голову. Ваш метод называется "пальцем в небо".
MaXiDRoM_90
11 / 11 / 1
Регистрация: 21.03.2010
Сообщений: 47
09.06.2011, 21:37     оператор if, некорректно работает программа #9
рiece something,
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 <iostream>
#include <conio.h>
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
 
 
using namespace std;
 
int main ()
{
        int b;
        double z=0, x=0.63, c=1.5, d=2, a=0.37;
        cout << "Vvedite znachenie B" << endl;
        cin >> b;
        
        if (b==1||b==2)
        {
            z=sin(x)+c*d; 
        }
        if (b==3||b==4||b==5)
        {
            z=x/(a+sqrt(d*a*2));
        }
        if (b==8)
        {
            z=a+d*cos(x);
        }
        if(b==6||b>8)
        {
            cout << "Reshenii net" << endl;
        }
 
        cout << "Z=" << z << endl;
        getch();
        return 0;
}
рiece something
1 / 1 / 0
Регистрация: 10.02.2011
Сообщений: 59
09.06.2011, 21:40  [ТС]     оператор if, некорректно работает программа #10
Цитата Сообщение от Nursik77 Посмотреть сообщение
так хотел вас наставить на путь истинный а вы к нему не хотите идти:
хочу. просто путь к истине тернист и труден, а сегодня я уже устала.

существенных изменений не произошло.
MaXiDRoM_90
11 / 11 / 1
Регистрация: 21.03.2010
Сообщений: 47
09.06.2011, 21:42     оператор if, некорректно работает программа #11
рiece something, код представленный выше выдает всё как надо,когда b не из списка,пишет "Решений нет,z=0;
рiece something
1 / 1 / 0
Регистрация: 10.02.2011
Сообщений: 59
09.06.2011, 21:45  [ТС]     оператор if, некорректно работает программа #12
MaXiDRoM_90, не совсем точно. при других значениях не показывает "Решений нет", а приравнивает z к введенному числу.

Добавлено через 1 минуту
а нет. все верно. моя ошибка

Добавлено через 1 минуту
а можно сроасить, как так получилось и без else?
MaXiDRoM_90
11 / 11 / 1
Регистрация: 21.03.2010
Сообщений: 47
09.06.2011, 21:47     оператор if, некорректно работает программа #13
рiece something,
C++
1
if(b==6||b>8)
рiece something
1 / 1 / 0
Регистрация: 10.02.2011
Сообщений: 59
09.06.2011, 21:49  [ТС]     оператор if, некорректно работает программа #14
MaXiDRoM_90, уже вижу. а как же 7?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.06.2011, 21:50     оператор if, некорректно работает программа
Еще ссылки по теме:
C++ Программа работает некорректно, в результате выводятся заданные изначально значения
C++ Некорректно работает
C++ libncurses некорректно работает
C++ Некорректно работает функция
C++ Функция работает некорректно

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

Или воспользуйтесь поиском по форуму:
MaXiDRoM_90
11 / 11 / 1
Регистрация: 21.03.2010
Сообщений: 47
09.06.2011, 21:50     оператор if, некорректно работает программа #15
Можно сделать конечно, чтобы про z в конце вообще ничего не писало,тогда надо последний cout в if пихнуть

Добавлено через 1 минуту
рiece something, if(b>5 && b!=8) впишите тогда
Yandex
Объявления
09.06.2011, 21:50     оператор if, некорректно работает программа
Ответ Создать тему
Опции темы

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