命令行选择

来源:互联网 发布:json查看 编辑:程序博客网 时间:2024/03/29 07:58
#include "stdafx.h"const char * g_pcCmd[] = { "Create", "Add", "Insert", "Delete", "Find", "Modify" ,"Exit", "Help", "NULL"};const char * g_pcCmdInt[] = { "创建命令", "添加命令", "插入命令", "删除命令", "查找命令", "修改命令","退出命令", "帮助命令"};const char  *g_pcExit = g_pcCmd[6];const char  *g_pcHelp = g_pcCmd[7];const char *g_pcStar = "命令                 描述";int _tmain(int argc, _TCHAR* argv[]){char szInput[256] = "";int i = 0;int j = 0;int nSize = 0;int k = 0;bool bFlag = false;/****************************************************/printf("欢迎使用XXXX系统\n");for (k = 0; k < 30; k++){printf("*");}printf("\n本系统命令如下:\n");printf("%s\n", g_pcStar);     //打印描述  命令for (j = 0; j < 7; j++){nSize = 0;printf("%s", g_pcCmd[j]);while (*(g_pcCmd[j] + nSize)){nSize++;}for (k = 0; k < 6 - nSize; k++){printf(" ");}for (k = 0; k < 15; k++){printf(" ");}printf("%s\n", g_pcCmdInt[j]);}for (k = 0; k < 30; k++){printf("*");}printf("\n");/****************************************************/while (true){printf("*Cmd>");scanf("%s", szInput);for (i = 0; g_pcCmd[i] != NULL; i++)//外循环依次判断每个命令{bFlag = false;for (j = 0; *(g_pcCmd[i] + j) == szInput[j]; j++)//判读一个命令是否与输入字符串相同{if (szInput[j] == '\0'){bFlag = true;break;}}if (bFlag == true){if (g_pcCmd[i] == g_pcExit)//退出系统{return 0;}else if (g_pcCmd[i] == g_pcHelp)//打印Help帮助菜单{ for (k = 0; k < 30; k++){printf("*");}printf("\n本系统命令如下:\n");                    printf("%s\n", g_pcStar);     //打印描述  命令for (j = 0; j < 7; j++){    nSize = 0;printf("%s", g_pcCmd[j]);while (*(g_pcCmd[j] + nSize)){nSize++;}for (k = 0; k < 6 - nSize; k++){printf(" ");}for (k = 0; k < 15; k++){printf(" ");}printf("%s\n", g_pcCmdInt[j]);}for (k = 0; k < 30; k++){printf("*");}printf("\n");break;}else                   //打印命令{printf("欢迎使用%s!\n", g_pcCmdInt[i]);break;}}               }if (g_pcCmd[i] == NULL)//如果都不相同,输入有误{printf("您输入的命令有误,请使用Help命名查看帮助!\n");}}return 0;}

0 0
原创粉丝点击