ようこそ ゲスト さん、新規登録(無料)して気になる疑問を解決しませんか?

質問

QNo.4159615 このプログラミングのいけないところは?
質問者:i_verson こういうプログラムを作ったんですけど、なぜか正常に作動しません!理由をおしえてください!!!!!!
お願いしますーーー!!ちなみに内容はドイツ語です。

#include "stdafx.h"

void tyuusinn();
void head_1();
void head_2();

int main()
{
while(1){
tyuusinn();
}
return 0;
}

void tyuusinn()
{

int a;

printf("(1)→sein,haben,werdenについて\n");
printf("(2)→定冠詞\n");

printf("表示したい項目を選んでください\n");
scanf_s("%d",&a);
if(a == 1){
head_1();
}
else if(a == 2){
head_2();
}

}




void head_1()
{
char a[90] = " sein haben werden";
printf("%6s\n",a);
printf("------------------------------\n");
char b[90] = "ich bin habe werde";
printf("%6s\n",b);
char c[90] = "du bist hast wirst";
printf("%6s\n",c);
char d[90] = "er ist hat wird";
char e[90] = "wir sind haben werden";
char f[90] = "ihr seid habt werdet";
char g[90] = "sie sind haben werden";
printf("%6s\n%6s\n%6s\n%6s\n",d,e,f,g);
return;
}

void head_2()
{
char a[90] = "der des dem den";
char b[90] = "die der der die";
char c[90] = "das des dem das";
char x[90],y[90],z[90];

printf("男性名詞は?\n");
scanf("%s",&x);
if(x == a)
printf("正解です。\n");
else
printf("不正解!正解は%sです。\n",a);

printf("女性名詞は?\n");
scanf("%s",&y);
if(y == b)
printf("正解です。\n");
else
printf("不正解!正解は%sです。\n",b);

printf("中性名詞は?\n");
scanf("%s",&z);
if(z == c)
printf("正解です。\n");
else
printf("不正解!正解は%sです。\n",c);
return;
}
困り度:
  • すぐに回答を!
質問投稿日時:
08/07/08 01:20
この質問に対する回答は締め切られました。

回答良回答20pt

ANo.1 # カテゴリーは適切な物を選択しましょう
# 今回の質問なら C/C++ がいいと思います

質問の仕方として ソースコード記述しただけで
『上手く機能しません』
では何に困っているのかを探すのも大変になります

実行手順、実行結果、期待する結果を併記しましょう

if(x == a)の判定で
xに代入された文字列をaに格納された文字列が同一であるかどうかを判定したいのであればこれは期待する結果にはなりません
このif文では 変数xの先頭アドレスと変数aの先頭アドレスが同一かどうかを判定しています
文字列の比較であれば ライブラリ関数のstrcmp系を使って判断しましょう
回答者:redfox63
種類:回答
どんな人:専門家
自信:自信あり
回答日時:
08/07/08 15:17
この回答へのお礼すいません。プログラミング超初心者で、このような質問をしたのも初めてなので・・・これからは、もっとわかりやすく質問するようにします。
それで、言われたとおりにstrcmp関数を使用してみたら、期待どおりに動きました(^_^)どうもありがとうございました。
もっと勉強して、スキルアップしていきたいのでまた質問すると思います・・・その時は、またお願いします!