高级语言程序设计课程设计指导书

合集下载

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

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

一、课程设计目的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,故输出该数。

《高级程序设计》课程设计指导书

《高级程序设计》课程设计指导书

《高级程序设计》课程设计指导书对象:浦计1003-5 时间:2011年6月设计题目:大学人员管理系统、图书管理系统、平面图形多态演示系统指导老师:杨建新一、实习步骤随着计算机硬件性能的提高,人们开发的软件越来越大,软件开发的复杂度也急骤增加。

然而,编制一个10,000行的程序的难度绝不仅仅是一个5,000行的程序的两倍。

软件的复杂度随着其规模呈非线性增长!因此软件开发需要系统的方法。

事实上,这正是软件工程这门学科产生的背景。

按照软件工程的观点,通常我们可以将软件从构建到消亡的整个生命周期划分为分析、设计、编码、调试、测试、维护等几个阶段。

其中设计又可细分为总体设计、各功能模块的概要设计、详细设计等。

当然一个具体的软件不一定具有上述的每种分类。

虽然高级程序设计课程中的实习题的复杂度远不如(从实际问题提出来的)一个“真正的”软件,但为了培养一个软件工作者所应具备的科学工作的方法和作风,我们制订了如下所述完成实习的七个步骤:(一)问题分析和任务定义与精确定义的数学问题不同,软件开发所面对的问题通常是不明确的,或者说其含义是模棱两可的。

理由很简单的,软件开发出来是供人使用的,它当然得符合用户的需求,然而用户的需求是个含糊的不精确的主观上的东西,有时甚至用户自己都不清楚自己究竟想要什么,并且用户的需求也不是一成不变的,很可能会发生变化。

因此软件开发的第一步通常是需求分析,也即明确问题或者说明确软件系统的功能目标——用户究竟想要什么,限制条件是什么等。

为了尽可能模拟实际的软件开发,我们实习题目的陈述也比较简洁、或者说有模棱两可的含义。

因此,在进行设计之前,首先应该充分地分析和理解问题,明确问题要求做什么?限制条件是什么。

另外,最好事先设计一组好的测试用例用以验收最后构建的系统是否满足用户的功能需求,不要等到系统构建完了才设计测试用例。

注意:本步骤强调的是做什么(what to do)?而不是怎么做(how to do)。

高级语言课程设计指导书

高级语言课程设计指导书

高级语言课程设计指导书第一章课程设计开发第一节程序设计风格开发一个大型程序需要有良好的程序风格。

程序的风格具体地表现为如下3个方面:●程序逻辑风格●程序正文书写的风格●程序输入输出风格一、逻辑风格1.程序的局部化和模块化随着问题的复杂化,程序的规模不断扩大,程序行明显增加,使用的变量数量也将增加,程序的流程将更复杂。

这将大大增加程序设计和阅读的困难程度。

解决这一问题的方法之一是使程序的一部分不过多地、过远的影响程序的其他部分。

这就是程序设计的局部化准则。

程序的局部化包括了数据的局部化和处理的局部化。

数据的局部化主要是指变量只使用在程序的局部,即在一个程序的一部分可以自由地命名变量,而不影响其他部分。

程序的局部化的最好实现方法是模块化的程序设计。

C语言用函数支持模块化程序设计。

一个模块与其他模块只用参数和返回值进行通信,并且只在调用和返回时才起作用。

随着程序的模块化,每一个模块的规模缩小,但随着模块的增加,模块间的通信复杂化起来,如何组织模块的问题又突出起来。

实践证明,系统部门间最有效的组织形式是层次结构。

层次结构要求与之适应的自顶向下、逐步细化的程序设计方法。

这样不断向下层延伸、细化,直到把问题求解过程准确描述为止。

层次结构要求与之适应的自顶向下,逐步细化的程序设计方法。

自顶向下要求设计者首先纵观全局,进行总的决策,确定最上层的模块(即主函数)。

一般说来,上层模块不涉及问题的细节,只说明“做什么”,在C语言程序中用调用语句实现;细节由下层,解决“怎么做”。

当然,“怎么做”中也包含相对于再下层的“做什么”。

这样不断向下层延伸、细化,直到对问题求解过程准确描述为止。

2.数据风格1)数据类型和数据结构的使用要清晰,如要有限制地使用指针等;2)采用必要的符号常量;3.算法风格1)算法要简洁,明了,少使用技巧;如a = a + b; b = a – b; a = a – b; 完全可以用temp = a; a = b; b = temp; 表示2)尽量避免使用多重循环嵌套或条件嵌套结构;3)充分利用库函数;4)要注意浮点运算的误差;二、正文风格正文书写风格的核心是提高程序书面的可读性。

高级语言课程设计任务书

高级语言课程设计任务书

高级语言课程设计指导书一.课程设计的目的“高级语言程序设计课程设计”是在学完《高级语言程序设计》之后开设的一门独立的实践性课程,是对高级语言程序设计的综合实践,其目的在于加深对高级语言程序设计的基本思想、基础知识和方法的理解,进一步锻炼分析、解决比较复杂问题的能力,提高学生独立编程的能力,为实际软件开发和后续课程的学习打下坚实的基础。

二.课程设计的基本要求首先要明确课程设计的目的和重要性,选择适当的题目,分组或独立有计划地按照软件工程的思想,在教师的指导下,对题目进行分析、设计和实现,并按照一定的格式写出设计报告。

在课程设计过程中,要学会如何运用所学知识和技巧,如何查阅、搜集、归纳整理相关资料,注意如何有意思的按照软件工程的基本规范进行分析、设计和实现。

选定题目之后,需要经历下面几个阶段进行课程设计。

1)题目分析:弄清楚问题到底要干什么,明确设计目标,搜集和查阅相关资料。

2)系统设计:怎么做才能实现系统的目标。

首先确定问题中有哪些数据,该如何存储,是用多个单个的数组呢,还是用结构体数组,是连续的数组存储,还是不一定连续存储,结构体之间通过指针链接起来呢;数据是怎样输入的,是在运行时通过键盘输入,还是从文件读入,有哪些数据需要输出,输出格式如何,输出到屏幕上还是写到文件中。

然后确定解决该问题有哪些功能模块,每个功能的名字什么,给出对应的函数原型,画出主函数的流程图和典型功能模块的流程图;对所有的功能模块,从主模块,到各个层次的子模块,画出各个功能模块之间的调用层次图。

其次设计一个系统操作界面,确定用户如何使用系统,是命令窗口界面还是图形界面,如何操作。

3)系统实现:建立一个工程文件,其中至少包含三个文件,第一个是主函数所在的源文件,第二个是各个功能子模块对应的函数所在的源文件,第三个是各个功能子模块的函数原型所在的头文件。

4)调试程序:上机调试。

未必要等把所有的代码都写好才进行编译调试。

可以先实现主模块,只调试主函数,所有的子模块函数均使用所谓的树桩函数进行测试。

高级语言程序设计实践指导书(计算机专业)

高级语言程序设计实践指导书(计算机专业)

《高级语言程序设计I课设》任务书Course Design of Advance Language Programming课程编码:0000149适应专业:计算机专业学时:1周学分: 1 时间安排:分散(原集中本学期教改为分散)先修课程:计算机科学与技术导论、高级语言程序设计一、目的与任务:本课程设计的目的是进一步培养学生结构化程序设计的思想,加深对高级语言基本语言要素和控制结构的理解,独立完成有一定工作量的程序设计任务,同时强调好的程序设计风格。

通过课程设计的综合训练,能培养学生实际分析问题、编程和动手能力,帮助学生系统地掌握该门课程的主要内容,更好地完成教学任务。

本课程设计的主要任务是要求学生遵循软件开发过程的基本规范,运用结构化程序设计的方法,按照课程设计的题目要求,分析、设计、编写和调试C语言程序及编写实践报告。

二、内容与要求要求:①对系统进行功能分析、确定功能模块、接口和数据结构;②系统设计符合要求,通用性强;③程序功能全面,具有较好的健壮性;④设计说明、流程图完备、清楚、规范。

基本题(任选一题)(2人一组)1、班级通讯录管理。

班级通讯录管理程序具有输入模块;修改模块;查询模块;统计模块功能;输出模块。

要求:1)输入模块可以从文件读入,可以从键盘输入通讯录信息;2)更新具有删除、修改功能;3)具有缺省查询方式,即查询时只输入姓名的首字母,所有符合这一条件的信息均在屏幕上显示出来4)统计模块实现本班各区县人数、男女生人数等统计功能;5)输出模块实现通讯录信息存盘操作。

2 学生成绩管理学生成绩管理程序具有输入模块;更新模块;查询模块;统计模块功能;输出模块。

要求:1)输入模块可以从文件读入,可以从键盘输入;2)更新具有删除、修改功能;3)具有缺省查询方式,即查询时只输入姓名的首字母,所有符合这一条件的信息均在屏幕上显示出来4)统计模块实现各科最高分和不及格人数统计;5)输出模块实现学生成绩信息存盘操作。

高级语言程序设计教学大纲

高级语言程序设计教学大纲

《高级语言程序设计》实验教学大纲一、课程中文名称(课程英文名称):高级语言程序设计(Advanced Language Programming)二、课程编码:1421263009三、课程目标和基本要求:本课程是计算机科学与技术专业非师范类的专业基础课。

通过教授C高级程序设计语言,帮助学生掌握C语言的基本语法结构、程序设计的基本方法,使学生初步具有运用C 语言进行程序设计、分析和解决问题的实践能力。

掌握程序设计的过程和集成开发环境的使用,为后续课的学习和应用开发打下扎实的语言理论基础。

四、课程总学时: 128 学时,其中理论: 64 学时;实验: 64 学时五、课程总学分: 6 学分六、适用专业和年级:07师范本科七、实验项目汇总表:注:1、实验编号:学校内部使用的编号(不超过13位),在校内具有永久唯一性。

若实验撤消,该实验编号将不再使用。

如果实验内容更新较大,则应另设新的实验编号。

实验编号十二或十三位,前十位为该课程代码(培养方案中的课程代码),第十一、十二位为该门课程的实验序号(01-99),独立设课的实验编号最后一位为“*”,非独立设课的实验编号最后一位为空,例如:《大学物理实验》的某实验项目编号为102000400601,该实验又为独立设课实验,则编号为102000400601*。

2、实验类别:基础、专业基础、专业;实验类型:演示性、验证性、综合性、设计研究、其它;实验要求:必修、选修、其它。

八、大纲内容:实验一熟悉开发环境[实验目的和要求]:了解C语言的特点,掌握C程序的基本组成结构,掌握开发和运行一个C程序的过程。

[实验内容]:1、教材26页编程题:1,2,3实验二运算符与表达式[实验目的和要求]:掌握变量的定义和变量名的命名规则;理解指针的含义,掌握指针变量的定义及简单应用;学习使用运算符及表达式。

[实验内容]:1、教材64页编程题:1,2,32、教材83页编程题:1,2实验三输入输出[实验目的和要求]:掌握C语言中数据的输入/输出方法,常用输入/输出函数的使用;掌握顺序结构程序设计方法[实验内容]:1、教材83页编程题: 3实验四控制结构[实验目的和要求]:学习使用选择控制语句(if语句、switch语句)、循环控制语句(for语句、while语句、do…while语句)、break 语句、goto语句和continue语句。

《高级语言程序设计》课程实验指导书.doc

《高级语言程序设计》课程实验指导书.doc

《高级语言程序设计》课程实验指导书第一部分上机实验的指导思想和要求1,上机实验的目的学习C程序设计课程不能满足于“憧得了”,满足于能看憧书上的程序,而应当熟练地掌握程序设计的全过程,即独立编写源程序、独立上机调试、独立运行程序和分析结果。

上机实验的目的,绝不仅是为了验证教材和讲课的内容,或者验证日己所编写的程序的正确与否。

学习程序设计,上机实验的bl的是:(1)加深对讲授内容的理解,尤其是一些语法规定。

通过上机来掌握语法规则是行之有效的方法。

(2)熟悉所用的操作系统。

(3 )学会上机调试程序。

通过反夏上机掌握根据出错信息修改程序的方法。

2,上机实验前的准备工作。

(1)了解所用的计算机系统(包括C编译系统)的性能和使用方法。

(2)复习和掌握与本实验有关的教学内容。

(3)准备好上机所需的程序,切忌不编程序或抄别人的程序去上机。

(4 )对程序中出现的问题应事先估计,对程序中白己有疑问的地方应先作上记号,以便上机时给予注意。

(5)准备好调试程序和运行程序所需的数据。

3,上机实验的步骤上机实验应一人一组,独立实验。

上机过程中出现的问题,除了是系统的问题以外,不要轻易举手问老师。

尤其对“出错信息”,应善于分析判断。

上机实验上般应包括以下几个步骤:(1)双击桌面T C图标进行Turbo C集成环境。

(2 )输入自己编好的程序。

(3 )按Ctrl+F9编译并运行程序。

(4 )若程序有错,则根据出错信息修改程序。

(5 )若程序没有语法错误,则通过按Alt+F5查看运行结果是否正确,用不同的数据反复检查。

4,写好实验报告实验报告应包括以下内容:(1 )实验目的。

(2 )实验内容。

(3 )程序清单。

(4 )运行结果。

(5)对运行结果的分析,以及木次调试程序所取得的经验。

第二部分、实验内容说明:每次实验可根据需要选择一个实验的一部分。

补充实验Windows的基木操作一、实验目的:掌握“开始”菜单中启动应用程序的方法,学会利用任务栏切换应用程序,掌握窗口的基本操作。

《高级语言程序设计》教学大纲

《高级语言程序设计》教学大纲

《高级语言程序设计》教学大纲课程编号:课程中文名称:高级语言程序设计课程英文名称:High-level Language Programming授课对象:全校理工(类)专业本科生先修课程:计算机应用基础课程要求:必修一、课程教学目的和任务高级语言程序设计课程是全校理工科(类)专业本科生的一门计算机必修课程。

本课程的主要目的是培养学生的程序设计、实现及调试能力。

通过本课程的学习,学生能够比较熟练地掌握C语言的语法规则和编程算法,学会用计算机处理问题的思维方法,并积累编程经验,自己编写C语言程序解决实际问题。

为后继课程的学习奠定基础。

二、教学内容及学时安排1、程序设计和C语言(2学时)C语言的发展历史、C语言的特点,C程序的组成。

2、算法——程序的灵魂(自学)算法的概念和特点;用流程图、N-S图、伪代码表示算法;结构化程序设计方法的概念。

3、最简单的C程序设计——顺序程序设计(6学时)标识符的定义;变量和常量的概念;基本数据类型的存储方式,表示方法;不同类型间数据转换的原则与方法;常用的基本运算符与表达式的运用。

语句、表达式语句的概念;字符数据输入输出函数与格式输入输出函数的用法。

4、选择结构程序设计(4学时)关系、逻辑表达式的用法;if语句、switch语句的用法;break语句在switch中的使用。

5、循环结构程序设计(4学时)三种循环语句(while语句、do_while语句、for语句)的运用;循环嵌套的运用。

6、利用数组处理批量数据(4学时)数组的概念与使用;数组初始化的方法;字符数组和字符串的应用。

7、用函数实现模块化程序设计(6学时)函数的定义和调用方法;局部变量和全局变量的概念与使用;变量的存储属性,作用范围。

8、善于利用指针(4学时)指针变量;通过指针引用数组和字符串。

9、用户自己建立数据类型(2学时)定义和使用结构体变量;使用结构体数组和结构体指针。

三、教学基本要求1、课程基本要求了解软件开发的基本过程。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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. 综合训练报告模板综合训练完成后需要撰写综合训练报告。

综合训练报告要求按照规定格式撰写。

综合训练报告封面及正文格式模板见附件。

请严格按照格式模板编辑综合训练报告。

不符合格式要求的报告无效,以零分计。

相关文档
最新文档