C语⾔优雅的写⼀个控制台菜单程序了解更多知识请点我:
需求分析
控制台可能会使⽤到新建⽂件、打开⽂件、保存⽂件、退出…
我们这边可以使⽤⼀个字符串来显⽰要使⽤的函数。
创建相应的数据结构
1. typedef 将各个函数抽象。
2. 结构创建
优雅的写⼀个控制台菜单程序
#include <stdio.h>
#include <stdlib.h>
typedef struct CmdEntry{
void(*pfuncmd)();
char cHelp[64];
}CmdEntry;
一个完整的c语言程序void CreateFile()
{
printf("新建⽂件夹\n");
}
void OpenFile()
{
printf("打开⽂件\n");
}
void SaveFile()
{
printf("保存⽂件\n");
}
void Exit()
{
printf("退出\n");
exit(0);
}
static CmdEntry cmdArray[10]={
{&CreateFile,"新建⽂件夹"},
{&OpenFile,"打开⽂件"},
{&SaveFile,"保存⽂件"},
{&Exit,"退出"},
{0,0}// ??
};
void showHelp()
{
int i ;
for( i =0;(i <10)&& cmdArray[i].pfuncmd; i++)
{
printf("%d\t%s\n", i, cmdArray[i].cHelp);
}
}
int main(void)
{
int iCmdNum;
char cTmp1[256];
while(1)
{
showHelp();
printf("请选择\n");
iCmdNum =getchar()-'0';//
gets(cTmp1);// ?オ
if(iCmdNum >=0&& iCmdNum <10&& cmdArray[iCmdNum].pfuncmd) {
cmdArray[iCmdNum].pfuncmd();
}
else
{
printf("对不起,你选的数字不存在,请重新选择\n");
}
}
return0;
}
仿真结果

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。