C言語 文字コードで相性占い

子どもの頃、電卓を使って好きな子との相性を占いする遊びをしました。
「あ」が「1」、「い」が「2」・・・・というふうに50音と対応する数字を割り当てて、それを2り続けて行って、最初に100以下になった所が好きな人と自分との相性という、相性占いの遊びです。

これ、やったことある人いますか??

では、それをC言語を使って、文字コードでやってみたいと思います。
太郎さんの「T」、花子さんの「H」でやってみます。
標準入力する時は、「T,H」と入力します。
シフトJISコードの文字コードは、「A」を41、「B」を42・・・・として16進数で割り当てていきます。
太郎さんの「T」は「54」、花子さんの「H」は「48」です。
それを足すと「9C」になり、それを10進数で表すと「156」です。
この数字を2で割って行って、最初に100%以下になる所の数字を相性診断に使います。

こちらが太郎さんと花子さんの相性です。

では、プログラムになります。

#include <stdio.h>
int main(){


//イニシャルの文字コード用
char yourname;
char oaite;
int sum;
double aishou;

//あなたのイニシャルの文字コード
printf(“あなたのイニシャルとお相手のイニシャルを\n[,]で区切って入力してください\n例:A,B—>”);
scanf(“%c,%c”,&yourname,&oaite);

//あなたのイニシャルの文字と文字コードを表示する
printf(“あなたのイニシャル[%c]の文字コードは[%02X]です。\n\n”,yourname,yourname);

//お相手のイニシャルの文字と文字コードを表示する
printf(“お相手のイニシャル[%c]の文字コードは[%02X]です。\n\n”,oaite,oaite);

//2人のイニシャルの文字コードの合計
sum=yourname+oaite;
printf(“合算値は16進数で[%02X]で、10進数で[%d]です。\n”,sum,sum);

//相性診断
printf(“2人の相性を計算します。\n”);
aishou=sum;
while(aishou>100){
aishou/=2;
}
printf(“2人の相性は、[%.2f]パーセントです!!お幸せに!\n”,aishou);
return 0;
}

このプログラムを作るのに参考にした本です。

モバイルバージョンを終了