ページ 11

課題;;

Posted: 2007年6月20日(水) 01:23
by sumomo
大学で課題が出たのですが、
どのようにコーディングすればよいのか手詰まっています。
どなたか、模範解答を示していただけるとありがたいです。


自分の誕生日の月と日を取得する関数を作成せよ。
ただし、1つの関数で作成すること。
また、関数内で引数となる月、日のポインタ変数に収納されている
アドレスと、月と日の値を表示せよ。

Re:課題;;

Posted: 2007年6月20日(水) 10:21
by バグ
まず、問題の意味が分かりません。

誕生日の月・日を取得と書かれていますが、何をもとにして月・日のデータを取得するのでしょうか?
取得というのは入力の事でしょうか?
それとも、コード内であらかじめ書かれた値を代入するだけでしょうか?

次に、プログラムについてどこまで習っていますか?
課題を見た感じでは、変数、関数、ポインタまでかと思いますが…どうでしょう?

最後に、ここは課題を丸投げする場ではありません。アドバイスを受けたり情報を交換したりする場なので、あくまで課題を解くのは自分だということをお忘れなく…

Re:課題;;

Posted: 2007年6月20日(水) 11:53
by sumomo
返答ありがとうございます。
月・日のデータの取得は自分の誕生日のと書いてあるから、
本当に作成者本人のデータ分が表示されればいいのかと思います。
何分課題についての質問は一切受け付けてくれないもので、、

プログラムの既習範囲につきましては、
ご指摘の通り、ポインタをかじったところまでです。

引き続きご協力をお願いいたします。

Re:課題;;

Posted: 2007年6月20日(水) 12:02
by バグ
例えば、下記のようなプログラムで、main関数の中の最後で、Kotaeという変数の中身を画面に出力していますが、どういった数値が表示されるか分かりますか?
#include	<stdio.h>

void Add(int A, int B, int *pAnswer)
{
	*pAnswer = A + B;
}

int main(void)
{
	int X, Y, Kotae;

	X = 10;
	Y = 20;

	Add(X, Y, &Kotae);
	printf("%d\n", Kotae);

	return 0;
}

Re:課題;;

Posted: 2007年6月20日(水) 12:07
by sumomo
返答ありがとうございます。
上記プログラムだと、表示される値は30ですよね?

Re:課題;;

Posted: 2007年6月20日(水) 12:17
by バグ
その通りです。
ポインタについては分かっていると考えても良さそうですね(^-^)
void GetValue(int* pValue)
{
	*pValue = 100;
	printf("pValue = %d\n", *pValue);
}

int main(void)
{
	int Atai;

	GetValue(&Atai);

	return 0;
}
それでは、上記のプログラムで表示される値も分かりますか?

Re:課題;;

Posted: 2007年6月20日(水) 12:27
by sumomo
返答ありがとうございます。
上記プログラムで表示される値は、
pValue = 100 だと思います。。

Re:課題;;

Posted: 2007年6月20日(水) 12:55
by バグ
そこまで分かっていれば、あとは簡単ですよ(^-^)
下記のプログラムの中のGetBirthDay関数の中身を実装してもらえれば完成です♪
頑張って下さい!!
#include	<stdio.h>

void GetBirthday(int* pMonth, int* pDay)
{
	/* pMonthとpDayに自分の誕生日を代入 */

	/* pMonthとpDayを表示 */

	/* pMonthとpDayのアドレスを表示 */
}

int main(void)
{
	int Month, Day;

	GetBirthDay(&Month, &Day);

	return 0;
}