高级语言程序设计课程设计指导书.docx
《高级语言程序设计课程设计指导书.docx》由会员分享,可在线阅读,更多相关《高级语言程序设计课程设计指导书.docx(9页珍藏版)》请在冰豆网上搜索。
高级语言程序设计课程设计指导书
信电工程学院
《高级语言程序设计课程设计》
指导书
电子信息科学与技术教研室编
2012年6月
目录
一、课程设计的目的
二、课程设计题目汇总
三、课程设计具体任务
四、课程设计说明
五、课程设计报告撰写要求
一、课程设计的目的
高级语言程序设计课程设计是电子信息科学与技术专业高级语言程序设计课程的综合实践课程。
主要目的是通过对具体应用问题的分析和规范的程序设计过程,对学生进行综合设计训练,提高学生的程序设计水平和实际应用能力。
通过本课程,学生将理论知识和实际应用问题结合起来,通过完整的分析、设计、实现过程,掌握用高级语言进行应用软件设计的基本思路和方法,掌握软件设计的基本流程和基本设计技能;训练和培养学生编写具有良好风格的代码的习惯,提高学生的分析解决实际问题的能力。
该综合实践环节将使学生进一步理解和掌握高级语言程序设计的基础知识,提高学生理论水平和应用实践能力。
二、课程设计题目汇总
1.学生信息管理系统
2.学生选修课程系统
3.银行存取款管理系统
4.数据汇总系统
5.学生成绩排序
三、课程设计具体内容
(一)学生信息管理系统
1.学生信息管理系统简介:
学生信息管理系统是一个小型学生信息管理程序,该软件能够实现学生信息表的建立,学生信息的添加,学生信息的显示,指定姓名或学号查询学生信息,学生信息的删除等简单管理功能。
程序要求提供简单友好易于操作的界面。
程序以C语言/MATLAB语言开发。
2.基本要求:
本课题要求设计实现“学生信息管理系统”程序。
该程序实现学生信息管理的基本功能,包括信息表的建立、显示等功能。
要求用动态链表实现该应用程序。
用函数分别实现动态链表的建立、动态链表输出等功能。
函数要求使用指针作形参。
3.系统结构及模块要求:
(1)学生节点数至少10个。
学生信息包括学号,姓名,性别,年龄,籍贯,电话号码及email地址。
(2)程序主界面包括程序名称及编程者学号、姓名、班级;同时要求输入功能号码,选择进入功能模块程序。
主界面格式及选择项(供参考)如下图1“系统主菜单”:
(中文英文均可)
(3)各模块功能:
A.创建学生信息表。
动态创建学生信息表,同时输入学生信息。
学生信息表用链表实现。
链表节点个数不少于10个。
B.输出学生信息。
把链表所有结点信息以表格形式输出。
C.追加学生信息。
D.查询学生信息。
输入一个姓名,查找该学号所在结点,输出该节点信息。
E.删除学生信息。
输入学号,删除该节点。
F.保存学生信息到磁盘文件。
建立一个磁盘文件,把所建立的表格写入文件。
F.从磁盘文件中读出学生信息。
图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)设计一个菜单,至少具有上述操作要求的基本功能。
(六)难度相当的自选课题(☆)
欢迎大家采用自选课题
四、课程设计说明
1.使用C/MATLAB语言编制程序。
完成功能设计,功能模块划分,流程图绘制,程序编辑调试过程。
软件调试通过,编译链接成可执行文件。
软件能够正常运行,并实现所设计的功能。
2.课程设计要求独立完成,不得抄袭。
发现抄袭行为成绩一律记零分。
3.课程设计评分标准:
(1)出勤:
10%
(2)课程设计报告:
40%
(3)答辩:
50%。
4.课程设计报告提交截止日期:
2013年1月15日。
五、课程设计报告撰写要求
1.课程设计结束提交课程设计报告。
课程设计报告封面及报告格式见附件。
报告以word编辑,A4纸单面打印,装订后提交。
同时提交word文档电子版。
(课代表收齐统一上交)
2.课程设计报告应包括两部分:
(1)程序功能设计描述部分,主要说明程序设计目标,程序功能描述,功能模块划分(程序结构),程序流程图。
(2)程序实现部分,程序完整代码以及运行结果屏幕截图(同一题中不同功能运行结果应当有相应截图)。
3.课程设计报告模板
课程设计完成后需要撰写课程设计报告。
课程设计报告要求按照规定格式撰写。
课程设计报告封面及正文格式模板见附件。
请严格按照格式模板编辑课程设计报告。
不符合格式要求的报告无效,以零分计。
得分:
信电工程学院
《高级语言程序设计课程设计》报告
题目:
班级:
学号:
姓名:
指导教师:
2013年1月15日
目录(三号宋体,居中)
1程序目标及功能(四号,宋体,加粗)--------------------------------1
1.1课题背景(小四号,宋体)-------------------------------------------1
1.2系统功能---------------------------------------------------------------2
1.3设计要求----------------------------------------------------------------4
2程序功能模块组成及流程图-------------------------------------------------5
2.1系统功能模块-----------------------------------------------------------6
2.2各模块流程图-----------------------------------------------------------7
3程序主要数据结构及函数列表---------------------------------------------8
3.1程序中使用的数据结构----------------------------------------------9
3.2函数列表--------------------------------------------------------------10
4程序代码及运行结果-------------------------------------------------------12
5总结与体会---------------------------------------------------------------------15
正文另起一页
正文部分:
正文标题1级(三号字,黑体,加重左对齐)
1.程序目标及功能
正文标题2级(小三,黑体,加重,左对齐)
1.1课题背景
正文文字:
小四号字,宋体,
格式要求:
右对齐
首行缩进2字符,
行距固定22磅。
段前段后为零。
页眉:
高级语言程序设计课程设计报告
页脚:
页码
封面无页眉页脚