|
分類:[C/C++]
スイッチを使って16進数を10進数に変換するプログラムを作るつもりです。 自分で作ったプログラムでは、入力された一桁目しか10進数に変換することができません。 2桁目以降を順次変数に代入して使うには、どうすればいいのでしょうか。
#include<stdio.h>
int main(void);
int main(void) { int x , y; printf("16進数を入力してください。\n"); x = getchar(); switch( x){ case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': y = x - '0'; break; case 'A': case 'B': case 'C': case 'E': case 'F': y = x - 'A' + 10; break; case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': y = x - 'a' + 10; break; default: printf("それは16進の数字ではありません."); } printf("16進数 %c は10進数 %d です。", x, y); return (0); }
|