【问题标题】:outData.txt not outputting the correct valuesoutData.txt 没有输出正确的值
【发布时间】:2012-09-26 05:53:26
【问题描述】:

我无法从 inData.txt 中获取 # 并将值输出到 outData.txt 我的 inData.txt 中的值是: 10.20 5.35

出现在我的 outData.txt 中的值是: 长方形: 长度= -92559631349317830000000000000000000000000000000000000000000000.00,宽度= -92559631349317830000000000000000000000000000000000000000000000.00,面积= 8567285355521621000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.00,周长= -370238525397271320000000000000000000000000000000000000000000000.00 P>

这是我的代码(现在我正在输出长度、宽度、面积和周长)

#include <iostream>
#include <fstream>
#include <string>
#include <iomanip>

using namespace std;

int main ()

{
// Filestream Variable declaration

ifstream inFile;
ofstream outFile;

// Variable Declaration

double length, width, areaOfRectangle, perimeter, radius, areaOfCircle,           beginningBalance, interestRate, pi,
       circumference, endingBalance;
string firstName, lastName;
 int   age;
 char  ch;

// Opening Filestream Variables

 inFile.open("inData.txt");
 outFile.open("outData.txt");

 // Data Manipulation

 outFile << fixed << showpoint;
 outFile << setprecision(2);

 cout << "Processing Data..." << endl;

 // Variable Association


 inFile >> length >> width;
 outFile <<"Rectangle:" << endl;
 areaOfRectangle = length * width;
 perimeter = (length * 2) + (width * 2);
 outFile <<"Length= " << length << ", Width= " << width << ", Area= " << areaOfRectangle << ", Perimeter= " << perimeter << endl;





 // Closing Filestream Variables

 inFile.close();
 outFile.close();






return 0;

    }

【问题讨论】:

  • 您永远不会检查您的输入是否成功。你怎么能确定它们被正确阅读了?
  • 对不起,我不明白。我做错了什么?
  • 您可以在布尔上下文中检查inFile &gt;&gt; length &gt;&gt; width;。如果它没有读取任何一个,它将是错误的。
  • 那么如何让它正确读取呢?
  • 我首先要确保那些 .open() 有效。

标签: c++ file-io input outputstream fileoutputstream


【解决方案1】:

这将检查您的代码:

#include <iostream>
#include <fstream>
#include <string>
#include <iomanip>

using namespace std;

int main ()
{
    // Filestream Variable declaration
    ifstream inFile;
    ofstream outFile;

    // Variable Declaration
    double length, width, areaOfRectangle, perimeter, radius, areaOfCircle, beginningBalance, interestRate, pi,
       circumference, endingBalance;
    string firstName, lastName;
    int age;
    char ch;

    // Opening Filestream Variables
    inFile.open("inData.txt");
    outFile.open("outData.txt");

    if(inFile.fail())
    {
        cerr << "Error opening inData.txt" << std::endl;
        return -1;
    }

    if(outFile.fail())
    {
        cerr << "Error opening outData.txt" << std::endl;
        return -1;
    }

    // Data Manipulation
    outFile << fixed << showpoint;
    outFile << setprecision(2);

    cout << "Processing Data..." << endl;

    // Variable Association
    if(!(inFile >> length >> width)
    {
        cerr << "Failed to read values." << std::endl;
        return -1;
    }

    outFile <<"Rectangle:" << endl;
    areaOfRectangle = length * width;
    perimeter = (length * 2) + (width * 2);
    outFile <<"Length= " << length << ", Width= " << width << ", Area= " << areaOfRectangle << ", Perimeter= " << perimeter << endl;

    // Closing Filestream Variables
    inFile.close();
    outFile.close();

    return 0;
}

【讨论】:

  • @DavidCamacho 试试我刚刚更新的新代码,它会告诉你是阅读问题还是打开问题。
  • @DavidCamacho,再次检查以确保它们已成功打开。除了其他可能性之外,它们可能找不到。
  • @chris 如果他运行新代码,它会告诉他是否无法打开。
  • 那你需要仔细检查inData.txt的内容。
  • 你认为我应该在另一台电脑上试试吗?除此之外,我的代码是否正确?
猜你喜欢
  • 2019-07-30
  • 1970-01-01
  • 2012-03-21
  • 1970-01-01
  • 2016-03-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多