No.1ベストアンサー
- 回答日時:
> ということが条件なんですけど、どなたか
> プログラムがどのようなものか教えていただけ
> ませんか??
提示されている条件をすべて満たすことは不可能です。特に(2)
No.3
- 回答日時:
条件を満たしていませんけど、こんな感じかな
----------------------------------------------------------------
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char *argv[]){
int a, b, result;
char op;
int i=0;
if(argc < 4){
fprintf(stderr, "引数がたりません。\nex)calc 123 * 456\n");
return -1;
}
a=atoi(argv[++i]);
redo:
op = *argv[++i];
b=atoi(argv[++i]);
switch(op){
case '+':
result=a+b;
break;
case '-':
result=a-b;
break;
case '*':
result=a*b;
break;
case '/':
result=a/b;
break;
default:
fprintf(stderr, "使用できる演算子は +,-,*,/ の4つです。");
return -2;
}
if(i<argc - 1){
a=result;
goto redo;
}
printf("ans=%d\n", result);
return 0;
}
No.2
- 回答日時:
学校の宿題ですか?
プログラム名を仮に"calc"とした場合、コマンドラインで"calc 1 + 2 + 3"などと入力して実行すると答えを出力する、というような処理にすればいいのではないでしょうか。
まず(2)。
第2パラメータ"+argv[]"は"*argv[]"のタイプミスですね。
main関数で入力された引数を判断します。
演算不可能な引数であればエラーを返して終了します。
それから(1)。
引数はchar型でmain関数に渡されるのでatoi()を使って数値にしなさいということでしょう。
(3)は"3つ以上の数字を"でないと意味を成しませんね。
足し算以外で3つ以上の数字が指定された場合はエラーを返す、といった仕様にすればこの条件も満たされます。
これでイメージが掴めたら後はがんばって作りこんでください。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# このプログラミング誰か教えてくれませんか 1 2022/06/02 15:27
- C言語・C++・C# C言語 3 2022/10/04 15:07
- C言語・C++・C# c言語 プログラムのエラー 1 2023/02/11 20:31
- C言語・C++・C# このプログラミングの問題を教えてほしいです。 キーボードからデータ数nとn個のデータを入力し、平均値 3 2022/12/19 22:51
- C言語・C++・C# 並列プログラミングのπ計算について 1 2022/07/16 22:30
- C言語・C++・C# カードシャッフルのブログラムを使ってc言語でブラックジャックをしたい 2 2022/04/12 15:13
- C言語・C++・C# このプログラミングの問題を教えて欲しいです。 キーボードから整数kを入力し、kが配列aの中に何個存在 2 2022/12/19 22:50
- C言語・C++・C# Cのdoubleの浮動小数点表示について 3 2023/04/17 13:14
- 数学 至急!研究の統計について 6 2023/07/12 00:38
- C言語・C++・C# C言語 共用体について コマンドライン引数で値を2つ入力したときに、argv[2]の値をUNI u1 4 2022/04/25 20:34
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
おすすめ情報