現在ゲームのメニュー画面の作成に戸惑っています。
メニュー画面をswitchで分岐しているのですが複雑化してきたため書きなおそうと思うのですが
調べたところ関数ポインタを使うと綺麗にできるということなので使ってみたいのですが
なかなか資料が見つかりません。
よろしければ具体的なサンプルコードをいただけないでしょうか。
関数ポインタにこだわるわけではないのでいい方法があれば教えていただけたら幸いです。
また、欲を言えばメニューをエクスプローラの様に階層的に管理することはできないでしょうか?
一応今はswitchを入れ子にして行なっていますが・・・
環境 VC++2010 win7
関数ポインタを使用したメニュー画面の作成について
Re: 関数ポインタを使用したメニュー画面の作成について
適当に改変してください。
#include <stdio.h>
int tasu(int a, int b)
{
return a + b;
}
int hiku(int a, int b)
{
return a - b;
}
int kakeru(int a, int b)
{
return a * b;
}
int waru(int a, int b)
{
return a / b;
}
int main(void)
{
typedef int (*func)(int, int);
func f[] = { tasu, hiku, kakeru, waru };
int m;
do {
printf("+:1,-:2,×:3,÷:4\n"), scanf("%d", &m);
} while (m < 1 || 4 < m);
printf("%d\n", f[m-1](7, 3));
return 0;
}
バグのないプログラムはない。
プログラムは思ったとおりには動かない。書いたとおりに動く。
プログラムは思ったとおりには動かない。書いたとおりに動く。