Skip to content

GnedykVolodimirn request HomeWork1#16

Open
VolodimirGnedyk wants to merge 1 commit intomasterfrom
gnedykvolodimir_homework1
Open

GnedykVolodimirn request HomeWork1#16
VolodimirGnedyk wants to merge 1 commit intomasterfrom
gnedykvolodimir_homework1

Conversation

@VolodimirGnedyk
Copy link
Collaborator

No description provided.

#include <cstdio>
#include <iostream>
int main(int argc, char const *argv[]) {
std::cout << "Вас приветствует програма Quadratic_equation." << std::endl;
Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Я не очень сильно рекомендую использовать руский текст в консольных приложениях. Ну это на ваше усмотрение)

// Если А=0, то у нас нет квадратного уравнения
while ((A < kShortMin) && (A > kShortMax) && (A == 0)) {
std::cout << "Параметр А задан не верно\n";
return 1;
Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ну тут немного не верно, если вы делаете while это значит что вы даете пользователю возможность повторно ввести данные, а вы делаете return 1, т.е. в таком случае лучше написать if а не цикл. Или используйте цикл как у вас это есть, но тогда уберите return а добавте cin

<< kShortMin << " до " << kShortMax << std::endl;
std::cin >> A;
// Если А=0, то у нас нет квадратного уравнения
while ((A < kShortMin) && (A > kShortMax) && (A == 0)) {
Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

у вас эта проверка никогда не выполниться, т.к. тип переменной A и kShortMin одного типа.
Вам нужно сделать тип переменной A больше чем тип переменной kShortMin. Например int A

std::cout << "Параметр С задан не верно\n";
return 1;
}
auto D = B ^ 2 - 4 * A * C;
Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

оператор ^ в языке С++ это не оператор возведение в степень, это побитовый xor. Вам нужно просто написать B * B

auto D = B ^ 2 - 4 * A * C;
if (D < 0) {
std::cout
<< "Заданое квадратное уравнение не имеет действительных решеий\n";
Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

и что дальше пошли выполнять код? в этом случае вы получили решение и должны сделать return 0 дальше выполнять код не имеет смысла

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants