繁体   English   中英

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

[英]How do you read values from a text file in c++?

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

你的错误
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


笔记

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM