私の簡単な電卓プログラムでは助けが必要です。乗算に*
シンボルを使用するまでは正常に動作しているようです。 *
シンボルを使用すると、ASCII相当の42
ではなく、99
になります。引数は、整数、演算子(+
、-
、*
、/
)と別の整数です。電卓プログラムでのASCII変換によるプログラミング
#include <stdio.h>
#include <stdlib.h>
/*
void usage() {
printf("This is a calculator program, just put in to numbers and and operator\n");
printf("Example:\n\t2 + 2\n");
}
*/
int main(int argc, char *argv[]) {
int first_number, second_number;
int symbol;
int sum;
first_number = atoi(argv[1]);
second_number = atoi(argv[3]);
symbol = (int)*argv[2];
printf("symbol varable = %d\n", symbol); // debugging for argv[2]
if (symbol == 43) {
sum = first_number + second_number;
printf("sum = %d\n", sum);
}
else if (symbol == 45) {
sum = first_number - second_number;
printf("sum = %d\n", sum);
}
else if (symbol == 42) {
sum = first_number * second_number;
printf("sum = %d\n", sum);
}
else if (symbol == 47) {
sum = first_number/second_number;
printf("sum = %d\n", sum);
}
return 0;
}
それはあなたのことをクールですどのようにコードするのかを学んでいますが、私はあなたも[尋ねる方法](htt ps://stackoverflow.com/help/how-to-ask)。 –
ちょっとしたヒント:ASCII値( '43 +'の代わりに '' + '')を使用する代わりに明示的な文字を使うと、コードが読みやすく移植性が向上します。 – e0k
あなたの質問のタイトルは、あなたが求めている問題や質問を説明するものにしてください。このタイトルは、将来の読者が検索結果のリストに表示するのに役立つはずです。 *私の計算機で手伝ってください*絶対に無意味です。*いくつかの問題があります*単に無駄なノイズです、*(C言語)*タグから明らかです、あなたはアップ投票したり、(またはその両方)タイトルの中でそれを言わずにあなたを助けてください。ありがとう。 –