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

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

C++プログラミング入門その9 標準入力cinを使用したプログラム2

<<前  [TOP]  次>>


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


CinTest3.cpp 直

#include <iostream>

void main() {

	std::cout << "問題 " << "C(C++)言語では、真であるというのは次のうちどの数で表されるか?" << std::endl;

	std::cout << "次の4つの中から正解と思われるものを選び、その番号を入力せよ。" << std::endl;

	std::cout << "(1) 2 " << std::endl;
	std::cout << "(2) 0 " << std::endl;
	std::cout << "(3) 1 " << std::endl;
	std::cout << "(4) -1 " << std::endl;

	int a;

	std::cout << std::endl;

	std::cout << "答えを整数で入力してください--->  ";

	for (std::cin >> a ; !std::cin ; std::cin >> a){

		std::cin.clear();
		std::cin.ignore();
		std::cout << "入力が間違ってます" << std::endl << "答えを整数で入力してください--->  ";

	}

	for ( ; a!=3 ; ) {

		std::cout << "答えが間違っています。" << std::endl;
		std::cout << "もう一度、答えを整数で入力してください--->  ";
		std::cin >> a;
	}
	
	if ( a == 3 ) {

		std::cout << "正解です" << std::endl;
	}
}



選択が4つ以上あるクイズを考え、答えの番号を入力させるプログラムです。
正しければ正解であることを表示して終了し、間違っていれば誤答であることを表示し、正解が入力されるまで 終了しません。

【問題】 
C(C++)言語では、真であるというのは次のうちどの数で表されるか?次の4つの中から正解と思われるものを 選び、その番号を入力せよ。

 (1)2
 (2)0
 (3)1
 (4)−1



論理演算で、真(true)であるというのは、数字で表すと 1 になります。
逆に偽(false)であるということは 0 になります。


サンプルプログラムをビルドしてデバッグしてみましょう。
選択が4つ以上あるクイズを考え、答えの番号を入力させるプログラムです。
正しければ正解であることを表示して終了し、間違っていれば誤答であることを表示し、正解が入力されるまで 終了しません。





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


CinTest4.cpp 直

#include <iostream>

void main() {

	 double year, car, maitsuki, hensai, nenri;

	std::cout << "購入したい車の値段を整数で入力してください--->" << std::endl;

	for (std::cin >> car ; !std::cin ; std::cin >> car){

		std::cin.clear();
		std::cin.ignore();
		std::cout << "入力が間違ってます" << std::endl <<  "購入したい車の値段を整数で入力してください--->";


        }

	std::cout << "1ヶ月分の返済金額の上限を入力してください--->" << std::endl;

	for (std::cin >> maitsuki ; !std::cin ; std::cin >> maitsuki){

		std::cin.clear();
		std::cin.ignore();
		std::cout << "入力が間違ってます" << std::endl << "1ヶ月分の返済金額の上限を入力してください--->";

        }

	std::cout << "年利を%で入力してください--->" << std::endl;

        for (std::cin >> nenri ; !std::cin ; std::cin >> nenri){


			std::cin.clear();
			std::cin.ignore();
			std::cout << "入力が間違ってます" << std::endl << "年利を%で入力してください--->";

        }


        for (year=1; ; year=year+1) {

                car = car * (1 + nenri/100.0);
                hensai = car/(year*12);

                if (hensai <= maitsuki) {

					std::cout << "返済年数は " << year << "年です。" << std::endl;
					std::cout << "返済金額は " << hensai << "円です。" << std::endl;


                break;
                }
        }
}



サンプルプログラムをビルドしてデバッグしてみましょう。
最初に購入したい車の値段、1ヶ月分の返済金額の上限、年利(年利は%で入力するものとする)をキーボードに入力するようにします。
値段、返済金額、年利に間違って文字を入力した場合に、正しい数値が入力されるまで繰り返し再入力を促すプログラムです。
最後に返済金額と年数が表示されます。





<<前  [TOP]  次>>