Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Замечания по программе Bodies #6

Open
1 task
alexey-malov opened this issue Jun 23, 2020 · 8 comments
Open
1 task

Замечания по программе Bodies #6

alexey-malov opened this issue Jun 23, 2020 · 8 comments

Comments

@alexey-malov
Copy link

1>C:\teaching\oop-labs\ler\OopLabs\lab4\Bodies\Bodies\UserInterface.cpp(13,15): warning C4267: '=': conversion from 'size_t' to 'int', possible loss of data
1>C:\teaching\oop-labs\ler\OopLabs\lab4\Bodies\Bodies\UserInterface.cpp(31,15): warning C4267: '=': conversion from 'size_t' to 'int', possible loss of data
  • Программа должна компилироваться без предупреждений компилятора во всех конфигурациях и платформах.
@alexey-malov
Copy link
Author

double CBody::GetMass()
{
return round(GetDensity() * GetVolume() * 1000) / 1000;
}

  • Не надо умножать и делить на 1000. Вычисления должны выполняться с максимльной точностью и лишь только при выводе выполнять округление

@alexey-malov
Copy link
Author

double CCone::GetVolume() const
{
return round((3.14 * baseRadius * baseRadius * height) / 3 * 1000) / 1000;
}

  • Не надо умножать и делить на 1000. Значение числа PI можно взять поточнее.

@alexey-malov
Copy link
Author

double density;
string type;

  • Программа не соответствует принятому стилю кодирования. Ознакомьтесь с правилами именования переменных, функций, классов, расстановкой скобок, знаков препинания и отступов.

@alexey-malov
Copy link
Author

double CCone::GetBaseRadius() const
{
return CCone::baseRadius;
}
double CCone::GetHeight() const
{
return CCone::height;
}

  • Для доступа к полям достаточно указать их имя.

@alexey-malov
Copy link
Author

shared_ptr<CBody> UserInterface::FindMinMassInWater(const vector<shared_ptr<CBody>>& bodies)
{
double minMass = 99999999.9;
int pointer = 0;
for (size_t i = 0; i < bodies.size(); ++i)
{
CBody* temp = bodies[i].get();
double tempMass = (temp->GetDensity() - 1000) * 10 * temp->GetVolume();
if (minMass > tempMass)
{
pointer = i;
minMass = tempMass;
}
}
shared_ptr<CBody> minMassBody = bodies[pointer];
return minMassBody;
}

  • А что если вектор будет пустой?

  • А что если все фигуры будут иметь массу в воде > 999999999?

@alexey-malov
Copy link
Author

  • Класс UserInterface не обладает состоянием и содержит в себе разношерстный набор функций.

@alexey-malov
Copy link
Author

  • Тесты должны автоматически запускаться во всех конфигурациях и платформах по окончании сборки проекта

@alexey-malov
Copy link
Author

  • Не реализован метод ToString()

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

No branches or pull requests

1 participant