日本語入力で英語訳出力するC言語プログラム
C言語で以下の表示がされるようなプログラムを書いてます。
日本語で惑星名を入力>水
Mercury
日本語で惑星名を入力>金
Mars
日本語で惑星名を入力>地
Earth
日本語で惑星名を入力>終
と表示され、最後に4つの惑星日本語単語以外の入力で終了にしたいのですが
以下のプログラムでは
日本語で惑星名を入力>水
Mercury
で 水 を入力するとMercuryは出ますがそれで終わってしまいます。
while(1)ではなく do{ }while(flag==1);を用い、
flag=0を使い 惑星日本語名が入力されたらflag=1とし、惑星以外入力でループから抜け出せるようにしたいのですがやり方がわかりません。
どう変更すればよいかご存じの方ご教示お願い致します。
#include <stdio.h>
#include <string.h>
int main()
{
const char dictionary[4][2][10]={{"水","Mercury"},{"金","Venus"},
{"地","Earth"},{"火","Mars"}};
char input[128]={'\0'};
int i, flag;
do{
printf("日本語で惑星名を入力>");
scanf("%s",&input);
if(strcmp(input,"水")==0) printf("Mercury");
else if(strcmp(input,"金")==0) printf("Mars");
else if(strcmp(input,"地")==0) printf("Earth");
else if(strcmp(input,"火")==0) printf("Mars");
else break;
}while(flag==1);
return 0;
}
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/07/11 02:29