使用以下评分政策为课程编写评分程序: 一个。有两个测验,每个测验基于10分进行评分。 湾有一个期中考试和一个期末考试,每个考试都根据 100分。 C。期末考试占50%,中期考试占25%,而且 这两个测验总共占25%。 (别忘了规范化 测验分数。它们应该在平均之前转换为百分比 在。) 任何等级90或以上是A,任何等级80或更高(但低于90)是a B,任何等级70或更高(但低于80)是C,任何等级60或更高(但是 小于70)是D,任何低于60的等级都是F.该程序将读入 学生的分数和输出学生的记录,其中包括两个测验和 两个考试成绩以及学生整个课程的平均数字分数 和最后的字母等级。定义并使用学生记录的结构。
#include <iostream>
#include <string>
using namespace std;
struct Report {
public:
};
int inputQuizzone ( int& Quizz1); //input functions take read in the input
int inputQuizztwo ( int& Quizz2); // user inputs result of quizz. Each quizz
// is 10 points
int inputMideterm ( int& MidExam);
int inputExam ( int& Finall);
double OutputQuizz ( int& Q1, int& Q2); // this is meant to calculate the
// by adding quizz 1 and quizz two to 25%
double Output ( int& Quizz);
double OutputMideterm ( int MidExam);
double OutputExam ( int& Final);
int main()
{
Report FinalGrade ;
int
x , y ,z , xz , gr;
inputQuizzone( x);
inputQuizztwo( y);
inputMideterm(z);
inputExam( xz);
cout << " Your Final Grades are " << '\n'
<< " Quizzes " << "" << OutputQuizz( x, y) << '\n'
//<< "Quizz Two " << Quizz2<< '\n'
<< " Mideterm " << OutputMideterm( z) << '\n'
<< " Finals " << OutputExam(xz) << endl;
}
int inputQuizzone ( int& Quizz1)
{
cout << " Enter Your Quizz One Score over 10"<< endl;
cin >> Quizz1;
}
int inputQuizztwo ( int& Quizz2)
{
cout << " Enter Your Second Quizz 2 Score over 10"<< endl;
cin >> Quizz2;
}
int inputMideterm ( int& MidExam)
{
cout << " Enter Your Midterm Score over 100"<< endl;
cin >> MidExam;
}
int inputExam ( int& Finall)
{
cout << " Enter Your Exam Score over 100"<< endl;
cin >> Finall;
return (Finall);
}
double OutputQuizz ( int& Q1, int& Q2)
{
int QR = 0;
QR = (((Q1 + Q2 ) / 20) * 25 ) ;
return (QR);
}
double OutputMideterm ( int MidExam)
{
int QR = 0;
QR = (MidExam / 100) * 25;
return (QR);
}
double OutputExam ( int& Final)
{
int QR = 0;
QR = (Final / 100) * 25;
return (QR);
}
答案 0 :(得分:0)
不考虑计算值的方式,主要问题是,在输出函数中,您正在进行整数运算来计算小于1的值。例如,在OutputQuizz
中,{{ 1}}通常小于1.
要强制编译器使用浮点数,请改用(Q1 + Q2 ) / 20
。
您将看到非0的值。