■ソースコード
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char *argv[]){
double ans,d1,d2;
char ope[80];
if(argc != 4){
printf("usage : mycalc 数値1 演算子 数値2\n");
printf("usage : mycalc 2 + 3\n");
exit(1);
}
d1 = atof(argv[1]);
d2 = atof(argv[3]);
strcpy(ope,argv[2]);
if(strlen(ope)!=1){
printf("usage : 演算子が1文字でない\n");
exit(1);
}
switch (ope[0]){
case '+':
ans = d1 + d2;
break;
case '-':
ans = d1 - d2;
break;
case '*':
ans = d1 * d2;
break;
case '/':
if(d2 == 0.0) {ans = 0.0;}
else{ ans = d1 / d2; }
break;
default:
printf("usage : 演算子が1文字でない\n");
exit(1);
}
printf("%f\n",ans);
}
■実行結果
>hellomycalc
usage : mycalc 数値1 演算子 数値2
>hellomycalc 1 + 1
2.000000
>hellomycalc 2 * 3
6.000000
>hellomycalc 5 - 4
1.000000
>hellomycalc 6 / 3
2.000000