0

これが私のコードです:

#include <iomanip>
#include <fstream>
#include <iostream>
using namespace std;

int main ()  
{
    ifstream fin;

    fin.open("Celsius.txt");

    if (!fin.good()) throw "I/O error";

    double myC;
    fin >> myC;

    fin.close();   

    ofstream fout;
    fout.open("Fahrenheit.txt");
    if (!fout.good()) throw "I/O error";

    double myAnswer = (myC * 1.80) + 32;  
    fixed;  
    cout << myC << " Celsius equals " << setprecision(3) << myAnswer << " Fahrenheit" << endl;  
    fout << myC << " Celsius equals " << setprecision(3) << myAnswer << " Fahrenheit" << endl;  

    fout.close(); 
}

わかりました、私はちょうどいくつかの完全な基本的なニューロンを逃していますか、私はこれを理解するいくつかの障害があるようです。

  • フォーマットされた入力エコーの場合は-2であり、
  • 出力を10進数でフォーマットしない場合は-2です。
  • 入力値を出力のみにフォーマットしないでください。

    fixed;
    cout << myInput << " should not be formatted, but " << setprecision(3) << myOutput << " should be" << endl;
    

それはとどまりません:

myInputはフォーマットされていない入力エコーであり、myOutputは10進数の1桁にフォーマットされていますか?

4

1 に答える 1

1

次のように、出力ストリームにfixedを含める必要があります。

cout << myC << " Celsius equals " << fixed << setprecision(3) << myAnswer << " Fahrenheit" << endl;

setprecisionは、小数点以下の桁数を指定します。したがって、3は72.000のような数値を生成します。または、あなたの場合は1が72.0に設定します。

于 2011-03-16T04:33:58.460 に答える