现在,通过一个简单的开发实例来理解上述概念。该应用软件运行时,首先出现一个菜单,用户选择某一菜单项后进入相应子模块处理具体问题,处理结束后回到主菜单。当在主菜单上选择退出功能后,软件运行结束。将各子模块划分成子函数后,进一步将菜单初始化和界面显示、选择功能划分成子函数,最终设计出来的函数代码框架如下:
#include <stdio.h>
//菜单初始化函数:设置菜单文字
void InitMenu( char *Menu[] )
{
Menu[0]="1. 菜单项1名称 "
…
}
// 显示菜单、接受用户选择函数
// 初学者可以使用printf、getch函数实现基本交互
// 进阶后可以引入图形、字体、功能键、鼠标等元素进行人机交互
int ChooseMenu( char *Menu[], int MaxItem )
{
return 1 // 选择菜单1
…
return 0 // 选择退出
}
//模块一
void sub1(void)
{
…
}
void main( void )
{
char *Menu[10],MaxItem=10//指针数组存储菜单名称:0-9项
intdone=0 //退出标志,为1时退出
InitMenu( Menu ) //调用菜单初始化模块
do
{
// 每轮循环都重新显示界面、接受用户选择、根据用户选择执行相应分支
switch( ChooseMenu(Menu, MaxItem ) )
{
case 1:
sub1()
break
case 2:
…
case 0:
done=1
}
}while(!done)
}
在结构那一章还有一个课程设计的菜单,太长了,感兴趣找书看看吧
一般用C语言写的都是控制台程序(Console Application),没有图形用户界面,所以就是那种黑窗口。需要菜单的话可以用printf手动打印文本菜单,如果需要GUI的话就需要用C++调用图形界面的库了,常用的有MFC,QT我之前做的都是很简单的,大多都是数据结构里的;大致思路是:先写出菜单,很简单就是用printf输出;然后在主函数中调用,可以用字符或者int整型来选择菜单中的选项;
例如:
#include<stdio.h>
#include<stdlib.h>//主要是用当中的清屏函数
void
caidan()
{
printf("1.输出我爱你\n")
printf("2.输出我想你\n")
printf("3.退出\n")
}//菜单
int
main()
{
char
ch
while(1)
{
System("cls")
caidan()
ch=getchr()
switch(ch)
{
case
'1':
{
printf("我爱你\n回车返回\n")
getchar()
}break
case'2':
{
printf("我想你\n回车返回\n")
getchar()
}break
case'3':return
1break
}
}
}
大致就是这样,还有那些输出(我爱你,我想你),其实可以在另外定义函数实现,这样可以使的程序看起来更美观。还有在后面输出东西的时候,其实可以调用System(“cls”)来清屏后再输出,
就这么多了,全手打的,代码也是即使写的,如果错了请追问,希望你可以采纳!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)