我的程序有效,但不断返回0
My program, works but keeps on returning 0
为具有以下分级策略的类编写分级程序:a.共有两个小测验,每个测验以10分为基础进行评分。b.有一次期中考试和一次期末考试,每次考试根据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的值。例如,在OutputQuizz
中,(Q1 + Q2 ) / 20
通常小于1。
若要强制编译器使用浮点,请改用QR = (((Q1 + Q2 ) / 20.0) * 25.0 )
。
您将看到非0的值。
相关文章:
- 为什么我的程序在for循环中k=0时返回垃圾值
- 为什么这个程序返回最后一个单词而不是最长的单词?
- 为什么C++程序在太大时返回代码而不是答案?
- 这是使用回溯的 nqueen 问题,但我使用了动态 2d 数组,我的程序编译良好,但不返回任何输出
- 程序中的布尔函数返回输入的范围无论如何都是无效的
- 为什么我的程序在 O0 和 O2 的优化级别返回不同的结果
- 程序不向函数返回值
- 返回不需要的值的二叉搜索程序
- 为什么这个程序没有打印返回的迭代器的正确第二个元素?
- C ++程序如何返回我的数组或写入全局变量
- bash脚本在使用popen()时不返回代码以调用C ++程序
- 如何使用从处理程序调度的最终回调将响应异步返回给调用方on_read?
- 返回主窗口/ C ++后,应用程序正在关闭
- 将数组作为多线程应用程序中函数的返回传递
- 当if语句告诉程序返回0时,我的程序不会退出
- 同一个程序每次返回不同的输出
- 由于值返回函数中的错误,程序无法编译.它说未声明的标识符
- 此程序不返回任何内容
- 为什么这个C++程序在代码::块和在线 IDE 之间返回不同的结果?
- 类对象的向量C++文件返回程序