เลยทดลองสร้างดู
รหัสโปรแกรม main.c
/*
by Chakkree Tiyawongsuwan
10 Feb 2008
*/
include
include
include "menu.h"
int main(){
int i , num_munu;
MENU_ITEM Main_menu[] = {
{1,"Add"},
{2,"Delete"},
{3,"Edit"},
{0,"Exit"}
};
num_munu = sizeof(Main_menu) / sizeof(MENU_ITEM);
i = ChooseMenu(Main_menu, "Main Menu" , num_munu);
printf("\n\nyou choose menu no. %d \n" , i);
system("PAUSE");
return 0;
}
รหัสโปรแกรม menu.h
/*
by Chakkree Tiyawongsuwan
10 Feb 2008
*/
#ifndef _MENU_
#define _MENU_
#define FALSE 0
#define TRUE 1
typedef struct menu {
int id;
char name[10];
} MENU_ITEM;
int ChooseMenu(MENU_ITEM Menu[], char *msg ,int n);
#endif
รหัสโปรแกรม menu.c
/*
by Chakkree Tiyawongsuwan
10 Feb 2008
*/
#include "menu.h"
int ChooseMenu(MENU_ITEM Menu[], char *msg ,int n){
int i ,ch , done;
MENU_ITEM *myMenu;
done = FALSE;
//num_munu = sizeof(Menu) / sizeof(MENU_ITEM);
do{
system("CLS");
printf("===================\n");
printf(" %s\n", msg);
printf("===================\n");
myMenu = Menu;
for (i= 0; i < n; i++){
printf("%5d %-10s\n",myMenu->id , myMenu->name);
myMenu++;
}
printf("\n Select : ");
myMenu = Menu;
for (i= 0; i < n; i++) {
printf("%d " ,myMenu->id );
myMenu++;
}
printf(" : ");
scanf("%d", &ch);
myMenu = Menu;
for (i= 0; i < n; i++) {
if (ch==myMenu->id) {
done = (ch==myMenu->id);
myMenu++;
break;
}
myMenu++;
}
} while(!done);
return ch;
}



