- 1、本文档共5页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
高级语言程序设计实训——多功能菜单选择程序设计与实现(教师讲解)
高级语言程序设计实训
题目:多功能菜单选择程序设计与实现
说明:1.请按实训要求完成实训任务,鼓励在实现要求功能基础上,增加新的功能;2.程序代码不能低于300行;3.每位同学须完成实训报告,并打印上交;4.每位同学须参加实训答辩。5.答辩成绩占40%,平时成绩占30%,文档书写占30%。
菜单是应用程序的界面,控制语句用来改变程序执行的顺序,是实现结构化程序设计的基础。该实训的任务是设计一个比较实用的菜单,通过菜单选择不同的功能。
该程序的设计分为两步:首先设计一个含有多个菜单项的菜单演示程序,然后再为这些菜单项配上相应的功能。
1.设计一个菜单程序
1.1设计要求
(1)菜单内容
程序运行后,给出4个菜单项的内容和输入提示。
1.解一元二次方程
2.出圈游戏
3.功能3
4.退出程序
选择1-4:
(2)设计要求
使用数字1~4来选择菜单项,其他输入则不起作用。下面是测试运行的例子:
1.解一元二次方程
2.出圈游戏
3.功能3
4.退出程序
选择1-4:1
解一元二次方程
1.解一元二次方程
2.出圈游戏
3.功能3
4.退出程序
选择1-4:2
出圈游戏
1.解一元二次方程
2.出圈游戏
3.功能3
4.退出程序
选择1-4:3
功能3
1.解一元二次方程
2.出圈游戏
3.功能3
4.退出程序
选择1-4:7
输入错误,重选1-4:f
输入错误,重选1-4:-3
输入错误,重选1-4:4
再见!
1.2设计思想
首先编写一个菜单驱动程序,输入1~4之间的任意一个数字,即可进入相应选择项。当选择相应选项时,其输出信息分别为:解一元二次方程、出圈游戏、功能3和退出程序。
(1)实现循环和功能选择
假设输入选择用变量cn存储,它作为menu_select()函数的返回值提供给switch语句。使用for循环实现重复选择,并在函数handle_menu()中实现。
/***************************************************
菜单处理函数
***************************************************/
void handle_menu()
{
for( ; ; )
{
switch ( menu_select() )
{
case 1:
printf(\t解一元二次方程\n);
break;
case 2:
printf(\t出圈游戏\n);
break;
case 3:
printf(\t功能3\n);
break;
case 4:
printf(\t再见! \n);
return;
}
}
}
实际使用时,只有选择4,程序才能结束运行,这就要使用循环控制。
这里使用for循环语句实现菜单的循环选择,为了结束程序的运行,使用“return”语句即可,也可以使用“exit(0);”语句。
(2)得到cn的合理值
如前所述,应该设计一个函数用来输出信息和处理输入,这个函数应该返回一个数值cn,以便供给switch语句使用。假设函数名为menu_select,设计的参考程序如下:
/***************************************************
菜单选择函数
***************************************************/
int menu_select()
{
char s[2];
int cn;
printf(\t1. 解一元二次方程\n);
printf(\t2. 出圈游戏\n);
printf(\t3. 功能3\n);
printf(\t4. 退出程序\n );
printf(\t选择1-4: );
for( ; ; )
{
gets(s);
cn = atoi (s);
if ( cn 1 || cn 4 )
printf(\n\t输入错误,重选1-4: );
else
break;
}
return cn;
}
语句“cn=atoi(s);”是为了使输入的字符串转变为数字,以便使switch中的case语句对应数字1~4。对于不符合要求的输入,将被要求重新输入。
(3)设计头文件
将函数原型声明在头文件中,假设头文件为c.h。
/***************************************************
c.h
**************************************
您可能关注的文档
- 第八讲 合约研究.ppt
- 2011预测题【附答案】.doc
- 苏教版一年级下《大鹿》教案.ppt
- 浅谈管理高一全国中学生英语能力竞赛写作解题指导.doc
- 区域市场调查.doc
- 中太公司监理文件归档规定.doc
- 广东高考高频词组.ppt
- 中学代数研究第五章第三节等差数列与等比数列.ppt
- 2006年注册安全工程师考试.doc
- 正己烷(hexane)MSDS.doc
- (适合党委书记、纪委书记、委员、支部书记)2025年第一季度党风廉政建设专题党课讲稿.doc
- 3篇 在党委理论学习中心组2025年第一季度集中研讨会上的讲话提纲+理论学习中心组2025年学习计划.doc
- 2025年在市纪委监委春节节后收心会上的党课讲稿辅导报告.docx
- 2025年春季少先队工作计划.doc
- 领导班子四个带头之在遵规守纪、清正廉洁前提下勇于担责、敢于创新方面“四个带头”存在的问题不足之处+2025年民主生活会的存在问题示例.docx
- 2025年二季度作风建设党课讲稿:强化作风建设永葆政治本色.docx
- 2025年党支部书记第二季度党课讲稿.doc
- 2025年党委理论学习中心组学习计划+2025年理论中心组学习计划表.docx
- 在2025年市直机关党风廉政建设和反腐败工作专题部署推进会上的讲话+落实一岗双责和党风廉政责任制建设情况报告.doc
- 2025年民主生活会对照检查“四个带头”之带头严守政治纪律和政治规矩,维护党的团结统一方面查摆26条问题.doc
文档评论(0)