实战3-C大型项目组织 字符界面菜单设计
叶安胜
2018年6月20日
C Programming in Action
Chengdu university
程序菜单,是最基本的交互设计,用以完成基本的人机交互功能和有效组织各程序模块最简单和最有效的一种手段和方法。
包括:图形窗口界面和字符(控制台)窗口界面
窗口界面的应用程序开发:会涉及到控制台窗口操作、文本(字符)控制、滚动和移动光标、键盘和鼠标等。
图形窗口界面程序
-目前大多数高级语言的IDE都提供控件操作方式
-比如C++的Windows图形界面应用程序,是一种界面友好的交互设计方法,有一整套API,涉及知识很多。
字符(控制台)窗口界面
-C本身也提供一系列的文本屏幕(控制台窗口)控制函数()。
-C还可以使用第三方函数库,比如书上第九章的图形函数库的。
-使用简单的打印语句实现。
-为了突出C的基本编程思想和解决基本编程问题,本实战教材中只阐述简单的基于字符模式的程序菜单设计方法,相对简单,友好程度较低,但还是能实现交互。
项目需求知识点算法思想流程图项目实现项目扩展
看看常见的菜单设计案例
项目需求知识点算法思想流程图项目实现项目扩展
字符模式的菜单设计和控制核心
-打印语句:printf()函数的相关格式控制
-无限循环: for(;;)或while(1);
-设置监视哨,多分支结构进行判断:输入功能号,switch()语句
项目需求知识点算法思想流程图项目实现项目扩展
第1步:打印菜单,通常用函数实现。
void display()
{
printf("********主菜单*********\n");
printf("*** 1. 功能模块1 ***\n");
printf("*** 2. 功能模块2 ***\n");
printf("*** 3. 功能模块3 ***\n");
printf("*** 4. 功能模块4 ***\n");
printf("***********************\n");
printf("请输入功能编号:");
}
项目需求知识点算法思想流程图项目实现项目扩展
第2步:无限循环
while(1)
{
.
.
.
if (特定条件成立)
exit(0)或break;
}
for(;;)
{
.
.
.
if (特定条件成立)
exit(0)或break;
}
项目需求知识点算法思想流程图项目实现项目扩展
第3步:设置监视哨,通过switch进行判断。
-监视哨往往是程序里面的一个变量,给变量输入一个值就相当于哨兵,当哨兵跟功能号相等时,就做一个操作。
设置监视哨;
给监视哨赋值;
switch(哨兵)
{
case “功能号值”:
做一个操作;
break;
case “功能号值值”:
做一个操作;
break;
……
}
int key;
scanf(“%d”,&key);
switch(key)
{
case “1”:
做一个操作;
break;
case “2”:
做一个操作;
break;
……
}
项目需求知识点算法思想流程图项目实现项目扩展
int key; //设置监视哨
while(1)
{
display(); //菜单项的显示
scanf("%d",&key); //接受用户的输入
switch(key) //根据用户选择
{
case 1:
……//模块1的函数调用语句
break;
case 2:
……//模块2的函数调用语句
break;
case 3:
……//模块3的函数调用语句
break;
case 4:
……//模块4的函数调用语句
break;
default:
……//其它处理函数的调用语句
break;
}
if (退出条件) return ;
}
项目需求知识点算法思想流程图项目实现项目扩展
void display()
{
printf("********主菜单*********\n");
printf("*** 1. 功能模块1 ***\n");
printf("*** 2. 功能模块2 ***\n");
printf("*** 3. 功能模块3 ***\n");
printf("*** 4. 功能模块4 ***\n");
printf("***********************\n");
printf("请输入功能编号:");
}
菜单框架
完整的菜单框架!
int key
实战3-C大型项目组织3.1 字符界面菜单设计课件 来自淘豆网www.taodocs.com转载请标明出处.