c言語のプログラムについて
今年からC言語を始めた大学1年生です。レポートで四則計算を行うプログラムを6/19までに作らないといけないです。使えるのは今までに習った選択型、反復型、関数scanfです。このプログラムの留意点は次の4つです。
1.使う演算を選択してもらう
例えば
どんな演算をしますか? 1:+,2:-,3:*,4:/ (選択)
2.演算を行う数値を入力してもらう
例えば
a + b の計算をします。aを入力してください。
3.演算結果を表示する
○+○の答えは ○です
4.計算終了か、それともほかの演算を行うか 決める
0:計算終了 1:他の計算を行う を選択してください
以下のプログラムはこのことを留意してプログラムをつくりました。どこがおかしいのでしょうか。
#include<stdio.h>
main()
{
short a,b,m,n;
long c,d,e,f;
c = a + b;
d = a - b;
e = a * b;
f = a / b;
m = 1;
printf("整数を入力してください:");
scanf("%d",&a);
printf("どんな演算をしますか?:");
printf("1: +,2: -,3: ×,4: ÷ :");
scanf("%d",&n);
while(m=1){
if(n<=4){
while(m=1){
switch (n<=4){
case 1:
printf("整数を入力してください:");
scanf("%d",&b);
printf("%d + %d = %d \n",a,b,c);
break;
case 2:
printf("整数を入力してください:");
scanf("%d",&b);
printf("%d - %d = %d \n",a,b,d);
break;
case 3:
printf("整数を入力してください:");
scanf("%d",&b);
printf("%d × %d = %d \n",a,b,e);
break;
case 4:
printf("整数を入力してください:");
scanf("%d",&b);
printf("%d ÷ %d = %d \n",a,b,f);
break;
}
}
}
else {
printf("計算できません。");
printf("演算をやり直してください。\n:");
}
}
printf("計算を終了しますか、それとも他の計算を行いますか?:");
printf("0:計算終了,1:他の計算を行う:");
scanf("%d",&m);
printf("計算を終了します。\n");
}
提出期限があるのでなるべく早めのご回答待ってます。生意気言ってすいません。
お礼
ご回答ありがとうございます。 できました! 命令を書く順番とか、 scanfの扱い方も、まだ理解できていないので、 いろいろ試してなれて行こうと思います。 ありがとうございました。