西文下拉菜单程序设计报告.doc_第1页
西文下拉菜单程序设计报告.doc_第2页
西文下拉菜单程序设计报告.doc_第3页
西文下拉菜单程序设计报告.doc_第4页
西文下拉菜单程序设计报告.doc_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

西文下拉菜单设计报告课程名称: C语言程序课程设计实验名称: 西文下拉菜单设计 姓 名: 董兆静 学 号: 2012051424 指导老师: 丁富华 实践时间: 课程设计题目:西文下拉菜单的设计主要功能:1、完成一个类似TC集成系统菜单的西文下拉菜单的设计2、不要求实现各子菜单的功能要求:可以通过光标键的移动来选择不同的菜单项,被选择的菜单项反相显示,当选定某个菜单项后,按回车键可以实现一个简单的动作。总设计:(程序设计组成框图、流程图)程序设计组成框图主函数system(color 16);KK( )vMainMenu()File_PrintFileMenu()Edit_PrintFileMenu()Help_PrintFileMenu()our()Yy( )Yy1( )Yy2( )File_a_PrintFileMenu()le_ab_FiPrintFileMenu()File_abc_PrintFileMenu()Edit_a_PrintFileMenu()Edit_ab_PrintFileMenu()Edit_abc_PrintFileMenu()Help_a_PrintFileMenu()Help_ab_PrintFileMenu()Pp()Help_abc_PrintFileMenu()Pp()流程图File_a调用函数同(1)(1)调用函数开始主函数System( )KK( )VmainMune菜单F1菜单F2 菜单F 3 F菜单F4yy( )Pp( )调用函数File_abFile_abc调用上移fF4Our( )退出YN调用函数getch()=13YN跳出同(1)同(1)File_aFile_abFile_abc调用函数调用函数yy1( )yy2( )输出功能同(1)同(1)下移switch(getch(80)switch(getch(72)下移Pp( )getch()=13Pp( )getch()=13上移下移上移Edit_aEdit_abEdit_abcEdit_aEdit_abEdit_abcHelp_aHelp_ab.Help_abcHelp_aHelp_abHelp_abc调用函数YN输出功能跳出(2)同(2) 同(2) 同(2) 同(2) 同(2)调用函数(3)同(3) 同(3) 同(3) 同(3) 同(3)输出功能跳出switch(getch(80)switch(getch(72)switch(getch(80)switch(getch(72)详细设计:(模块功能说明(如函数功能、入口及出口参数说明,函数调用关系描述等)整个系统除了主函数外,另外还有将近十个函数,实现五大功能:输入功能、显示功能、输出功能、以及光标键的上下移动功能、跳出选项功能。各个函数的详细设计说明分别如下:1、 主函数 main()利用无限次循环for(;)和system ()实现各函数的调用,系统根据输入的数字选项来调用相应的函数。2、 命名函数 void .Menu()用void命名我们要做的菜单函数,如void File_PrintFileMenu();void Edit_PrintFileMenu();void Help_PrintFileMenu(); 等等,使接下来的函数调用能调用处我们制作的下拉菜单。 3、 按键函数 GetAsyncKeyState利用按键函数GetAsyncKeyState来控制程序,它组要负责对按键的识别和识别后的函数调用功能。4、 颜色调用函数 system(cls)利用system(cls)的颜色调用函数,我们能从颜色库中调用各种颜色来制作我们的下拉菜单,使我们的下拉菜单更为简单化。5、 If else 语句在我们的程序中我们用到了ifelse语句来做判断作用,还用到了if语句的嵌套。应当注意if与else得配对关系。Else总是与它上面的最近的未配对的if配对。6、 Switch语句Switch语句是多分支选择语句。Switch后面括号内的“表达式”,ANSI标准允许它为任何类型;当表达式的值与某一个case后面的常量表达式的值相等时,就执行case后面的语句,若所有的case中的常量表达式的值都没有与表达式的值匹配的,就执行default后面的语句;每一个case的常量表达式的值必须互不相同;否则就会出现互相矛盾的现象(对表达式的同一个值,有两种或多种执行方案);各个case和default得出现次序不影响执行结果;执行完一个case后面的语句后,流程控制转移到下一个case继续执行;我们采用分模块设计程序,我们的这个西文下拉菜单程序分为三个模块,每个模块的功能基本相同,只是执行的途径不同而已,下面我介绍一下模块三的功能。程序开始执行时,调用库函数里的函数system(color 16),用命令来执行平面的颜色。接着,继续执行,调用函数kk(),一开始执行函数kk(),就调用主菜单函数vmainmune(),执行时输出主菜单(File Edit Help Our),模块二的功能就是执行主菜单中的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 #includevoid vMainMenu()/*主菜单*/ printf(File(F1)tEdit(F2)tHelp(F3)tour(F4) 下(up)上(down)n); printf( 确定(enter)退(f11)n);/*输出主菜单*/void kk()/*命名函数名*/int fF1 = 0,fF2=0,fF3=0,fF4=0,fF9=0,fF10=-1; void File_PrintFileMenu();/*下拉菜单函数*/void Edit_PrintFileMenu();/*下拉菜单函数*/ void Help_PrintFileMenu();/*下拉菜单函数*/ void yy(); void yy1(); void yy2(); void our();/*下拉菜单函数*/ void pp();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); void pp()/*选择函数*/while(1) if(getch()=13) /*检测按下的键再判断是不是enter键*/ printf(nnnnn正在执行其他程序.n); goto loop;else goto loop;loop:;void yy()/*光标调用函数*/void File_a_PrintFileMenu();void File_abc_PrintFileMenu();void File_ab_PrintFileMenu();void yya();while(1) switch(getch()/*检测按下的键再判断是不是上下光标键*/ case 80:File_a_PrintFileMenu();pp();yya();break; case 72:File_abc_PrintFileMenu();pp();yya();break; if(GetAsyncKeyState(VK_F11)0) system(cls); kk(); void yya()void File_ab_PrintFileMenu();void File_a_PrintFileMenu();void File_abc_PrintFileMenu();void yyab();while(1) switch(getch() case 80:File_ab_PrintFileMenu();pp();yyab();break; case 72:File_abc_PrintFileMenu();pp();break;if(GetAsyncKeyState(VK_F11)0)/*按下f11键退出*/ system(cls); kk(); void yyab()void File_abc_PrintFileMenu();void File_a_PrintFileMenu();void File_ab_PrintFileMenu();void yyabc();while(1) switch(getch() case 80:File_abc_PrintFileMenu();pp();yyabc();break;case 72:File_a_PrintFileMenu();pp();yy();break; if(GetAsyncKeyState(VK_F11)0) system(cls); kk(); void yyabc()void File_ab_PrintFileMenu();while(1) switch(getch() case 80:yy();break;case 72:File_ab_PrintFileMenu();pp();yyab();break; if(GetAsyncKeyState(VK_F11)0) system(cls); kk(); /*/void yy1()/*Edit_a_PrintFileMenu()光标调用函数*/void Edit_a_PrintFileMenu();void Edit_abc_PrintFileMenu();void Edit_ab_PrintFileMenu();void eyya();while(1) switch(getch() case 80:Edit_a_PrintFileMenu();pp();eyya();break; case 72:Edit_abc_PrintFileMenu();pp();eyya();break; if(GetAsyncKeyState(VK_F11)0) system(cls); kk(); void eyya()void Edit_ab_PrintFileMenu();void Edit_a_PrintFileMenu();void Edit_abc_PrintFileMenu();void eyyab();while(1) switch(getch() case 80:Edit_ab_PrintFileMenu();pp();eyyab();break; case 72:Edit_abc_PrintFileMenu();pp();break;if(GetAsyncKeyState(VK_F11)0) system(cls); kk(); void eyyab()void Edit_abc_PrintFileMenu();void Edit_a_PrintFileMenu();void Edit_ab_PrintFileMenu();void eyyabc();void eyy1();while(1) switch(getch() case 80:Edit_abc_PrintFileMenu();pp();eyyabc();break;case 72:Edit_a_PrintFileMenu();pp();yy1();break; if(GetAsyncKeyState(VK_F11)0) system(cls); kk(); void eyyabc()void eyy1();void Edit_ab_PrintFileMenu();while(1) switch(getch() case 80:yy1();break;case 72:Edit_ab_PrintFileMenu();pp();eyyab();break; if(GetAsyncKeyState(VK_F11)0) system(cls); kk(); void yy2()/*光标调用函数*/void Help_a_PrintFileMenu();void Help_abc_PrintFileMenu();void Help_ab_PrintFileMenu();void hyya();while(1) switch(getch() case 80:Help_a_PrintFileMenu();pp();hyya();break; case 72:Help_abc_PrintFileMenu();pp();hyya();break; if(GetAsyncKeyState(VK_F11)0) system(cls); kk(); void hyya()void Help_ab_PrintFileMenu();void Help_a_PrintFileMenu();void Help_abc_PrintFileMenu();void hyyab();while(1) switch(getch() case 80:Help_ab_PrintFileMenu();pp();hyyab();break; case 72:Help_abc_PrintFileMenu();pp();break;if(GetAsyncKeyState(VK_F11)0) system(cls); kk(); void hyyab()void Help_abc_PrintFileMenu();void Help_a_PrintFileMenu();void Help_ab_PrintFileMenu();void hyyabc();while(1) switch(getch() case 80:Help_abc_PrintFileMenu();pp();hyyabc();break;case 72:Help_a_PrintFileMenu();pp();yy2();break; if(GetAsyncKeyState(VK_F11)0) system(cls); kk(); void hyyabc()void Help_ab_PrintFileMenu();while(1) switch(getch() case 80:yy2();break;case 72:Help_ab_PrintFileMenu();pp();hyyab();break; if(GetAsyncKeyState(VK_F11)0) system(cls); kk(); /*File_a_PrintFileMenu()菜单模块*/void File_PrintFileMenu()/*文件菜单*/ system(cls); vMainMenu(); printf(n); printf( New n); printf( Open n); printf( Save n); printf(Save as. n); printf(Save all n); printf(n); printf(Change dir. n); printf(Print n); printf(Dos shell n); printf(n); printf(Quit Alt+xn); printf(n);void File_a_PrintFileMenu()/*新建文件函数*/ int fF9=1; system(cls); vMainMenu(); printf(n); printf(New n); printf( Open n); printf( Save n); printf(Save as. n); printf(Save all n); printf(n); printf(Change dir. n); printf(Print n); printf(Dos shell n); printf(n); printf(Quit Alt+xn); printf(n);void File_ab_PrintFileMenu() system(cls); vMainMenu(); printf(n); printf( New n); printf(Openn); printf( Save n); printf(Save as. n); printf(Save all n); printf(n); printf(Change dir. n); printf(Print n); printf(Dos shell n); printf(n); printf(Quit Alt+xn); printf(n);void File_abc_PrintFileMenu() system(cls); vMainMenu(); printf(n); printf( New n); printf( Open n); printf(Saven); printf(Save as. n); printf(Save all n); printf(n); printf(Change dir. n); printf(Print n); printf(Dos shell n); printf(n); printf(Quit Alt+xn); printf(n);/*Edit_PrintFileMenu()菜单模块*/void Edit_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( Copy example n); printf( n); printf( Shoe clipboardn); printf( n);void Edit_a_PrintFileMenu() system(cls); vMainMenu(); printf( n); printf( Undon); printf( Redo n); printf( n); printf( Cut n); printf( Copy n); printf( Paste n); printf( Clear n); printf( Copy example n); printf( n); printf( Shoe clipboardn); printf( n);void Edit_ab_PrintFileMenu() system(cls); vMainMenu(); printf( n); printf( Undo n); printf( Redon); printf( n); printf( Cut n); printf( Copy n); printf( Paste n); printf( Clear n); printf( Copy example n); printf( n); printf( Shoe clipboardn); printf( n);void Edit_abc_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( Copy example n); printf( n); printf( Shoe clipboardn); printf( n);/*Help_PrintFileMenu()菜单模块*/void Help_PrintFileMenu() system(cls); vMainMenu(); printf( n); printf( contents n); printf( index n); printf( n); printf( search n); printf( technical n); printf( micorsoft n); printf( n); printf( n); printf( n); printf( about n); printf( n); void Help_a_PrintFileMenu() system(cls); vMainMenu(); printf( n); printf( contentsn); printf( index n); printf( n); printf( search n); printf( technical n); printf( micorsoft n); printf( n); printf( n); printf( n); printf( about n); printf( n);void Help_ab_PrintFileMenu() system(cls); vMainMenu(); printf( n); printf( contents n); printf( index n); printf( n); printf( search n); printf( technical n); printf( micorsoft n); printf( n); printf( n); printf( n); printf( about n); printf( n);void Help_abc_PrintFileMenu() system(cls); vMainMenu(); printf( n); printf( contents n); printf( index n); printf( n); printf( searchn); printf( technical n); printf( micorsoft n); printf( n); printf( n); printf( n); printf( about n); pri

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论