fix(grade_calculator): Various PR fixes

- Removed `lowercase_` variable
- Cleaned up spacing
- Fixed line length
This commit is contained in:
2025-10-02 10:07:43 +02:00
parent e517022fa3
commit f6a24a6480
2 changed files with 40 additions and 26 deletions

View File

@@ -1,37 +1,48 @@
#include "GradeCalculator.hpp"
namespace assignments::one::grade_calculator
{
namespace assignments::one::grade_calculator {
GradeCalculator::GradeCalculator() : Node("grade_calculator") {
grade_calculator_serviceserver_ = this->create_service<g2_2025_interfaces::srv::Exams>("grade_calculator_service",
std::bind(&GradeCalculator::grade_calculator_callback, this, std::placeholders::_1, std::placeholders::_2));
grade_calculator_service_server_ = this->create_service<g2_2025_interfaces::srv::Exams>(
"grade_calculator_service",
std::bind(
&GradeCalculator::grade_calculator_callback,
this,
std::placeholders::_1,
std::placeholders::_2
)
);
RCLCPP_INFO(this->get_logger(), "Grade calculator service server started");
}
void GradeCalculator::grade_calculator_callback(const g2_2025_interfaces::srv::Exams::Request::SharedPtr request, const g2_2025_interfaces::srv::Exams::Response::SharedPtr response) {
void GradeCalculator::grade_calculator_callback(
const g2_2025_interfaces::srv::Exams::Request::SharedPtr request,
const g2_2025_interfaces::srv::Exams::Response::SharedPtr response
) {
if (request->exam_grades.size() != 0){
gradesTotal_ = std::accumulate(request->exam_grades.begin(), request->exam_grades.end(), 0);
lowercase_ = request->student_name;
std::transform(lowercase_.begin(), lowercase_.end(), lowercase_.begin(), ::tolower);
grades_total_ = std::accumulate(request->exam_grades.begin(), request->exam_grades.end(), 0);
auto lowercase = request->student_name;
gradeResult_ = (gradesTotal_) / request->exam_grades.size();
if (lowercase_.compare("wessel") == 0){
gradeResult_ += 10;
std::transform(lowercase.begin(), lowercase.end(), lowercase.begin(), ::tolower);
grade_result_ = (grades_total_) / request->exam_grades.size();
if (lowercase.compare("wessel") == 0){
grade_result_ += 10;
}
if (gradeResult_ > 100) {
gradeResult_ = 100;
} else if (gradeResult_ < 10){
gradeResult_ = 10;
if (grade_result_ > 100) {
grade_result_ = 100;
} else if (grade_result_ < 10){
grade_result_ = 10;
}
}
response->result = gradeResult_;
response->result = grade_result_;
}
} // namespace assignments::one::grade_calculator

View File

@@ -17,12 +17,15 @@ class GradeCalculator : public rclcpp::Node {
public:
GradeCalculator();
private:
rclcpp::Service<g2_2025_interfaces::srv::Exams>::SharedPtr grade_calculator_serviceserver_;
int gradesTotal_;
std::string lowercase_;
int gradeResult_ = 0;
rclcpp::Service<g2_2025_interfaces::srv::Exams>::SharedPtr grade_calculator_service_server_;
void grade_calculator_callback(const g2_2025_interfaces::srv::Exams::Request::SharedPtr request, const g2_2025_interfaces::srv::Exams::Response::SharedPtr response);
int grades_total_;
int grade_result_ = 0;
void grade_calculator_callback(
const g2_2025_interfaces::srv::Exams::Request::SharedPtr request,
const g2_2025_interfaces::srv::Exams::Response::SharedPtr response
);
};
}
}