




全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
高级语言程序设计实训题目:多功能菜单选择程序设计与实现说明:1.请按实训要求完成实训任务,鼓励在实现要求功能基础上,增加新的功能;2.程序代码不能低于300行;3.每位同学须完成实训报告,并打印上交;4.每位同学须参加实训答辩。5.答辩成绩占40,平时成绩占30,文档书写占30。菜单是应用程序的界面,控制语句用来改变程序执行的顺序,是实现结构化程序设计的基础。该实训的任务是设计一个比较实用的菜单,通过菜单选择不同的功能。该程序的设计分为两步:首先设计一个含有多个菜单项的菜单演示程序,然后再为这些菜单项配上相应的功能。1.设计一个菜单程序1.1设计要求(1)菜单内容程序运行后,给出4个菜单项的内容和输入提示。1.解一元二次方程2.出圈游戏3.功能34.退出程序选择14:(2)设计要求使用数字14来选择菜单项,其他输入则不起作用。下面是测试运行的例子:1.解一元二次方程2.出圈游戏3.功能34.退出程序选择14:1解一元二次方程1.解一元二次方程2.出圈游戏3.功能34.退出程序选择14:2出圈游戏1.解一元二次方程2.出圈游戏3.功能34.退出程序选择14:3功能31.解一元二次方程2.出圈游戏3.功能34.退出程序选择14:7输入错误,重选14:f输入错误,重选14:-3输入错误,重选14:4再见!1.2设计思想首先编写一个菜单驱动程序,输入14之间的任意一个数字,即可进入相应选择项。当选择相应选项时,其输出信息分别为:解一元二次方程、出圈游戏、功能3和退出程序。(1)实现循环和功能选择假设输入选择用变量cn存储,它作为menu_select()函数的返回值提供给switch语句。使用for循环实现重复选择,并在函数handle_menu()中实现。/* 菜单处理函数*/voidhandle_menu()for( ; ; )switch ( menu_select() ) case 1: printf(t解一元二次方程n); break;case 2: printf(t出圈游戏n); break;case 3: printf(t功能3n); break;case 4: printf(t再见! n); return;实际使用时,只有选择4,程序才能结束运行,这就要使用循环控制。这里使用for循环语句实现菜单的循环选择,为了结束程序的运行,使用“return”语句即可,也可以使用“exit(0);”语句。(2)得到cn的合理值如前所述,应该设计一个函数用来输出信息和处理输入,这个函数应该返回一个数值cn,以便供给switch语句使用。假设函数名为menu_select,设计的参考程序如下:/* 菜单选择函数*/int menu_select()chars2;intcn;printf(t1. 解一元二次方程n);printf(t2. 出圈游戏n);printf(t3. 功能3n);printf(t4. 退出程序n );printf(t选择1-4: );for( ; ; )gets(s);cn = atoi (s);if ( cn 4 )printf(nt输入错误,重选1-4: );elsebreak;return cn;语句“cn=atoi(s);”是为了使输入的字符串转变为数字,以便使switch中的case语句对应数字14。对于不符合要求的输入,将被要求重新输入。(3)设计头文件将函数原型声明在头文件中,假设头文件为c.h。/* c.h*/#if !defined(c_H)#define c_H#include #includevoid handle_menu();int menu_select();#endif(4)设计主程序主程序非常简单,只有一条语句。假设使用文件select.c,其内容如下:/* select.c:主程序文件*/#include c.hvoid main()handle_menu();编译运行,即可检查并验证菜单选择是否正确。2.设计菜单项本节的设计是以上一节设计的菜单为基础,增加菜单项的处理功能。这其实是3道编程题,目的是练习大家解决问题的能力,并熟悉多文件编程。菜单项设计要求如下:(1)解方程设计要求这里要求编制一个求方程ax2+bx+c=0的根的程序。一般将系数设成float型,可以把变量设为double型,使用库函数sqrt()求平方根,sqrt()在头文件math.h中定义。假设d=b*b-4*a*c,可以根据d大于、等于或小于零来决定求解方法。(2)出圈游戏的要求这其实就是约瑟夫环游戏,只是做了一点修改而已。这里假设有人数为n个人的一个小组,他们按顺时针方向围坐一圈。一开始任选一个正整数作为报数上限值m,从第一个人开始按顺时针方向自1开始顺序报数,报到m时停止报数。报数m的人出列,然后从他原来所在的、顺时针方向的下一个人开始重新从1报数,报到m时停止报数并出列。如此下去,直至所有人全部出列为止。要求按他们出列的顺序输出他们的名字。(3)功能3的要求3.项目文件结
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 公租房承建合同样本
- fisic合同标准文本交钥匙
- 企业加工合同样本
- 个人业务合同样本
- 粪污治理合同范本
- 婚礼策划服务合同(2篇)
- 2025至2030年中国十二生肖纪念章数据监测研究报告
- 2025至2030年中国化玻仪器市场调查研究报告
- 2025至2030年中国刷握盒行业发展研究报告
- 餐饮会所转让合同范本
- GB/T 1972-2005碟形弹簧
- GB/T 13452.2-2008色漆和清漆漆膜厚度的测定
- 2023年中国工商银行天津分行校园招聘考试录用公告
- 送达地址确认书(诉讼类范本)
- 班组工程量结算书
- 生产件批准申请书
- 环境监测考试知识点总结
- 爵士音乐 完整版课件
- 冀教版七年级下册数学课件 第8章 8.2.1 幂的乘方
- XX公司“十四五”战略发展规划及年度评价报告(模板)
- 计算机辅助设计(Protel平台)绘图员级试卷1
评论
0/150
提交评论