
C言語の問題です.switch文を使って,四則演算する課題です.
次のようなソースをかきましたが,上手くいきません.
どこを直すべきでしょうか?
後半のcaseがおかしいのかもしれませんが,気づけません..
//switch文による四則演算
#include <stdio.h>
int main(void)
{
int va;
int vb;
int sw;
printf("最初の数が大きくなるように設定してください.\n");
printf("整数を入力してください:");
scanf("%d ",&va);
printf("整数を入力してください:");
scanf("%d ",&vb);
if (va < vb){
printf("最初の数が大きくなるように設定してください.\n");
printf("整数を入力してください:");
scanf("%d ", &va);
printf("整数を入力してください:");
scanf("%d ", &vb);
}
printf("1…和\n2…差\n3…積\n4…商\n");
printf("数を入力してください:");
scanf("%d", &sw);
switch (sw) {
case 1 : printf("2つの数の和は,%dです.", va + vb); break;//和
case 2 : printf("2つの数の差は,%dです.",va - vb); break;//差
case 3 : printf("2つの数の積は,%dです.",va * vb); break;//積
case 4 : printf("2つの数の商は,%dです.", va / vb); break;//商
default : printf("1~4の数を入力してください.\n"); //break;
}
A 回答 (5件)
- 最新から表示
- 回答順に表示
No.4
- 回答日時:
> case 2 : printf("2つの数の差は,%dです.",va - vb); break;//差
",va - vb) の ,は全角です。 半角の , を使用してください。
> case 3 : printf("2つの数の積は,%dです.",va * vb); break;//積
",va * vb) の ,は全角です。 半角の , を使用してください。
No.3
- 回答日時:
expected ')' before 'va' を「vaやvbの()があるのがおかしい」とするのは「意訳」とは呼ばないと思う>#2.
あと, 「おかしいとエラーが出て」いるところは, もっと限定されてるんじゃないかな. 「何行目」って出てると思うよ.
No.2
- 回答日時:
> vaやvbの()があるのがおかしいと出てしまいます
こういう意訳されると、何のことだかさっぱりわかりません。
正確なメッセージを書いてください。
error: expected ')' before 'va'
とかじゃなかったですか?
エラーメッセージは、エラーにした理由が書いてありますが、エラーの真因が書いてあるわけではありません。
このエラーは 「 va の前に ) が必要」 と言う内容ですが、その原因には
・本当に ) が必要なのに抜けている
・「vaの前」の部分に記述間違いがあって、期待通りに解釈されていない。
の2通りがあります。
おそらく、今回は後者です。
vaの前にある文字をよく見てください。
フォントを変えてみるもの手です。
No.1
- 回答日時:
「うまくいかない」というのは, 具体的にはなにがどう「うまくいかない」んですか?
あ, あと 4つの質問は全く意味不明だから「なにをいっているのかさっぱりわからない」以外の回答はないと思っていいよ.
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
コンパイルエラーについて
-
H8マイコンCでprintf/scanfが使...
-
「%n」や「%S」は何故恥ずかし...
-
C言語プログラミング
-
C言語の勉強しています。すみま...
-
C言語で四則演算を使って10を作...
-
ピラミッド表示プログラム。
-
ホームページをC言語で作りたい...
-
最早開始時間と最遅完了時刻を...
-
Aの値からBの値を除するとは??
-
信頼区間の1.96や1.65ってどこ...
-
#define _CRT_SECURE_NO_WARNIN...
-
C言語 エラーの原因がわからな...
-
値差の%計算方法について
-
数字以外が入力されたらエラー...
-
「Aに対するBの割合」と「Aに対...
-
VB6.0での小数点の扱いについて
-
【C++】関数ポインタの使い方
-
c languageで 簡単な質問があ...
-
ある商品のロス率を5%見込み、...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
10個出力で改行したいのですが...
-
コンパイルエラーについて
-
CTRL+Dでループを抜けるには
-
Cプログラムについて
-
コマンドラインに出力した文字...
-
WM_CLOSEで閉じれないウィンド...
-
C言語の&に関する質問
-
すごろくに使用するサイコロ
-
文字と数字の判定について
-
printf( " %2d", p * q );
-
【C言語教えてください】sin波...
-
%P と %X の違い
-
C言語の勉強しています。すみま...
-
strcmp
-
c言語でAからZまでを表示する...
-
unsigned int型について
-
(C言語)めちゃくちゃな値にな...
-
printf で二進表示を行いたい。
-
プログラミング C言語 課題でプ...
-
c言語で2000年以降カレンダーを...
おすすめ情報
↓ここがおかしいとエラーが出てしまいます.
switch (sw) {
case 1 : printf("2つの数の和は,%dです.", va + vb); break;//和
case 2 : printf("2つの数の差は,%dです.",va - vb); break;//差
case 3 : printf("2つの数の積は,%dです.",va * vb); break;//積
case 4 : printf("2つの数の商は,%dです.", va / vb); break;//商
default : printf("1~4の数を入力してください.\n"); //break;
}
vaやvbの()があるのがおかしいと出てしまいます.
ここに原因がある??