指定範囲の整数の加算結果を表示する
キーボードから入力された指定範囲の整数値の加算結果を求めます。
・キーボードから加算する整数値の範囲を入力します。
この時、入力値の大小関係をチェックします。
・入力された範囲の整数値を生成し加算します。
今回も、MicrofoftのVisual Studio 2022を使用します。
・プロジェクトを作成します。
Visual Studio 2022を起動し、
新しいプロジェクトを作成します。
・プロジェクトタイプ:"コンソールアプリ"
・プロジェクト名:"ct_103_3"
とします。
※プロジェクトの作成方法は、PCでC言語基礎編の
・1~100までの整数の加算結果を表示する
・2つの入力値(整数値)の四則演算結果を表示する
を参考にして下さい。
・プログラム記述・編集画面が表示されるので、
以下のプログラムを記述します。
プログラムの記述内容
// 指定数値1~指定数値2までの整数を加算 #include <iostream> int main() { // 変数宣言 int value, total, start_value, stop_value; // 変数の初期化 total = 0; // キーボードからの二つの指定数値を受け取る printf("指定数値1:"); scanf_s("%d", &start_value); printf("指定数値2:"); scanf_s("%d", &stop_value); // 指定数値の大小関係を確認する if (start_value < stop_value ) { // 範囲値の加算ループ for (value = start_value; value <= stop_value; value++) { total += value; } // 加算結果の表示 printf("加算結果: %d\n", total); } else { // 指定数値の設定不良時の表示 printf("指定数値が不正\n"); } return EXIT_SUCCESS; }
簡単なプログラム解説です。
・変数宣言
各値を格納するための変数を宣言
int value, total, start_value, stop_value;
value:指定範囲の生成数値を格納
total:指定範囲の加算結果を格納
start_value:繰り返し処理時のスタート値を格納
stop_value:繰り返し処理時のストップ値を格納
・キーボードからの二つの指定数値を受け取る
printf( )関数を使って入力促進表示
scanf_s( )関数を使ってキー入力数値2つを
変数 start_value、stop_value に格納します。
・指定数値(入力値)の大小関係を確認する
キーボードから入力された2つの数値が、
"1つ目の値 < 2つ目の値" という条件に
一致しているかを確認します。
一致しない場合には、printf( )関数で
"指定数値が不正"と表示をし加算ループ処理を行いません。
・範囲値の加算ループ
繰り返し制御文のfor()を使用して、指定数値間の加算を行います。
for()文は、
for( 初期値; 継続条件式; 繰り返し時の増加減式){ }
for( value = start_value; value <= stop_value; value++ ){ }
これは、
変数valueの値を変数start_valueの値で初期化、
変数valueの値が、変数stop_valueの値以下の条件で、
繰り返し毎に変数value値に1ずつ加算します。
繰り返し(ループ)内では、
変数totalに、繰り返し毎回の変数value値を加算
加算処理が成立した場合(大小関係)、
範囲値の加算ループで変数totalに求めた加算結果を表示します。
分岐制御文については、
Arduino編の 制御文法を使う(分岐)条件により流れを変える
繰り返し制御文については、
Arduino編の 制御文法を使う(反復)条件により処理を繰り返す
でもう少し詳しく解説しています
・実行してみます。
上段メニュー"デバッグ(D)"のサブメニューより、
"デバッグなしで開始(H)"を選択します。
・実行結果は、デバッグコンソール画面が開き表示されます。
※この実行では、大小関係が成り立つ場合で、
キーボードからの入力が、
指定数値1:1
指定数値1:10
の例で、加算結果が 55 と表示されます。
※こちらの実行では、大小関係が成立しない場合で、
キーボードからの入力が、
指定数値1:10
指定数値1:1
の例で、"指定数値が不正"と表示されます。
※デバッグコンソール画面、
何かのキーを打鍵することで閉じることができます。