C/C++の宿題を片付けます 86代目
■ このスレッドは過去ログ倉庫に格納されています
0853デフォルトの名無しさん
2007/05/09(水) 22:28:25オプションの処理が面倒だったから手を抜いた。その実行例は上手く通る
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
int main(int argc, char *argv[]){
int opt; double arg1, arg2; char flagMult = 0; char flagOpt = 0; double optArg;
while (1){
opt = getopt(argc, argv, "mf:");
if (opt == -1) break;
switch (opt) {
case 'm':
flagMult = 1;
break;
case 'f':
flagOpt = 1;
optArg = atof(optarg);
break;
case '?':
return -1;
default:
fprintf(stderr, "unknown error\n");
return -1;}}
if (argc - optind != 2) {fprintf(stderr, "invalid arguments\n"); return -1; }
arg1 = atof(argv[optind++]); arg2 = atof(argv[optind]);
if (flagMult) arg1 *= arg2;
else arg1 += arg2;
if (flagOpt) arg1 *= optArg;
printf("answer = %f\n", arg1);
return 0;}
■ このスレッドは過去ログ倉庫に格納されています