納得C言語!
演習問題U 第2問の解答
2 6回の練習問題で作ったプログラムを改良してみよう!
解答プログラム
			
				#include <stdio.h>
		
				//プロトタイプ宣言
				int add(int i,int n);
				int sub(int i,int n);
				int mul(int i,int n);
				int div(int i,int n);
				int main()
				{
				    int s = 0,a = 0,b = 0,c = 0;    //変数の宣言と初期化
				    while(1){
				        printf("\n簡易計算機\n");
				        printf("加算=>1, 減算=>2 ,乗算=>3 ,除算=>4 ,終了=>0\n");
				        printf("\nどの計算をしますか =");
				        scanf("%d",&s);
				        if(s == 0){    //s == 0 の場合break で抜ける
				            printf("終了します\n");
				            break;
				        }
	        
				        printf("数値Aを入力してください=");
				        scanf("%d",&a);
				        printf("数値Bを入力してください=");
				        scanf("%d",&b);
				        switch(s){
				            case 1:
				                //入力した値a,bを関数add()に引数として渡し、返ってきた結果をcに代入
				                c = add(a,b);
				                printf("加算A+Bの答えは%d\n",c);
				                break;
	            
				            case 2:
				                //入力した値a,bを関数sub()に引数として渡し、返ってきた結果をcに代入
				                c = sub(a,b);
				                printf("減算A-Bの答えは%d\n",c);
				                break;
				            case 3:
				                //入力した値a,bを関数mul()に引数として渡し、返ってきた結果をcに代入
				                c = mul(a,b);
				                printf("乗算A*Bの答えは%d\n",c);
				                break;
	            
				            case 4:
				                //入力した値a,bを関数div()に引数として渡し、返ってきた結果をcに代入
	 			                c = div(a,b);
	 			                printf("除算A/Bの答えは%d\n",c);
				                break;
				            default:
				                printf("数値が正しくありません\n");
				        }
				    }
				    return 0;
				}
				int add(int i,int n)    //自作関数add
				{
				    int kai;
				    kai = i + n;        //加算
				    return kai;         //kaiを返す
				}
				int sub(int i,int n)    //自作関数sub
				{
				    int kai;
				    kai = i - n;        //減算
				    return kai;         //kaiを返す
				}
				int mul(int i,int n)    //自作関数mul
				{
				    int kai;
				    kai = i * n;        //乗算
				    return kai;         //kaiを返す
				}
				int div(int i,int n)    //自作関数div
				{
				    int kai;
				    kai = i / n;        //除算
				    return kai;         //kaiを返す
				}
			
解説
			何度も計算させる場合はwhile文で無限ループを作ってしまいます。
			また、ループから抜ける場合はif文で0が入力されたかを判定しbreakを使用します。
			自作関数ですが、今回は計算結果をmain関数に返しているのでint型を宣言します。
			また、自作関数を作成する場合にはmain関数より前でプロトタイプ宣言をする必要があるので、忘れないようにしましょう。
		
あとがき
			お久しぶりです。その後C言語学習はいかがですか?
			この学習項目もついに8回です!やっと学習コンテンツの折り返し・・・ではないですね。
			4合目到達と言ったところでしょうか。
			「難しいな」と思っている方も少なくないと思います。
			事実私もC言語学習当初はまったく分かりませんでした(てへっ
			ですがプログラムを沢山書いたり、自分でプログラムを作成していくうちに「難しい」から「面白い」に変わりました。
			今、「うーん難しい」と思っている方はもう少しがんばってみましょう!