Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
5 / 4 / 1
Регистрация: 24.08.2017
Сообщений: 112
1

Некорректный вывод с ветвлением if else

24.08.2017, 10:12. Показов 931. Ответов 7
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Добрый день! Ситуация следующая, давно не кодил, тут снова проснулся интерес и я решил написать простенькую программку для себя любимого по вычислению дискриминанта. Проблема в том, что в ветвлении if else Компилятор требует точку с запятой, из за чего вывод результатов не совсем такой, какой должен быть (выводится дополнительно значение дискриминанта в случае если D<0 (на последнем скриншоте видно)), скрины и код прилагаются

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
#include "stdafx.h"
#include <math.h>
#include <iostream>
using namespace std;
int main()
{
    setlocale(0, "");
    int a, b, c, discr, x, x1, x2;
    cout << "Введите A:";
    cin >> a;
    cout << "Введите B:";
    cin >> b;
    cout << "Введите C:";
    cin >> c;
    discr = (b * b) - (4 * (a*c));
    cout << "Дискр=" << discr << endl;
    system("pause");
    if (discr > 0) {
        x1 = ((-b) + (sqrt(discr))) / 2 * a;
        x2 = ((-b) - (sqrt(discr))) / 2 * a;
        cout << "X1=" << x1 << endl;
        cout << "X2=" << x2 << endl;
        system("pause");
    }
    else if  (discr == 0) {
        x = (-b) / (2 * a);
        cout << "X=" << x << endl;
        system("pause");
    }
    else(discr < 0); {
        cout << "Не имеет корней, т.к. D < 0" << endl;
        system("pause");
    }
    return 0;
}
Миниатюры
Некорректный вывод с ветвлением if else   Некорректный вывод с ветвлением if else   Некорректный вывод с ветвлением if else  

0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
24.08.2017, 10:12
Ответы с готовыми решениями:

Некорректный вывод с ветвлением if else
Добрый день! Почему в моей программе не проверяются условия else if? Вывод значений верное, но...

Некорректный вывод
Правильно считает только х выводит не правильно, если убрать ссылки то все корректно #include...

Некорректный вывод
Доброго времени суток Суть такова: есть прога, выполняющая действия с односвязным списком....

Некорректный вывод
Доброго времени суток, дамы и господа. Программа элементарная, как и задача. Но не мои тараканы,...

7
Любитель чаепитий
3742 / 1798 / 566
Регистрация: 24.08.2014
Сообщений: 6,016
Записей в блоге: 1
24.08.2017, 10:21 2
Лучший ответ Сообщение было отмечено ДядяВаня как решение

Решение

у else нет условия, используйте else if.
0
Заблокирован
24.08.2017, 10:41 3
Цитата Сообщение от ДядяВаня Посмотреть сообщение
x1 = ((-b) + (sqrt(discr))) / 2 * a;
x2 = ((-b) - (sqrt(discr))) / 2 * a;
???
0
5 / 4 / 1
Регистрация: 24.08.2017
Сообщений: 112
24.08.2017, 10:47  [ТС] 4
Цитата Сообщение от MansMI Посмотреть сообщение
???
x1;x2= (-b) https://www.cyberforum.ru/cgi-bin/latex.cgi?\pm \sqrt{D} /2*a
0
Заблокирован
24.08.2017, 10:54 5
ДядяВаня, угу, учту
0
1494 / 1209 / 821
Регистрация: 29.02.2016
Сообщений: 3,614
24.08.2017, 11:22 6
вместо 30 строчки напишите
C++
1
    else if(discr < 0){
0
зомбяк
1584 / 1218 / 345
Регистрация: 14.05.2017
Сообщений: 3,939
24.08.2017, 13:05 7
ДядяВаня, ошибаетесь. https://www.cyberforum.ru/cgi-bin/latex.cgi?x1,x2=\frac{(-b)\pm \sqrt{D}}{2*a}. То есть
C++
1
2
x1 = (-b + sqrt(discr)) / (2 * a);
x2 = (-b - sqrt(discr)) / (2 * a);
0
5 / 4 / 1
Регистрация: 24.08.2017
Сообщений: 112
25.08.2017, 08:37  [ТС] 8
Цитата Сообщение от MansMI Посмотреть сообщение
???
точняк, скобки) спасибо)
0
25.08.2017, 08:37
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
25.08.2017, 08:37
Помогаю со студенческими работами здесь

Некорректный вывод
Не получается вывести имена файлов (какая-то белиберда на выходе). И не могу понять, как обратиться...

Некорректный вывод
В access'e есть 2 таблицы: 1)Основная с информацией о продуктах 2)Второстепенная, откуда берется...

Некорректный вывод
Здравствуйте, мне нужно чтобы в окне вывода отображалось значение x,y,z я нажимал кнопку...

Некорректный вывод
Написать программу, которая считывает текст из файла и выводит его на экран, меняя местами каждые...


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru