高级语言程序设计课程设计指导书
课程设计实习指导书-计算机高级语言程序设计

一、课程设计目的1、使学生对所学理论知识进行一次综合性复习;2、培养学生对实际问题的分析能力;3、培养学生独立编程、开发软件的动手能力;4、培养学生开放思维的创新能力;5、培养学生熟练掌握VC++调试技能;6、培养学生规范的编程习惯;7、培养学生团队协作精神;8、培养学生撰写课程设计报告的能力;9、认识MFC开发环境。
(附加)二、课程设计要求为了能更好地达到课程设计的目的,要求学生:1、每次上机前充分做好准备工作,查阅资料,预习相关内容,对课程设计内容进行方案的预设计,编制出源程序代码。
2、充分利用上机时间完成源程序代码的输入、调试及优化。
3、程序代码的编制应按照C++编码规范的要求进行,具体可参考指导书中【附件一】“C++编码规范”。
4、课程设计结束后,按照指导书中【附件二】“课程设计报告格式”的要求撰写出课程设计中期设计报告(要求用A4纸打印)。
5、按题目要求独立完成课程设计,不旷课、不迟到、不早退、遵守机房规定、爱护机房设备。
三、课程设计内容和时间分配1、课程设计内容分为两个部分:(1)课程设计基本练习题目:A组(完成一题)、B组(完成一题)、C组(完成两题);(2)课程设计中期设计题目:共1题;2、实习中,建议每天完成一道题目。
在课程设计中,同学们可以根据自己的实际情况,时间上酌情调整。
3、课程设计题目完成的数量要求:(1)课程设计基本练习题目(一级)A组、B组、C组,每组任选一题,共三题;(2)课程序设计基本练习题目(二级)A组、B组,每组任选一题,共两题;(3)课程设计综合练习题目至少选做一题,多做者可酌情加分。
4、课程设计的成绩与题目完成的数量、质量、创新程度、回答提问、课程设计中期设计报告以及平时表现等有关,具体请看指导书“成绩评定及评分标准”。
四、课程设计题目I、课程设计基本练习题目(18分×4)【A组】请从以下1-3题中任意选做一题1、输出1至100之间每位数的乘积大于每位数的和的数,例如对于数字12,有1*2<1+2,故不输出该数;对于27,有2*7>2+7,故输出该数。
(完整版)《高级语言程序设计(C)》毕业课程设计指导书

高级语言程序设计(C)课程设计指导书工商管理学院信息管理系2015年2月目录目录 (1)第一章设计要求 (2)第二章报告要求 (5)第三章选题及参考题目 (10)第四章成绩考核 (14)第一章设计要求一、基本要求1、要求利用C语言面向过程的编程思想来完成系统的设计;2、突出C语言的函数特征,以多个函数实现每一个子功能;4、画出功能模块图;5、具有清晰的程序流程图和数据结构的详细定义;6、能够进行菜单式功能选择,进行简单界面设计,能够实现友好的交互;7、程序应具备一定的容错能力;8、学生自己所完成工作中要综合运用到所学的如下知识点:(1)数组、结构体或共用体;(2)指针;(3)选择结构程序设计、循环结构程序设计;(4)自定义函数及其调用;(5)简单的文件操作:新建文件、打开文件、写文件等;在基本要求达到后,可进行创新设计,如设置用户登录,用户账户维护;系统用户功能控制,对管理员级和一般级别的用户系统功能操作不同等。
二、设计解决方案根据所选题目首先进行算法分析,根据实现的功能进行数据分析,设计相应的数据结构,同时为贯彻“程序设计=算法+数据结构”的思想,完成流程图的设计,然后根据流程图写出设计代码。
1、分析程序的功能要求,划分程序功能模块。
2、画出系统流程图。
3、代码的编写。
定义数据结构和各个功能子函数。
4、程序的功能调试。
5、完成系统总结报告以及使用说明书三、进度安排要求此次课程设计时间为两周,分五个阶段完成:(一)选题阶段学生在指导老师的指导下按照课程设计的要求和自己的实际情况进行选题。
学生在选择过程中按照参考题目的难易程度,寻找合适的课程设计题目,并经指导教师确认后定题,一旦题目选定,不允许随意更改。
(二)分析设计阶段指导教师应积极引导学生自主学习和钻研问题,明确设计要求,找出实现方法,按照需求分析、总体设计、详细设计这几个步骤进行。
(三)编码调试阶段根据设计分析方案编写C代码,然后调试该代码,实现题目要求的功能。
高级语言程序设计课程设计指导书

信电工程学院《高级语言程序设计综合训练》指导书电子信息科学与技术教研室编2015年6月目录一、综合训练的目的二、综合训练题目汇总三、综合训练具体任务四、综合训练说明五、综合训练报告撰写要求一、综合训练的目的高级语言程序设计综合训练是电子信息科学与技术专业高级语言程序设计课程的综合实践课程。
主要目的是通过对具体应用问题的分析和规范的程序设计过程,对学生进行综合设计训练,提高学生的程序设计水平和实际应用能力。
通过本课程,学生将理论知识和实际应用问题结合起来,通过完整的分析、设计、实现过程,掌握用高级语言进行应用软件设计的基本思路和方法,掌握软件设计的基本流程和基本设计技能;训练和培养学生编写具有良好风格的代码的习惯,提高学生的分析解决实际问题的能力。
该综合实践环节将使学生进一步理解和掌握高级语言程序设计的基础知识,提高学生理论水平和应用实践能力。
二、综合训练题目汇总1. 学生信息管理系统2. 学生选修课程系统3. 银行存取款管理系统4. 数据汇总系统5. 学生成绩排序6. 其他自选题三、综合训练具体内容(一)学生信息管理系统1. 学生信息管理系统简介:学生信息管理系统是一个小型学生信息管理程序,该软件能够实现学生信息表的建立,学生信息的添加,学生信息的显示,指定姓名或学号查询学生信息,学生信息的删除等简单管理功能。
程序要求提供简单友好易于操作的界面。
2. 基本要求:本课题要求设计实现“学生信息管理系统”程序。
该程序实现学生信息管理的基本功能,包括信息表的建立、显示等功能。
要求用动态链表实现该应用程序。
用函数分别实现动态链表的建立、动态链表输出等功能。
函数要求使用指针作形参。
3. 系统结构及模块要求:(1)学生节点数至少10个。
学生信息包括学号,姓名,性别,年龄,籍贯,电话号码及email地址。
(2)程序主界面包括程序名称及编程者学号、姓名、班级;同时要求输入功能号码,选择进入功能模块程序。
主界面格式及选择项(供参考)如下图1“系统主菜单”:(中文英文均可)(3)各模块功能:A. 创建学生信息表。
高级语言程序设计实验指导书ptf

高级语言程序设计实验指导书编者:苑俊英2010.9前言本实验指导书是《高级语言程序设计实验》课程的配套教材,本指导书中的实验内容涉及到高级语言中各个章节的知识点,并对任课教师和学生以指导。
该指导书的实验一至实验十二为专题实验,实验十三为综合实验,除了从各个知识点对学生加以实践外,还以综合项目的形式,让学生体会团队合作、中小型项目的开发过程和方法,锻炼其综合运用所学知识的能力和动手实践的能力。
本实验指导由苑俊英执笔完成,由于作者水平有限,难免有不妥之处,请各位老师和专家指正!目录实验相关 (4)实验一 C程序的运行环境和运行C程序的方法 (6)实验二数据类型、运算符和表达式(1) (8)实验三数据类型、运算符和表达式(2) (11)实验四最简单的C程序设计 (13)实验五逻辑结构程序设计 (15)实验六循环结构程序设计 (16)实验七数组 (17)实验八函数1 (19)实验九函数2 (20)实验十指针 (21)实验十一结构体和共用体 (22)实验十二位运算 (23)实验十三文件 (24)综合实验 (25)实验相关1.每次实验准备(1)了解所用计算机系统的性能和使用方法(2)复习和掌握与本实验有关的教学内容(3)准备好上机所需程序(4)需事先估计运行中可能出现的问题,针对不同的问题进行修改(5)准备好调试和运行时所需的数据2.实验要求(1)一人一组,独立上机(综合实验除外)。
(2)上机过程出现的问题,除了是系统问题外,一般应独立解决,不要轻易举手求助老师。
对出错信息进行分析、判断,学习如何调试程序。
(3)独立完成实验,按时交实验报告。
3.实验步骤(1)进入C工作环境(Turbo C、Turbo C++、Visual C++、Visual Studio 2008、Eclipse、CodeBlocks)(2)编辑程序(3)检查程序的书写错误并修改(4)编译和连接,根据出错信息进行更改,直到编译连接通过为止(5)运行程序并分析运行结果是否合理和正确(6)输出程序清单和运行结果(7)书写实验报告4.实验报告(1)实验报告应包括以下内容:(2)题目(3)程序清单(4)运行结果(5)对运行结果的分析及本次实验取得的经验,如果程序未通过,应分析其原因实验一 C程序的运行环境和运行C程序的方法1.实验目的(1)了解所用计算机系统的基本操作方法,学会独立使用该系统。
《高级程序设计》课程设计指导书

《高级程序设计》课程设计指导书对象:浦计1003-5 时间:2011年6月设计题目:大学人员管理系统、图书管理系统、平面图形多态演示系统指导老师:杨建新一、实习步骤随着计算机硬件性能的提高,人们开发的软件越来越大,软件开发的复杂度也急骤增加。
然而,编制一个10,000行的程序的难度绝不仅仅是一个5,000行的程序的两倍。
软件的复杂度随着其规模呈非线性增长!因此软件开发需要系统的方法。
事实上,这正是软件工程这门学科产生的背景。
按照软件工程的观点,通常我们可以将软件从构建到消亡的整个生命周期划分为分析、设计、编码、调试、测试、维护等几个阶段。
其中设计又可细分为总体设计、各功能模块的概要设计、详细设计等。
当然一个具体的软件不一定具有上述的每种分类。
虽然高级程序设计课程中的实习题的复杂度远不如(从实际问题提出来的)一个“真正的”软件,但为了培养一个软件工作者所应具备的科学工作的方法和作风,我们制订了如下所述完成实习的七个步骤:(一)问题分析和任务定义与精确定义的数学问题不同,软件开发所面对的问题通常是不明确的,或者说其含义是模棱两可的。
理由很简单的,软件开发出来是供人使用的,它当然得符合用户的需求,然而用户的需求是个含糊的不精确的主观上的东西,有时甚至用户自己都不清楚自己究竟想要什么,并且用户的需求也不是一成不变的,很可能会发生变化。
因此软件开发的第一步通常是需求分析,也即明确问题或者说明确软件系统的功能目标——用户究竟想要什么,限制条件是什么等。
为了尽可能模拟实际的软件开发,我们实习题目的陈述也比较简洁、或者说有模棱两可的含义。
因此,在进行设计之前,首先应该充分地分析和理解问题,明确问题要求做什么?限制条件是什么。
另外,最好事先设计一组好的测试用例用以验收最后构建的系统是否满足用户的功能需求,不要等到系统构建完了才设计测试用例。
注意:本步骤强调的是做什么(what to do)?而不是怎么做(how to do)。
高级语言程序设计课程设计实践指导书10(电信)

高级语言程序设计课程设计指导书Course Design of Advance Language Programming适应专业:105211/12/13学时:1周学分: 1 时间安排:集中先修课程:高级语言程序设计指导书名称:高级语言程序设计实践指导书一、目的与任务:课程设计为学生提供了一个既动手又动脑,独立实践的机会,将课本上的理论知识和实际应用问题进行有机结合,锻炼学生分析、解决实际问题的能力,通过具有一定难度的程序设计题目,提高学生项目开发及程序调试能力。
二、题目(任选一题,难度系数越大,该题越难)1、通讯录管理系统。
(难度系数6)具有加入、删除、显示和查询电话号码的功能要求:1). 除有加入、删除、显示和查询功能外,还允许修改用户姓名、电话。
2). 具有缺省查询方式,即查询时只输入姓名的首字母,所有符合这一条件的电话资料均在屏幕上显示出来2、牛顿法图解方程(难度系数5)利用牛顿切线法求解固定方程x2-6x+8=0,并图示解方程过程。
要求:1). 输入方程解x的初值范围,输入后要判断该范围内是否有实数解。
2). 画出弦截线及多次跌代的过程,要求有必要的坐标说明。
3). 输出结果3、成绩排名次(难度系数6)某班期末考试科目为数学(MT)、英语(EN)和物理(PH),有最多不超过30人参加考试。
考试后要求:(1)计算每个学生的总分和平均分;(2)按总分成绩由高到低排出成绩的名次;(3)打印出名次表,表格内包括学生编号、各科分数、总分和平均分;(4)任意输入一个学号,能够查找出该学生在班级中的排名及其考试分数。
(5)要求有菜单,可以选择其中的任何一个功能4、动态演示冒泡法排序的实现过程。
(难度系数6)5、编制一个程序,将屏幕垂直平分成两个窗口,左边窗口为蓝色背景,白色前景,右边窗口为绿色背景,红色前景。
两个窗口都设计为文本输入,即在窗口中可以输入文字,在窗口屏幕中显示出来。
使用tab 键在左右两个窗口中切换,每个窗口都有光标,活动窗口光标进行闪烁。
高级语言程序设计课程设计指导书12级(最终)

BJUT高级语言程序设计课程设计指导书[键入文档副标题]CHEN Cai[选取日期][在此处键入文档的摘要。
摘要通常是对文档内容的简短总结。
在此处键入文档的摘要。
摘要通常是对文档内容的简短总结。
]23高级语言程序设计课程设计指导书(12级适用)2012年12月4目录1 课程设计任务书...................................................................................................................... - 1 -1.1 课程设计教学环节的主要目的................................................................................... - 1 -1.2 课程设计总体任务要求............................................................................................... - 1 -1.3 课程设计题目............................................................................................................... - 2 -1.3.1题目1:小兔跳铃铛.......................................................................................... - 2 -1.3.2题目2:吃草的兔子.......................................................................................... - 4 -1.3.3题目3:喜庆丰收.............................................................................................. - 6 -【问题描述】 ............................................................................................................................. - 6 -2 课程设计要求与安排.............................................................................................................. - 8 -2.1 完成课程设计任务的基本过程与时间安排............................................................... - 8 -2.2 课程设计具体事项说明............................................................................................... - 9 -2.2.1 课程设计题目分配方案.................................................................................... - 9 -2.2.2 指导教师.......................................................................................................... - 10 -2.2.3 上机时间地点.................................................................................................. - 10 -2.2.4课程设计的考核与成绩评定........................................................................... - 10 -2.3 课程设计报告要求..................................................................................................... - 11 -3 相关技术学习(VC) .......................................................................................................... - 13 -3.1 Visual C++ 的文本显示方式...................................................................................... - 13 -3.2 Visual C++ 的图形显示方式使用.............................................................................. - 16 -3.2.1设置图形模式................................................................................................... - 16 -3.2.2定义视口........................................................................................................... - 17 -3.2.3设置当前位置................................................................................................... - 20 -3.2.4设置颜色........................................................................................................... - 21 -3.2.5在图形模式下显示文字和数值....................................................................... - 21 -3.2.6绘制图形........................................................................................................... - 22 -3.2.7封闭图形的填充............................................................................................... - 22 -3.2.8制作动画........................................................................................................... - 24 -3.3 图形方式程序实例..................................................................................................... - 25 -3.4 键盘操作的响应......................................................................................................... - 26 -3.5 获得系统时间............................................................................................................. - 28 -3.5.1 time函数及应用............................................................................................... - 28 -3.5.2 clock函数及应用 ............................................................................................. - 29 -3.6 鼠标消息的响应......................................................................................................... - 30 -3.7 产生声音..................................................................................................................... - 32 -附件1 报告格式....................................................................................................................... - 33 -附件2 虚拟键码对照表........................................................................................................... - 38 -51 课程设计任务书1.1 课程设计教学环节的主要目的本课程设计的主要目的是通过一个趣味盎然的游戏程序的设计与实现使学生亲身经历一个对初学者而言较为复杂的程序的设计与开发过程。
高级语言程序设计实践指导书(计算机专业)

《高级语言程序设计I课设》任务书Course Design of Advance Language Programming课程编码:0000149适应专业:计算机专业学时:1周学分: 1 时间安排:分散(原集中本学期教改为分散)先修课程:计算机科学与技术导论、高级语言程序设计一、目的与任务:本课程设计的目的是进一步培养学生结构化程序设计的思想,加深对高级语言基本语言要素和控制结构的理解,独立完成有一定工作量的程序设计任务,同时强调好的程序设计风格。
通过课程设计的综合训练,能培养学生实际分析问题、编程和动手能力,帮助学生系统地掌握该门课程的主要内容,更好地完成教学任务。
本课程设计的主要任务是要求学生遵循软件开发过程的基本规范,运用结构化程序设计的方法,按照课程设计的题目要求,分析、设计、编写和调试C语言程序及编写实践报告。
二、内容与要求要求:①对系统进行功能分析、确定功能模块、接口和数据结构;②系统设计符合要求,通用性强;③程序功能全面,具有较好的健壮性;④设计说明、流程图完备、清楚、规范。
基本题(任选一题)(2人一组)1、班级通讯录管理。
班级通讯录管理程序具有输入模块;修改模块;查询模块;统计模块功能;输出模块。
要求:1)输入模块可以从文件读入,可以从键盘输入通讯录信息;2)更新具有删除、修改功能;3)具有缺省查询方式,即查询时只输入姓名的首字母,所有符合这一条件的信息均在屏幕上显示出来4)统计模块实现本班各区县人数、男女生人数等统计功能;5)输出模块实现通讯录信息存盘操作。
2 学生成绩管理学生成绩管理程序具有输入模块;更新模块;查询模块;统计模块功能;输出模块。
要求:1)输入模块可以从文件读入,可以从键盘输入;2)更新具有删除、修改功能;3)具有缺省查询方式,即查询时只输入姓名的首字母,所有符合这一条件的信息均在屏幕上显示出来4)统计模块实现各科最高分和不及格人数统计;5)输出模块实现学生成绩信息存盘操作。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
信电工程学院《高级语言程序设计综合训练》指导书电子信息科学与技术教研室编2015年6月目录一、综合训练的目的二、综合训练题目汇总三、综合训练具体任务四、综合训练说明五、综合训练报告撰写要求一、综合训练的目的高级语言程序设计综合训练是电子信息科学与技术专业高级语言程序设计课程的综合实践课程。
主要目的是通过对具体应用问题的分析和规范的程序设计过程,对学生进行综合设计训练,提高学生的程序设计水平和实际应用能力。
通过本课程,学生将理论知识和实际应用问题结合起来,通过完整的分析、设计、实现过程,掌握用高级语言进行应用软件设计的基本思路和方法,掌握软件设计的基本流程和基本设计技能;训练和培养学生编写具有良好风格的代码的习惯,提高学生的分析解决实际问题的能力。
该综合实践环节将使学生进一步理解和掌握高级语言程序设计的基础知识,提高学生理论水平和应用实践能力。
二、综合训练题目汇总1. 学生信息管理系统2. 学生选修课程系统3. 银行存取款管理系统4. 数据汇总系统5. 学生成绩排序6. 其他自选题三、综合训练具体内容(一)学生信息管理系统1. 学生信息管理系统简介:学生信息管理系统是一个小型学生信息管理程序,该软件能够实现学生信息表的建立,学生信息的添加,学生信息的显示,指定姓名或学号查询学生信息,学生信息的删除等简单管理功能。
程序要求提供简单友好易于操作的界面。
2. 基本要求:本课题要求设计实现“学生信息管理系统”程序。
该程序实现学生信息管理的基本功能,包括信息表的建立、显示等功能。
要求用动态链表实现该应用程序。
用函数分别实现动态链表的建立、动态链表输出等功能。
函数要求使用指针作形参。
3. 系统结构及模块要求:(1)学生节点数至少10个。
学生信息包括学号,姓名,性别,年龄,籍贯,电话号码及email地址。
(2)程序主界面包括程序名称及编程者学号、姓名、班级;同时要求输入功能号码,选择进入功能模块程序。
主界面格式及选择项(供参考)如下图1“系统主菜单”:(中文英文均可)(3)各模块功能:A. 创建学生信息表。
动态创建学生信息表,同时输入学生信息。
学生信息表用链表实现。
链表节点个数不少于10个。
B. 输出学生信息。
把链表所有结点信息以表格形式输出。
C.追加学生信息。
D. 查询学生信息。
输入一个姓名,查找该学号所在结点,输出该节点信息。
E. 删除学生信息。
输入学号,删除该节点。
F. 保存学生信息到磁盘文件。
建立一个磁盘文件,把所建立的表格写入文件。
F. 从磁盘文件中读出学生信息。
Student Information Management ProgramNo:888 Name:张三Class:10电信Please select function Number:1. create a student information table2. Display the Student Information3. Append record4. Delete a student5. …………8. quit图1 系统主菜单(二)学生选修课程系统1. 学生选修课程系统简介学生选修课程系统可实现课程信息输入、课程信息输出、课程信息查询、学生选课等功能。
程序要求提供简单友好易于操作的界面。
程序以C语言开发。
2. 基本要求:(1)假定有n门课程,每门课程有课程编号、课程名称、课程性质(专业选修课、公选课)、总学时、总学分、理论学时、实验学时、开课学期、已选修本课程的学生人数等信息;每门课最多允许60个学生选修。
(2)选修信息文件,用来保存每个学生选修课程的信息,每条记录包括:学生的学号、所选修的课程编号和课程名称。
(3)系统以菜单方式工作;(4)用函数分别实现动态链表的建立、动态链表输出等功能;(5)界面友好,程序中加入必要的注释;(6)函数功能要划分好(结构化程序设计);函数要求使用指针作形参。
(7)学生选修一门课后,要同时更新课程信息和选修信息文件。
3. 系统结构及模块要求:(1)课程节点数至少10个。
(2)程序主界面包括程序名称及编程者学号、姓名、班级;同时要求输入功能号码,选择进入功能模块程序。
(3)各模块功能:A. 课程信息录入。
建立课程信息链表,由键盘输入课程信息。
B. 课程信息输出。
输出所有课程信息。
D.查询课程。
按课程编号、课程名称、学分、按课程性质、开课学期等查询(至少实现1种)。
D. 学生选修课程。
输入学生学号和课程编号,形成一条选课信息,保存在“选修信息文件”里。
E. 查询学生选修的课程。
输入学生学号,输出该生已选修的课程编号和课程名称。
F. 保存课程信息到磁盘文件。
建立一个磁盘文件,把所建立的课程表写入文件。
F. 从磁盘文件中读出课程信息。
(三)银行存取款管理系统1.银行存取款管理系统简介银行存取款管理系统用于模拟银行里的客户信息管理和存取款信息管理。
该系统能够输入客户信息,模拟存款与取款,按客户编号查询客户存款取款记录。
2. 基本要求(1)在客户文件中,每个客户是一条记录,包括客户编号、客户姓名、支取密码、客户地址、客户电话、账户总金额;(2)每个客户对应一个存取款文件。
(3)在存取款文件中,每次存取款是一条记录,包括编号、日期、类别、存取数目、经办人。
类别分为取款和存款两种。
(4)用函数分别实现动态链表的建立、动态链表输出等功能。
(5)界面友好,对程序加必要的注释;(6)函数功能要划分好(结构化程序设计);函数要求使用指针作形参。
(7)要特别注意模拟存取款时,客户信息表和存取款文件中的信息要同时更新。
3. 系统结构及模块要求(1)客户节点数至少10个。
(2)程序主界面包括程序名称及编程者学号、姓名、班级;同时要求输入功能号码,选择进入功能模块程序。
(3)各模块功能:A. 创建客户信息表。
动态创建客户信息表,同时输入客户信息。
客户信息表用链表实现。
链表节点个数不少于10个。
B. 追加客户。
在客户信息表中新增一个节点,从键盘输入客户信息。
C. 存款。
输入客户编号和存款金额,改变客户信息表中的余额信息,并将存款记录写入存取款文件。
D. 取款。
输入客户编号和取款金额,改变客户信息表中的余额信息,并将存款记录写入存取款文件。
E. 输入客户编号,查询存取款信息。
F. 保存客户信息到磁盘文件。
建立一个磁盘文件,把所建立的客户表信息写入文件。
F. 从磁盘文件中读出客户信息。
(四)数据汇总系统1.数据汇总系统简介及基本要求:在数据处理中经常需要对大量数据进行汇总,将相同关键字记录的某些数据项的值叠加起来,生成一个分类汇总表。
假设某超市销售有m种商品(假设商品的编号为1,2,3,……,m),有n台前台收款机(假设收款机的编号为1,2,3,……,n)进行收款。
每次收款以记录的形式提供给计算机,每个记录表示某台收款机的一种商品一次交易的数量和销售额。
记录由4个域组成:收款机编号、商品编号、销售数量、销售金额。
构造一个结构体类型,每次销售数据以一个结构体变量保存在一个数据文件中。
系统要求实现结构体数据写入文件,分别构建以收款机和商品为单位的数据分类函数,统计销售总额,构建单链表等功能。
2. 系统模块及操作要求:(1)编写实现将数据记录插入到数据文件的函数。
(2)编写以收款机为单位的数据分类处理函数。
构造n个单链表,每个单链表保存一台收款机的销售记录,这n个单链表的头指针存放在一个指针数组中,通过数据下标可以知道是哪台收款机。
读取数据文件的记录,将所有的销售记录(数据文件中的全部记录)分别插入到n个单链表。
(3)编写以商品为单位的数据分类处理函数。
构造m个单链表,每个链表保存一种商品的销售记录,这m个单链表的头指针存放在一个指针数组中,通过数组下标可以知道是哪种商品。
读取数据文件的记录,将所有的销售记录(数据文件中的全部记录)分别插入到m个单链表。
(4)统计每台收款机的销售总额。
(5)以收款机为单位,将所有收款机按销售总额的递增顺序构造一个单链表并输出。
(6)以商品为单位,统计每种商品的销售总额。
(7)以商品为单位,将所有销售的商品按销售总额的递增顺序构造一个单链表并输出。
(8)设计一个菜单,具有上述要求的所有功能、退出系统等最基本的功能。
(五)学生成绩排序1. 学生成绩排序简介及基本要求:假设某年级有4个班,每个班有45名同学,本学期有5门课程考试,每门课程成绩是百分制。
假定每个同学的成绩记录包含:学号、姓名各门课程的成绩共7项,其中学号是一个10位的字符串,每个学生都有唯一的学号,并且这4个班的成绩分别放在4个数组中。
系统要求以随机函数生成学生成绩,统计学生平均成绩,分别采用冒泡法和选择排序法对成绩排序,并构建单链表等功能。
2. 系统模块及操作要求:(1)编写一个成绩生成函数。
使用随机数方法,利用随机函数生成学生的各门课程的成绩(每门课程的成绩都是0-100之间的整数),通过调用该函数生成全部学生的成绩。
(2)编写一个平均成绩计算函数,计算每个同学的平均成绩并保存在成绩数组中。
(3)用冒泡排序法对4个班的成绩按每个同学的平均成绩的进行降序班内排序。
(4)用选择排序法对4个班的成绩按每个同学的平均成绩的进行降序班内排序。
(5)对已按平均成绩排好序的4个班的同学构造一个按平均成绩递减方式排列的新的单链表。
(6)设计一个菜单,至少具有上述操作要求的基本功能。
(六)其他使用C或MATLAB语言编制与上述难度及工作量相当的其他程序,其程序简介、基本要求及系统模块及操作要求自拟。
鼓励同学选择此类题目。
四、综合训练说明1. 使用C或MATLAB语言编制程序。
完成功能设计,功能模块划分,流程图绘制,程序编辑调试过程。
软件调试通过,编译链接成可执行文件。
软件能够正常运行,并实现所设计的功能。
2. 综合训练要求独立完成,不得抄袭。
发现抄袭行为成绩一律记零分。
3. 综合训练评分标准:(1)出勤:10%(2)综合训练报告:40%(3)答辩:50%。
4. 综合训练报告提交截止日期:2015年7月10日。
五、综合训练报告撰写要求1. 综合训练结束提交综合训练报告。
综合训练报告封面及报告格式见附件。
报告以word 编辑,A4纸单面打印,装订后提交。
同时提交word文档电子版。
(课代表收齐统一上交)2.综合训练报告应包括两部分:(1)程序功能设计描述部分,主要说明程序设计目标,程序功能描述,功能模块划分(程序结构),程序流程图。
(2)程序实现部分,程序完整代码以及运行结果屏幕截图(同一题中不同功能运行结果应当有相应截图)。
3. 综合训练报告模板综合训练完成后需要撰写综合训练报告。
综合训练报告要求按照规定格式撰写。
综合训练报告封面及正文格式模板见附件。
请严格按照格式模板编辑综合训练报告。
不符合格式要求的报告无效,以零分计。