Skip to content

Glagolev ruslan#15

Open
RuslanGlagolev wants to merge 3 commits intomasterfrom
Glagolev_Ruslan
Open

Glagolev ruslan#15
RuslanGlagolev wants to merge 3 commits intomasterfrom
Glagolev_Ruslan

Conversation

@RuslanGlagolev
Copy link
Collaborator

No description provided.

<< std::endl;
std::cout << "a=2\n"
<< "b=8\n"
<< "c=4\n";
Copy link
Owner

Choose a reason for hiding this comment

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

я немного не понял этот вывод? вы предлагаете пользоателю ввести числа в таком диапазоне или как это понять?

std::cout
<< "This program calculates the roots of a quadratic equation of type:\n"
<< "a*x^2+b*x+c \n"
<< 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.

а зачем вы тут вычисляете корни, а потом ниже еще делаете вычисление?

наверное код что выше это для теста, а ниже это реальный код соответсвующий задачи?

std::cout << "Enter b" << std::endl;
std::cin >> b;
std::cout << "Enter c" << std::endl;
std::cin >> c;
Copy link
Owner

Choose a reason for hiding this comment

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

выше вы проверили для a а думаю что тут же надо проверить и b и c

<< std::endl;
int a;
int b;
int c;
Copy link
Owner

Choose a reason for hiding this comment

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

обьявляйте переменный по мере их использования, т.е. тут обьявите переменную a

int a;
std::cout << "Enter data for value a" << std::endl;
std::cin >> a;
  while (a == 0 || a > 255 || a < -255) {
    std::cout << "Not correct number please try again \n"
              << "Enter a" << std::endl;
    std::cin >> a;
  }
int c;
std::cout << "Enter data for value c" << std::endl;
std::cin >> c;
  while (c == 0 || c > 255 || c < -255) {
    std::cout << "Not correct number please try again \n"
              << "Enter c" << std::endl;
    std::cin >> c;
  }

std::cout << "Enter c" << std::endl;
std::cin >> c;
int d;
d = b * b - 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.

думаю что это будет немного не коректно, ну вопервых зачем выше обьявлять переменную, а ниже присваивать ей значение, если это можно совместить. Потом тип переменной d он должен быть больше по размеру чем само выражение которое стоит справа от оператора =, это для того чтобы не получить переполнение.
лучше для этого написать будет так

  auto d = b * b - 4 * a * c;

так точно вы не получите переполнение

std::cout << "First root \n" << x1 << std::endl;
double x2 = (-b - sqrt(d)) / (2 * a);
std::cout << "Second root \n" << x2;
}
Copy link
Owner

Choose a reason for hiding this comment

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

напишите вывод в случае если d == 0 или < 0, там типа нет корней что то такого. А то получаеться пользователь вводил данные, а потом если что то ввел неправильно если d не больше 0, то не экране мы не получим ничего, надо как то сообщить пользователю что что пошло не так. Т.е. дать фитбек пользователю

int c;
std::cout << "Enter a" << std::endl;
std::cin >> a;
while (a == 0 || a > 255 || a < -255) {
Copy link
Owner

Choose a reason for hiding this comment

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

для литералов 255 и -255 заведите константы. Так проще если вы например решили поменять диапазон, то вам проще изменить контанты чем бегать по всему тексту искать где этот литерал встречался в коде.

int a;
int b;
int c;
std::cout << "Enter a" << 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.

напишите пользователю что у вас есть ограничения на ввод для переменной, вы же ниже проверяете на 255 и -255, т.е. вы должны предупредить пользователя сказав что у вас есть ограничения и вы их будете проверять

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