你如何从c ++中的文本文件中读取值?

时间:2017-02-06 18:32:18

标签: c++ file

基本上我必须从一个文本文件中取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值时,它会打印出一个完全不同的数字。

1 个答案:

答案 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

注意

始终将变量初始化为正确的相关类型