西文下拉菜单程序设计方案研究报告.docx

上传人:b****1 文档编号:737206 上传时间:2023-04-29 格式:DOCX 页数:27 大小:224.13KB
下载 相关 举报
西文下拉菜单程序设计方案研究报告.docx_第1页
第1页 / 共27页
西文下拉菜单程序设计方案研究报告.docx_第2页
第2页 / 共27页
西文下拉菜单程序设计方案研究报告.docx_第3页
第3页 / 共27页
西文下拉菜单程序设计方案研究报告.docx_第4页
第4页 / 共27页
西文下拉菜单程序设计方案研究报告.docx_第5页
第5页 / 共27页
西文下拉菜单程序设计方案研究报告.docx_第6页
第6页 / 共27页
西文下拉菜单程序设计方案研究报告.docx_第7页
第7页 / 共27页
西文下拉菜单程序设计方案研究报告.docx_第8页
第8页 / 共27页
西文下拉菜单程序设计方案研究报告.docx_第9页
第9页 / 共27页
西文下拉菜单程序设计方案研究报告.docx_第10页
第10页 / 共27页
西文下拉菜单程序设计方案研究报告.docx_第11页
第11页 / 共27页
西文下拉菜单程序设计方案研究报告.docx_第12页
第12页 / 共27页
西文下拉菜单程序设计方案研究报告.docx_第13页
第13页 / 共27页
西文下拉菜单程序设计方案研究报告.docx_第14页
第14页 / 共27页
西文下拉菜单程序设计方案研究报告.docx_第15页
第15页 / 共27页
西文下拉菜单程序设计方案研究报告.docx_第16页
第16页 / 共27页
西文下拉菜单程序设计方案研究报告.docx_第17页
第17页 / 共27页
西文下拉菜单程序设计方案研究报告.docx_第18页
第18页 / 共27页
西文下拉菜单程序设计方案研究报告.docx_第19页
第19页 / 共27页
西文下拉菜单程序设计方案研究报告.docx_第20页
第20页 / 共27页
亲,该文档总共27页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

西文下拉菜单程序设计方案研究报告.docx

《西文下拉菜单程序设计方案研究报告.docx》由会员分享,可在线阅读,更多相关《西文下拉菜单程序设计方案研究报告.docx(27页珍藏版)》请在冰点文库上搜索。

西文下拉菜单程序设计方案研究报告.docx

西文下拉菜单程序设计方案研究报告

 

西文下拉菜单设计报告

 

课程名称:

C语言程序课程设计

实验名称:

西文下拉菜单设计

姓名:

董兆静

学号:

2012051424

指导老师:

丁富华

实践时间:

 

课程设计题目:

西文下拉菜单的设计

主要功能:

1、完成一个类似TC集成系统菜单的西文下拉菜单的设计

2、不要求实现各子菜单的功能

要求:

可以通过光标键的移动来选择不同的菜单项,被选择的菜单项反相显示,当选定某个菜单项后,按回车键可以实现一个简单的动作。

总设计:

(程序设计组成框图、流程图)

程序设计组成框图

流程图

File_a

详细设计:

(模块功能说明(如函数功能、入口及出口参数说明,函数调用关系描述等)

整个系统除了主函数外,另外还有将近十个函数,实现五大功能:

输入功能、显示功能、输出功能、以及光标键的上下移动功能、跳出选项功能。

各个函数的详细设计说明分别如下:

1、主函数main()

利用无限次循环for(;;)和system()实现各函数的调用,系统根据输入的数字选项来调用相应的函数。

2、命名函数void….Menu()

用void命名我们要做的菜单函数,如voidFile_PrintFileMenu();voidEdit_PrintFileMenu();voidHelp_PrintFileMenu();等等,使接下来的函数调用能调用处我们制作的下拉菜单。

3、按键函数GetAsyncKeyState

利用按键函数GetAsyncKeyState来控制程序,它组要负责对按键的识别和识别后的函数调用功能。

4、颜色调用函数system("cls")

利用system("cls")的颜色调用函数,我们能从颜色库中调用各种颜色来制作我们的下拉菜单,使我们的下拉菜单更为简单化。

5、Ifelse语句

在我们的程序中我们用到了if…else语句来做判断作用,还用到了if语句的嵌套。

应当注意if与else得配对关系。

Else总是与它上面的最近的未配对的if配对。

6、Switch语句

Switch语句是多分支选择语句。

Switch后面括号内的“表达式”,ANSI标准允许它为任何类型;当表达式的值与某一个case后面的常量表达式的值相等时,就执行case后面的语句,若所有的case中的常量表达式的值都没有与表达式的值匹配的,就执行default后面的语句;每一个case的常量表达式的值必须互不相同;否则就会出现互相矛盾的现象(对表达式的同一个值,有两种或多种执行方案);各个case和default得出现次序不影响执行结果;执行完一个case后面的语句后,流程控制转移到下一个case继续执行;

 我们采用分模块设计程序,我们的这个西文下拉菜单程序分为三个模块,每个模块的功能基本相同,只是执行的途径不同而已,下面我介绍一下模块三的功能。

程序开始执行时,调用库函数里的函数system("color16"),用命令来执行平面的颜色。

接着,继续执行,调用函数kk(),一开始执行函数kk(),就调用主菜单函数vmainmune(),执行时输出主菜单(FileEditHelpOur),模块二的功能就是执行主菜单中的Edit的任务,输出Edit的下拉子菜单,并执行其子菜单的简单的功能。

输出主菜单后,系统将调用库函数中的另一个函数GetAsyncKeyState(VK_F1),选择按键F3,又调用函数Help_PrintFileMenu(),输出Help的下拉菜单。

之后,返回kk()函数,接着继续执行,调用函数yy()1,yy()1函数的功能就是对Help菜单的选项进行上下选择。

在这里,同样调用了库函数中的函数GetAsyncKeyState(VK_F9),按一下下光标键键,调用函数Help_a_PrintFileMenu(),既输出对Edit第一个选项的选择,再调用函数PP(),如需要输出其功能,按一下Enter键,将输出其简单的功能,如不需输出其功能,调用PP()函数后,将不执行任何操作跳出PP()。

对Edit菜单进行选择了一次,下光标键和上光标键将自加一,每按一下下光标键,菜单将向下选择一次。

上光标键是向上选择键,其实现过程与向下选择的过程相同,每完成一次向上选择,下光标键和上光标键将自减一,在你进行操作是出错时,按一下F11键,将调用库函数system("cls"),其功能是对屏幕进行清屏,再调用kk()函数,回到显示主菜单的状态,继续你所需的操作。

软件使用说明:

西文下拉菜单:

这是一个简单的西文下拉菜单的软件,能输出一个主菜单,对应的菜单能输出子菜单,选中对应的选项后能执行简单的功能。

在这个软件的设计中,一共采用了八个按键对它进行控制,每个按键都有对应的功能,下面对每个按键的功能进行说明:

F1:

按一下F1键,能弹出文件(file)的菜单。

F2:

按一下F2键,能弹出编辑(edit)的菜单。

F3:

按一下F3键,能弹出帮助(help)的菜单。

F4:

按一下F4键,能弹出开发成员的名字。

下光标键:

按一下下光标键,光标下移。

上光标:

按一下上光标键,光标上移。

F11:

挨一下F11键,返回主菜单。

回车键:

按一下回车键键,执行当前所选功能。

完整程序:

#include

#include

#include

#include

voidvMainMenu()/*主菜单*/

{

printf("File(F1)\tEdit(F2)\tHelp(F3)\tour(F4)下(up)上(down)\n");

printf("确定(enter)退(f11)\n");

}/*输出主菜单*/

voidkk()/*命名函数名*/

{

intfF1=0,fF2=0,fF3=0,fF4=0,fF9=0,fF10=-1;

voidFile_PrintFileMenu();/*下拉菜单函数*/

voidEdit_PrintFileMenu();/*下拉菜单函数*/

voidHelp_PrintFileMenu();/*下拉菜单函数*/

voidyy();

voidyy1();

voidyy2();

voidour();/*下拉菜单函数*/

voidpp();

vMainMenu();

while

(1)

{

if(GetAsyncKeyState(VK_F1)<0)/*按键函数*/

{

if(fF1==0)

File_PrintFileMenu();

yy();/*调用YY函数*/

Sleep(100);

}

if(GetAsyncKeyState(VK_F2)<0)/*按键函数*/

{

if(fF2==0)

Edit_PrintFileMenu();

yy1();

Sleep(100);

}

if(GetAsyncKeyState(VK_F3)<0)/*按键函数*/

{

if(fF3==0)

Help_PrintFileMenu();

yy2();

Sleep(100);

}

if(GetAsyncKeyState(VK_F4)<0)/*按键函数*/

{

if(fF4==0)

our();

yy();

Sleep(100);break;

}

}

system("pause");}

voidpp()/*选择函数*/

{

while

(1)

{

if(getch()==13)/*检测按下的键再判断是不是enter键*/

{

printf("\n\n\n\n\n正在执行其他程序...........\n");

gotoloop;

}

elsegotoloop;

}

loop:

;

}

voidyy()/*光标调用函数*/

{voidFile_a_PrintFileMenu();

voidFile_abc_PrintFileMenu();

voidFile_ab_PrintFileMenu();

voidyya();

while

(1)

{

switch(getch())/*检测按下的键再判断是不是上下光标键*/

{

case80:

{File_a_PrintFileMenu();pp();yya();}break;

case72:

File_abc_PrintFileMenu();pp();yya();break;

}

if(GetAsyncKeyState(VK_F11)<0)

{system("cls");kk();

}

}

}

voidyya()

{voidFile_ab_PrintFileMenu();

voidFile_a_PrintFileMenu();

voidFile_abc_PrintFileMenu();

voidyyab();

while

(1)

{

switch(getch())

{

case80:

File_ab_PrintFileMenu();pp();yyab();break;

case72:

File_abc_PrintFileMenu();pp();break;

}

if(GetAsyncKeyState(VK_F11)<0)/*按下f11键退出*/

{system("cls");kk();

}

}

}

voidyyab()

{

voidFile_abc_PrintFileMenu();

voidFile_a_PrintFileMenu();

voidFile_ab_PrintFileMenu();

voidyyabc();

while

(1)

{

switch(getch())

{

case80:

File_abc_PrintFileMenu();pp();yyabc();break;

case72:

File_a_PrintFileMenu();pp();yy();break;

}

if(GetAsyncKeyState(VK_F11)<0)

{system("cls");kk();

}

}

}

voidyyabc()

{

voidFile_ab_PrintFileMenu();

while

(1)

{

switch(getch())

{

case80:

yy();break;

case72:

File_ab_PrintFileMenu();pp();yyab();break;

}

if(GetAsyncKeyState(VK_F11)<0)

{system("cls");kk();

}

}

}

/*************************************************************************************/

voidyy1()/*Edit_a_PrintFileMenu()光标调用函数*/

{voidEdit_a_PrintFileMenu();

voidEdit_abc_PrintFileMenu();

voidEdit_ab_PrintFileMenu();

voideyya();

while

(1)

{

switch(getch())

{

case80:

{Edit_a_PrintFileMenu();pp();eyya();}break;

case72:

Edit_abc_PrintFileMenu();pp();eyya();break;

}

if(GetAsyncKeyState(VK_F11)<0)

{system("cls");kk();

}

}

}

voideyya()

{voidEdit_ab_PrintFileMenu();

voidEdit_a_PrintFileMenu();

voidEdit_abc_PrintFileMenu();

voideyyab();

while

(1)

{

switch(getch())

{

case80:

Edit_ab_PrintFileMenu();pp();eyyab();break;

case72:

Edit_abc_PrintFileMenu();pp();break;

}

if(GetAsyncKeyState(VK_F11)<0)

{system("cls");kk();

}

}

}

voideyyab()

{

voidEdit_abc_PrintFileMenu();

voidEdit_a_PrintFileMenu();

voidEdit_ab_PrintFileMenu();

voideyyabc();

voideyy1();

while

(1)

{

switch(getch())

{

case80:

Edit_abc_PrintFileMenu();pp();eyyabc();break;

case72:

Edit_a_PrintFileMenu();pp();yy1();break;

}

if(GetAsyncKeyState(VK_F11)<0)

{system("cls");kk();

}

}

}

voideyyabc()

{

voideyy1();

voidEdit_ab_PrintFileMenu();

while

(1)

{

switch(getch())

{

case80:

yy1();break;

case72:

Edit_ab_PrintFileMenu();pp();eyyab();break;

}

if(GetAsyncKeyState(VK_F11)<0)

{system("cls");kk();

}

}

}

voidyy2()/*光标调用函数*/

{voidHelp_a_PrintFileMenu();

voidHelp_abc_PrintFileMenu();

voidHelp_ab_PrintFileMenu();

voidhyya();

while

(1)

{

switch(getch())

{

case80:

{Help_a_PrintFileMenu();pp();hyya();}break;

case72:

Help_abc_PrintFileMenu();pp();hyya();break;

}

if(GetAsyncKeyState(VK_F11)<0)

{system("cls");kk();

}

}

}

voidhyya()

{voidHelp_ab_PrintFileMenu();

voidHelp_a_PrintFileMenu();

voidHelp_abc_PrintFileMenu();

voidhyyab();

while

(1)

{

switch(getch())

{

case80:

Help_ab_PrintFileMenu();pp();hyyab();break;

case72:

Help_abc_PrintFileMenu();pp();break;

}

if(GetAsyncKeyState(VK_F11)<0)

{system("cls");kk();

}

}

}

voidhyyab()

{

voidHelp_abc_PrintFileMenu();

voidHelp_a_PrintFileMenu();

voidHelp_ab_PrintFileMenu();

voidhyyabc();

while

(1)

{

switch(getch())

{

case80:

Help_abc_PrintFileMenu();pp();hyyabc();break;

case72:

Help_a_PrintFileMenu();pp();yy2();break;

}

if(GetAsyncKeyState(VK_F11)<0)

{system("cls");kk();

}

}

}

voidhyyabc()

{

voidHelp_ab_PrintFileMenu();

while

(1)

{

switch(getch())

{

case80:

yy2();break;

case72:

Help_ab_PrintFileMenu();pp();hyyab();break;

}

if(GetAsyncKeyState(VK_F11)<0)

{system("cls");kk();

}

}

}

/************File_a_PrintFileMenu()菜单模块****************************/

voidFile_PrintFileMenu()/*文件菜单*/

{

system("cls");

vMainMenu();

printf("┌───────┐\n");

printf("│New│\n");

printf("│Open│\n");

printf("│Save│\n");

printf("│Saveas...│\n");

printf("│Saveall│\n");

printf("│───────│\n");

printf("│Changedir...│\n");

printf("│Print│\n");

printf("│Dosshell│\n");

printf("│───────│\n");

printf("│QuitAlt+x│\n");

printf("└───────┘\n");

}

voidFile_a_PrintFileMenu()/*新建文件函数*/

{intfF9=1;

system("cls");

vMainMenu();

printf("┌───────┐\n");

printf("│~~~~New~~~~~~│\n");

printf("│Open│\n");

printf("│Save│\n");

printf("│Saveas...│\n");

printf("│Saveall│\n");

printf("│───────│\n");

printf("│Changedir...│\n");

printf("│Print│\n");

printf("│Dosshell│\n");

printf("│───────│\n");

printf("│QuitAlt+x│\n");

printf("└───────┘\n");

}

voidFile_ab_PrintFileMenu()

{

system("cls");

vMainMenu();

printf("┌───────┐\n");

printf("│New│\n");

printf("│~~~~Open~~~~~~│\n");

printf("│Save│\n");

printf("│Saveas...│\n");

printf("│Saveall│\n");

printf("│───────│\n");

printf("│Changedir...│\n");

printf("│Print│\n");

printf("│Dosshell│\n");

printf("│───────│\n");

printf("│QuitAlt+x│\n");

printf("└───────┘\n");

}

voidFile_abc_PrintFileMenu()

{

system("cls");

vMainMenu();

printf("┌───────┐\n");

printf("│New│\n");

printf("│Open│\n");

printf("│~~~~Save~~~~~~│\n");

printf("│Saveas...│\n");

printf("│Saveall│\n");

printf("│───────│\n");

printf("│Changedir...│\n");

printf("│Print│\n");

printf("│Dosshell│\n");

printf("│───────│\n");

printf("│QuitAlt+x│\n");

printf("└───────┘\n");

}

/****************Edit_PrintFileMenu()菜单模块*************************/

voidEdit_PrintFileMenu()

{

system("cls");

vMainMenu();

printf("┌───────┐\n");

printf("│Undo│\n");

printf("│Redo│\n");

printf("│───────│\n");

printf("│Cut│\n");

printf("│Copy│\n");

printf("│Paste│\n");

printf("│Clear│\n");

printf("│Copyexample│\n");

printf("│───────│\n");

printf("│Shoeclipboard│\n");

printf("└───────┘\n");

}

voidEdit_a_PrintFileMenu()

{

system("cls");

vMainMenu();

printf("┌───────┐\n");

printf("│~~~~~Undo~~~~│\n");

printf("│Redo│\n");

printf("│───────│\n");

printf("│Cut│\n");

printf("│Copy│\n");

printf("│Paste│\n");

printf("│Clear│\n");

printf("│Copyexample│\n");

printf("│───────│\n");

printf("│Shoeclipboard│\n");

printf("└───────┘\n");

}

voidEdit_ab_PrintFileMenu()

{

system("cls");

vMainMenu();

printf("┌

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 临时分类 > 批量上传

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2