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

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

Восстановить пароль Регистрация
 
рiece something
 Аватар для рiece something
1 / 1 / 0
Регистрация: 10.02.2011
Сообщений: 59
09.06.2011, 20:15     оператор if, некорректно работает программа #1
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. Как исправить?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
iama
 Аватар для iama
1249 / 974 / 48
Регистрация: 30.07.2010
Сообщений: 5,297
09.06.2011, 20:18     оператор if, некорректно работает программа #2
рiece something, чо надо-то? условие выложи
рiece something
 Аватар для рiece something
1 / 1 / 0
Регистрация: 10.02.2011
Сообщений: 59
09.06.2011, 20:33  [ТС]     оператор if, некорректно работает программа #3
решить систему уравнений
Миниатюры
оператор if, некорректно работает программа  
iama
 Аватар для iama
1249 / 974 / 48
Регистрация: 30.07.2010
Сообщений: 5,297
09.06.2011, 20:42     оператор if, некорректно работает программа #4
Читайте
рiece something
 Аватар для рiece something
1 / 1 / 0
Регистрация: 10.02.2011
Сообщений: 59
09.06.2011, 20:57  [ТС]     оператор if, некорректно работает программа #5
iama, я уже пыталась по-разному записывать. но либо выдает ошибку, либо продолжает писать все вместе: и z=, и решений нет.
iama
 Аватар для iama
1249 / 974 / 48
Регистрация: 30.07.2010
Сообщений: 5,297
09.06.2011, 20:59     оператор if, некорректно работает программа #6
Вы основ не понимаете, попробуйте пройтись по программе, как компилятор, при каких данных, в какую ветку попадете
рiece something
 Аватар для рiece something
1 / 1 / 0
Регистрация: 10.02.2011
Сообщений: 59
09.06.2011, 21:25  [ТС]     оператор if, некорректно работает программа #7
Цитата Сообщение от iama Посмотреть сообщение
Вы основ не понимаете
спорить не буду.

Цитата Сообщение от iama Посмотреть сообщение
опробуйте пройтись по программе
у меня уже взгляд замылился. я на эту программу целый день смотрю.
Nursik77
 Аватар для 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
10 / 10 / 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
 Аватар для рiece something
1 / 1 / 0
Регистрация: 10.02.2011
Сообщений: 59
09.06.2011, 21:40  [ТС]     оператор if, некорректно работает программа #10
Цитата Сообщение от Nursik77 Посмотреть сообщение
так хотел вас наставить на путь истинный а вы к нему не хотите идти:
хочу. просто путь к истине тернист и труден, а сегодня я уже устала.

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

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

Добавлено через 1 минуту
а можно сроасить, как так получилось и без else?
MaXiDRoM_90
10 / 10 / 1
Регистрация: 21.03.2010
Сообщений: 47
09.06.2011, 21:47     оператор if, некорректно работает программа #13
рiece something,
C++
1
if(b==6||b>8)
рiece something
 Аватар для рiece something
1 / 1 / 0
Регистрация: 10.02.2011
Сообщений: 59
09.06.2011, 21:49  [ТС]     оператор if, некорректно работает программа #14
MaXiDRoM_90, уже вижу. а как же 7?
MaXiDRoM_90
10 / 10 / 1
Регистрация: 21.03.2010
Сообщений: 47
09.06.2011, 21:50     оператор if, некорректно работает программа #15
Можно сделать конечно, чтобы про z в конце вообще ничего не писало,тогда надо последний cout в if пихнуть

Добавлено через 1 минуту
рiece something, if(b>5 && b!=8) впишите тогда
рiece something
 Аватар для рiece something
1 / 1 / 0
Регистрация: 10.02.2011
Сообщений: 59
09.06.2011, 21:56  [ТС]     оператор if, некорректно работает программа #16
Цитата Сообщение от MaXiDRoM_90 Посмотреть сообщение
if(b>5 && b!=8)
а почему else не использовать? уж больно хочется.
MaXiDRoM_90
10 / 10 / 1
Регистрация: 21.03.2010
Сообщений: 47
09.06.2011, 22:09     оператор if, некорректно работает программа #17
рiece something, тогда делайте,как выше меня писали)
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.06.2011, 09:31     оператор if, некорректно работает программа
Еще ссылки по теме:

Некорректно работает программа C++
C++ Некорректно работает программа. Бесконечный цикл
C++ Программа работает некорректно, в результате выводятся заданные изначально значения

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

Или воспользуйтесь поиском по форуму:
accept
4838 / 3237 / 165
Регистрация: 10.12.2008
Сообщений: 10,682
10.06.2011, 09:31     оператор if, некорректно работает программа #18
C++
1
2
3
4
5
6
7
8
9
10
11
12
    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);
    else {
        cout << "Reshenii net" << endl;
        return 1;
    }
    
    cout << "Z=" << z << endl;
Yandex
Объявления
10.06.2011, 09:31     оператор if, некорректно работает программа
Ответ Создать тему
Опции темы

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