【第1部】C言語(K&R検証)編
0002.摂氏、華氏対応表
ソース紹介
CPPファイルに記述
#include <iostream>
#include <iomanip>
using namespace std;
#define LOWER 0
#define UPPER 300
#define STEP 20
int main()
{
for (int fahr = LOWER; fahr <= UPPER; fahr = fahr + STEP) {
cout << setw(3) << fahr;
cout << setw(7) << std::fixed;
cout << setprecision(1) << (5.0 / 9.0) * (fahr - 32) << endl;
}
return 0;
}
出力
0 -17.8
20 -6.7
40 4.4
60 15.6
80 26.7
100 37.8
120 48.9
140 60.0
160 71.1
180 82.2
200 93.3
220 104.4
240 115.6
260 126.7
280 137.8
300 148.9
サンプル説明
C言語では文字列の出力は
printf()関数が一般的かとおもいます。
K&Rでも
printf()関数を使っています。
C++では
標準ストリームが一般的です(C++でも、printf()は使えますが)。
printf()関数がいわゆる
書式付き出力といわれるように、出力書式の指定は、結構直感的で短く記述できます。
しかし、同じことを
coutでやろうとすると、結構、指定がややこしくなります。いろんな方法がありますが、ここでは
マニピュレーターを使用しています。そのため
という記述が必要になります。
また
K&Rでは、
int fahrの宣言を
forの外で行っていますが、
C++では
forの中に含めることができます。
K&Rでの記述
摂氏、華氏対応表は
K&Rの中にもいくつかバージョンが記載されています。
元になったのは
第1章:やさしい入門に記述されています。
記号定数の説明のところです。