基本上我必须从一个文本文件中取2个值(学生得分和积分总数)
97 127
并打印出学生百分比。
这是我的代码
#include <iostream>
#include <fstream>
#include <string>
#include <cmath>
using namespace std;
int main()
{
int student_score;
int total_points;
int final_score;
ifstream inFile;
inFile.open("myData.txt");
inFile >> student_score >> total_points;
final_score = (student_score / total_points) * 100;
cout << final_score;
inFile.close();
return 0;
}
我的问题是,当我运行程序时,值出现
3608900
当我要求打印出student_score值时,它会打印出一个完全不同的数字。
答案 0 :(得分:0)
你的错误
int total_points;
您只需将int
/ int
分开,实际上您尝试执行此操作:97 / 127
因此输出为0
。
这里:
你应该写什么
int student_score = 0;
float total_points = 0.0;
int final_score = 0;
std::ifstream inFile;
inFile.open("myData.txt");
if( inFile ){
inFile >> student_score >> total_points;
} else {
std::cout << "your-error-code";
}
final_score = (student_score / total_points) * 100;
std::cout << final_score;
inFile.close();
return 0;
<强>输出强>
76
注意强>
始终将变量初始化为正确的相关类型