先给个菜单模板看看,这个是简易版的,插入、修改、整理菜单功能较为容易,也就是说较容易维护,很容易上手~
而且,你说的和别人不一样是什么意思呢~
程序代码:
#include<stdio.h>
#include<stdlib.h>
#define SIZE_FUN 6
typedef int FUN (int);
FUN dump;
FUN fun_0_0;
FUN fun_0_1;
FUN fun_0_2;
FUN fun_0_3;
FUN fun_0_4;
FUN fun_1_0;
FUN fun_1_1;
FUN fun_1_2;
FUN fun_1_3;
FUN fun_1_4;
FUN fun_2_0;
FUN fun_2_1;
FUN fun_2_2;
FUN fun_2_3;
FUN fun_2_4;
FUN fun_3_0;
FUN fun_3_1;
FUN fun_3_2;
FUN fun_3_3;
FUN fun_3_4;
FUN fun_4_0;
FUN fun_4_1;
FUN fun_4_2;
FUN fun_4_3;
FUN fun_4_4;
FUN fun_5_0;
FUN fun_5_1;
FUN fun_5_2;
FUN fun_5_3;
FUN fun_5_4;
int main()
{
int ss=0;
typedef int (*COM)();
COM a[][SIZE_FUN]=
{
{fun_0_0,fun_0_1,fun_0_2,fun_0_3,dump,fun_0_4},
{fun_1_0,fun_1_1,fun_1_2,fun_1_3,dump,fun_1_4},
{fun_2_0,fun_2_1,fun_2_2,fun_2_3,dump,fun_2_4},
{fun_3_0,fun_3_1,fun_3_2,fun_3_3,dump,fun_3_4},
{fun_4_0,fun_4_1,fun_4_2,fun_4_3,dump,fun_4_4},
{fun_5_0,fun_5_1,fun_5_2,dump,dump,fun_5_4},
};
COM (*p)[SIZE_FUN]=a;
while (1)
{
char cmd=0;
system("cls");
ss=(*(*(p+ss)+SIZE_FUN-1))(ss);
cmd=getch()-'0';
if (cmd<0||cmd>SIZE_FUN-2)
continue;
ss=(*(*(p+ss)+cmd))(ss);
fflush(stdin);
}
return 0;
}
int fun_0_0(int ss)
{
exit(0);
return ss;
}
int fun_0_1(int ss)
{
return 1;
}
int fun_0_2(int ss)
{
return 2;
}
int fun_0_3(int ss)
{
return 3;
}
int fun_0_4(int ss)
{
printf("请输入:\n");
printf("1:添加\\删除\\修改学生信息\n");
printf("2:整理学生信息:\n");
printf("3:存取(输出)学生信息\n");
printf("0:退出\n");
return ss;
}
int fun_1_0(int ss)
{
return 0;
}
int fun_1_1(int ss)
{
system("cls");
printf("初始化学生信息:\n");
system("pause");
return ss;
}
int fun_1_2(int ss)
{
system("cls");
printf("插入学生信息:\n");
system("pause");
return ss;
}
int fun_1_3(int ss)
{
system("cls");
printf("删除学生信息:\n");
system("pause");
return ss;
}
int fun_1_4(int ss)
{
printf("请输入:\n");
printf("1:初始化学生信息\n");
printf("2:插入学生信息\n");
printf("3:删除学生信息\n");
printf("0:返回上一步\n");
return ss;
}
int fun_2_0(int ss)
{
return 0;
}
int fun_2_1(int ss)
{
return 4;
}
int fun_2_2(int ss)
{
return 5;
}
int fun_2_3(int ss)
{
system("cls");
printf("清空学生信息:\n");
system("pause");
return ss;
}
int fun_2_4(int ss)
{
printf("请选择:\n");
printf("1:查找学生信息\n");
printf("2:排序\n");
printf("3:清空学生信息\n");
printf("0:返回上一步\n");
return ss;
}
int fun_3_0(int ss)
{
return 0;
}
int fun_3_1(int ss)
{
system("cls");
printf("保存学生信息:\n");
system("pause");
return ss;
}
int fun_3_2(int ss)
{
system("cls");
printf("读取学生信息:\n");
system("pause");
return ss;
}
int fun_3_3(int ss)
{
system("cls");
printf("输出学生信息:\n");
system("pause");
return ss;
}
int fun_3_4(int ss)
{
printf("请选择:\n");
printf("1:保存学生信息\n");
printf("2:读取学生信息\n");
printf("3:输出学生信息\n");
printf("0:返回上一步\n");
return ss;
}
int fun_4_0(int ss)
{
return 2;
}
int fun_4_1(int ss)
{
system("cls");
printf("查找最高分:\n");
system("pause");
return ss;
}
int fun_4_2(int ss)
{
system("cls");
printf("查找最低分:\n");
system("pause");
return ss;
}
int fun_4_3(int ss)
{
system("cls");
printf("查找平均分:\n");
system("pause");
return ss;
}
int fun_4_4(int ss)
{
printf("请选择:\n");
printf("1:查找最高分\n");
printf("2:查找最低分\n");
printf("3:查找平均分\n");
printf("0:返回上一步");
return ss;
}
int fun_5_0(int ss)
{
return 2;
}
int fun_5_1(int ss)
{
system("cls");
printf("按学号排序:\n");
system("pause");
return ss;
}
int fun_5_2(int ss)
{
system("cls");
printf("按成绩排序:\n");
system("pause");
return ss;
}
int fun_5_3(int ss)
{
return ss;
}
int fun_5_4(int ss)
{
printf("请选择:\n");
printf("1:按学号排序\n");
printf("2:按成绩排序\n");
printf("0:返回上一步\n");
return 2;
}
int dump(int ss)
{
return ss;
}