我的程序,但仍然可以返回0

时间:2015-11-27 15:34:26

标签: c++

使用以下评分政策为课程编写评分程序: 一个。有两个测验,每个测验基于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);
}

1 个答案:

答案 0 :(得分:0)

不考虑计算值的方式,主要问题是,在输出函数中,您正在进行整数运算来计算小于1的值。例如,在OutputQuizz中,{{ 1}}通常小于1.

要强制编译器使用浮点数,请改用(Q1 + Q2 ) / 20

您将看到非0的值。