C++サンプル集

【第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でやろうとすると、結構、指定がややこしくなります。いろんな方法がありますが、ここではマニピュレーターを使用しています。そのため
#include <iomanip>
という記述が必要になります。
 またK&Rでは、int fahrの宣言をforの外で行っていますが、C++ではforの中に含めることができます。

K&Rでの記述

 摂氏、華氏対応表はK&Rの中にもいくつかバージョンが記載されています。
 元になったのは第1章:やさしい入門に記述されています。記号定数の説明のところです。