プロが教える店舗&オフィスのセキュリティ対策術

int aho;
{
int kotae2;
int kotae3;
printf("性別を聞こう。");
for (;;) {
printf("\n");
printf("男  女");
printf("\n");
printf("1 2");
printf("\n");
scanf("%d", &aho);
if (aho == 1) {
printf("男ですか?");
printf("\n");
printf("はい  いいえ");
printf("\n");
printf(" 1 2 ");
printf("\n");
scanf("%d", &kotae2);
if (kotae2 == 1) {
break;
}
else if (kotae2 == 2) {
printf("性別を聞こう。");
}
else {
printf("1か2で答えてください。");
printf("\n");
printf("性別を聞こう。");
}
}
else if (aho == 2) {
printf("女ですか?");
printf("\n");
printf("はい  いいえ");
printf("\n");
printf(" 1 2 ");
printf("\n");
scanf("%d", &kotae3);
if (kotae3 == 1) {
break;
}
else if (kotae3 == 2) {
printf("性別を聞こう。");
}
else {
printf("1か2で答えてください。");
printf("\n");
printf("性別を聞こう。");
}
}
else {
printf("1か2で答えてください。");
printf("\n");
printf("性別を聞こう。");
}
}
}
とゆうふうに性別を判断するプログラムを作ったところ
最後に表示するこのようなパラメータ??でうまく表示できませんどうすればよいのでしょう?
(男ですか?女ですか?のところで1か2と表示してしまっているから)
printf("====================================");
printf("\n");
printf("パラメータ");
printf("\n");
printf("%d", aho);
printf("\n");
printf("====================================");

質問者からの補足コメント

  • うーん・・・

    最終的に最後に男か女かを表示できればいいんです!

    No.1の回答に寄せられた補足コメントです。 補足日時:2018/03/08 14:52
  • へこむわー

    男や女を選択させておいて最終的に表示させるにはどうすればいいんですか?

      補足日時:2018/03/08 15:23
  • うーん・・・

    うんー?数字以外を入れられたらやばいのはちょっとなんてんですな!
    それができるようになればいい感じなんだけどなーXD

    No.3の回答に寄せられた補足コメントです。 補足日時:2018/03/08 18:29
  • どう思う?

    どういうことでしょう?

    No.4の回答に寄せられた補足コメントです。 補足日時:2018/03/08 18:30

A 回答 (5件)

>(男ですか?女ですか?のところで1か2と表示してしまっているから)


色々いいたいことはあるのですが

とりあえずやりたいことは最終的に「男」か「女」かを出力したいということですか?
どこのscanfでも数字しか入力させていませんがどうやって文字を出そうとしているのでしょうか?

>printf("%d", aho);
%dというのは数字を出すためのものです
文字を出したいなら%cとかですね
この回答への補足あり
    • good
    • 0

>最終的に最後に男か女かを表示できればいいんです!


他の部分にも答えて欲しかったですが...
1と2ではなく
男と女で入力してもらってはダメなのですか?
    • good
    • 0

int sex, check;



do
{
sex = 0;
check = 0;
printf("性別を聞こう。¥n");
printf("1:男 2:女¥n");
scanf("%d", &sex);
if (sex == 1)
{
printf("男");
}
else if (sex == 2)
{
printf("女");
}
else
{
printf("1か2で答えてください。¥n");
continue;
}
printf("ですか?¥n");
printf("1:はい 2:いいえ¥n");
scanf("%d", &check);
if (check !=1 && check != 2)
{
printf("1か2で答えてください。¥n");
}
} while(check != 1);



こんなのとか?
ループから抜けた時にsexに1か2が入っているからよろしく表示すればいいんじゃないですかね。

エラー処理足りないから数字をいれるべきところで数字以外を入れると死ぬけど。
この回答への補足あり
    • good
    • 0

こんなのコンパイル出来るわけない

この回答への補足あり
    • good
    • 0

>数字以外を入れられたらやばいのはちょっとなんてんですな!


>それができるようになればいい感じなんだけどなーXD

そんなもん検索すれば対応方法とかいろいろ見つかるでしょう。
そのくらいは自分でやってくださいな。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!