generated from wessel/boilerplate
fix(grade_calculator): Various PR fixes
- Removed `lowercase_` variable - Cleaned up spacing - Fixed line length
This commit is contained in:
@@ -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
|
||||
|
||||
|
||||
|
||||
@@ -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
|
||||
);
|
||||
};
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user