学生向けプログラミング入門

学生向けにプログラミングを解説。Java、C++、Ruby、PHP、データベース

C++プログラミング入門その12 変数を使用したプログラム

<<前  [TOP]  次>>


Visual Studioで新規プロジェクトを作り、次のcppファイルを作成して下さい。


HensuuTest1.cpp 直

#include <iostream>

void main() {

	float a;
	a = 2.999999999999;
	std::cout << a << std::endl;

	float b;
	b = 1.00000001;
	std::cout << b << std::endl;

	float c;
        c = 1.1;
		std::cout << c << std::endl;
}



実数変数に大きな値を代入し、表示してみるというテストプログラムです。


実数変数として、float型を使用しています。


実数にはいろいろな種類があります。
分数で表せる有理数、有理数の中にも、有限な桁の小数で表される有限小数と有限な桁では表すことができない循環小数(1/3 = 0.33・・・・)があり、有理数で表すことのできない無理数(例えばルート)なども存在します。


しかし、通常多くの言語では、数桁から十数桁程度しか扱うことができません。


実数を格納できる変数を実数型の変数、実数変数といいます。
実数変数も整数と同じようにプログラム中で使うためには、あらかじめ宣言しておかなければなりません。
実数変数の宣言は、float によって行います。

実数変数の宣言    float 変数名, 変数名・・・・;

  • 例1    float x;
  • 例2    float x; float y;
  • 例3    float x, y;


    実数変数への代入は、整数と同じようにできますが、必ず実数型の数値として記憶されます。
    a = 3; は右辺の値は整数ですが、aが実数型の変数である場合、代入されるときに自動的に 3.0 に拡張されて記憶されます。
    逆に、実数を整数変数に代入すると、小数以下は切り捨てられます。


    実数変数には他に double型 などもあり、扱えるデータ範囲が広くなります。
    データ型データのサイズデータの種類データの値の範囲
    float4バイト小数点数±3.40282347×1038〜±1.40239864×10-45
    double8バイト小数点数±1.79769313486231570×10308〜±4.94065645841245644×10-324


    サンプルプログラムをビルドしてデバッグしてみましょう。
    3、 1、 1.1 と画面に出力されます。





    Visual Studioで新規プロジェクトを作り、次のcppファイルを作成して下さい。


    HensuuTest2.cpp 直

    #include <iostream>
    
    void main() {
    
    	float jinkou = 150000000;
    
    	float syouhi = 4000000 * (jinkou/40000000);
    
    	float taxa = 0.08;
    	float taxb = 0.10;
    
    	float genzai = syouhi*taxa;
    	float zouzei = syouhi*taxb;
    
    	float sashihiki = zouzei - genzai;
    
    	std::cout << "日本国の人口は" << jinkou << "人である" << std::endl;
    	std::cout << "日本の年間消費金額は" << syouhi << "円である" << std::endl;
    	std::cout << "消費税8%だと" << genzai << "円消費税が納められる" << std::endl;
    	std::cout << "消費税10%だと" << zouzei << "円消費税が納められる" << std::endl;
    	std::cout << "増税分は" << sashihiki << "円である" << std::endl;
    
    }
    



    このプログラムは、現在8%の消費税が10%に引き上げられたとき、国全体でどれだけ増収になるかを計算するプログラムです。
    4000万人が年間400万円程度を使うものと仮定して、これらすべてに消費税がかかるものとしています。
    実数変数を使わなければ、計算結果がおかしくなります。


    サンプルプログラムをビルドしてデバッグしてみましょう。
    計算結果が画面に表示されます。





    Visual Studioで新規プロジェクトを作り、次のcppファイルを作成して下さい。


    HensuuTest3.cpp 直

    #include <iostream>
    
    void main() {
    
    	float jinkou, ritsu, nensuu;
    
    	jinkou = 100000000;
    	nensuu = 0;
    	ritsu = 0.05;
    
    	for ( int i=1; jinkou>=50000000; i++) {
    
    		jinkou = jinkou - (jinkou* ritsu);
    
    		nensuu++;
    	} 
    
    	std::cout << "人口が5000万人以下になるには" << nensuu << "年かかる" << std::endl;
    }
    



    人口を1億人とし、人口が毎年5%づつ減っていくものとします。
    人口が5000万人以下になるには何年かかるかえお計算するプログラムです。
    サンプルプログラムをビルドしてデバッグしてみましょう。
    計算結果が画面に表示されます。





    Visual Studioで新規プロジェクトを作り、次のcppファイルを作成して下さい。


    HensuuTest4.cpp 直

    #include <iostream>
    
    void main() {
    
    	float tensuu, heikin, goukei, ninzuu;
    
    	std::cout << "試験を行った結果の平均点を求める。" << std::endl;
    	std::cout << "点数を入力してください" << std::endl;
    
    	ninzuu = 1;
    	goukei = 0;
    
    	while(true) {
    
    		std::cout << ninzuu << "人目の点数を整数で入力してください。" << std::endl;
    		std::cout << "入力が終ったら 101 と入力してください" << std::endl;
    
    		for (std::cin >> tensuu ; !std::cin ; std::cin >> tensuu){
    			std::cin.clear();
    			std::cin.ignore();
    					std::cout << "入力が間違ってます。" << std::endl << "点数を整数で入力してください。";
    	        }
    
    		goukei += tensuu;
    		ninzuu++;
    
    		if ( tensuu == 101 ) {
    			break;
    		}
    	}
    
    	heikin = (goukei-101)/(ninzuu-2);
    
    	std::cout << "入力した人数は" << ninzuu-2 << "人で、平均点は" << heikin << "点です。" << std::endl;
    }
    



    試験を行った結果の平均点を求めるプログラムです。
    学生の成績は標準入力から読み込むものとし、入力する人数に制限がないものとします。
    平均点は実数で計算します。
    101と入力したら、ループを抜け、結果を表示します。





    <<前  [TOP]  次>>