C++ C++;函数赋值等级计算器
我的编程讲师正在教我们如何编写函数,我想补充一点,我们将制作一个计算学生作业成绩的程序。这是它的规格C++ C++;函数赋值等级计算器,c++,function,C++,Function,我的编程讲师正在教我们如何编写函数,我想补充一点,我们将制作一个计算学生作业成绩的程序。这是它的规格 分数1的权重为0.3 分数2的权重为0.5,并且 得分3的权重为0.2。 如果分数总和大于或等于85,则分数为“A”。 如果分数总和大于或等于75,则分数为a“B”。 如果分数总和大于或等于65,则分数为“C”。 如果分数总和大于或等于50,则分数为“P”。 否则,成绩为“F” 因此,我编写了如下代码: #include <iostream> using namespace std
#include <iostream>
using namespace std;
void calculateGrade() {
int score1, score2, score3;
int percentDec;
cin >>score1>>score2>>score3;
percentDec = (score1+score2+score3);
if (percentDec >= 85) {
cout << "The Course grade is: A";
}
else if (percentDec >= 75) {
cout << "The Course grade is: B";
}
else if (percentDec >= 65) {
cout <<"The Course grade is: C";
}
else if (percentDec >= 50) {
cout <<"The Course grade is: P";
}
else {
cout <<"The Course grade is: F";
}
} //end of calculateGrade()
int main() {
calculateGrade();
return 0;
}
为任何帮助干杯 这不是一个获取家庭作业问题答案的论坛,尽管在展示你的尝试方面做得很好。以下是需要关注的领域:
1) 讲师向您展示了您可以将代码分解为函数。他/她想让你编写一个函数计算器等级,它的工作原理如下
cout你的导师要求你编写一个接受3个参数并返回等级的函数
char calculateGrade(int score1, int score2, int score3) {
char grade = 'F';
double percent = (0.3*score1 + 0.5*score2 + 0.2*score3);
if(...) {
grade = 'A/B/C/P'; // Depending upon condition, assign only value
}
else if(...) {
grade = 'A/B/C/P'; //Depending upon condition, assign only one value
}
// Add the condition in if else statements to get the actual grade.
return grade;
}
请注意,百分比
属于double
类型。您需要在if-else中以双重基础进行所有比较 返回一个值…,所以不要在函数中输出答案,而是返回一个字符串并在main中打印出来。你还需要传递参数,因为这些整数没有任何值(也没有加权),你也忘记了对分数进行加权。你的讲师不应该教你吗?我已经教过了。读我说的话。从函数中返回一个带等级的字符串(确保更改返回类型)。另外,输入整数,而不是仅仅声明和初始化,它们没有任何价值。@Summ0102我会小心地斥责你的老师“做错了”。将问题分解成这样的函数绝对是一种很好的编程实践。当您编写的代码将有一百万行之长时,您不会希望它全部出现在主代码中:)发布家庭作业问题的完整答案是违反社区指导原则的。
return_type functionName(param1_type param1, param2_type param2,...) {
// implementation
}
string calculateGrade(int score1, int score2, int score3) {
// ...
}
char calculateGrade(int score1, int score2, int score3) {
char grade = 'F';
double percent = (0.3*score1 + 0.5*score2 + 0.2*score3);
if(...) {
grade = 'A/B/C/P'; // Depending upon condition, assign only value
}
else if(...) {
grade = 'A/B/C/P'; //Depending upon condition, assign only one value
}
// Add the condition in if else statements to get the actual grade.
return grade;
}