资源预览内容
第1页 / 共31页
第2页 / 共31页
第3页 / 共31页
第4页 / 共31页
第5页 / 共31页
第6页 / 共31页
第7页 / 共31页
第8页 / 共31页
第9页 / 共31页
第10页 / 共31页
亲,该文档总共31页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
软件课程设计指导书华中科技大学光电子科学与工程学院徐海峰 张南洋生 蒋明目 录第一部分 软件课程设计基础知识.3第二部分 总体要求.5第三部分 设计题目.61飞机订票系统.72二叉树的查找.93 HUST学生信息管理系统.11第四部分 设计示例.16第五部分 设计报告要求.20 附录:软件课程设计报告形式22第一部分 软件课程设计基础知识1、C语言知识点总结C语言的基础,包括变量、程序控制、输入输出、调试环境等。C语言中的结构体、文件操作等知识的复习。(详细见参考材料:“C语言程序设计输入输出和文件系统”)C语言应用程序的一般结构应用目录结构应用目录子结构应用目录子结构头文件(操作函数)实现文件(功能)实现主文件结构体;左节点右节点数据二叉树的定义方法struct treechar info;struct tree *left, *right;2、数据结构简介数据结构是计算机与信息管理等相关专业的核心课程,是学习软件编程、研读优秀实用代码的基础。涉及如何对数据进行组织、存储和运算,是提高计算(算法)效率的重要手段。二叉树基础:简单的基本数据结构之一,在数据操作方面具有一定优势。3、软件工程简介软件生命周期-定义、开发、维护。详细划分为定义阶段的可行性论证与开发计划、需求分析,开发阶段的概要设计、详细设计和编码,维护阶段的测试、运行维护(6或7阶段)。我们的软设仅涉及34部分,利用简单的应用程序实现、体验编程调试的过程。复杂的软件开发,版本控制也是重要环节之一。第二部分 总体要求【设计目的】基于C语言的基础,熟练运用结构体等扩展数据手段,定义应用数据、并进行运用。要求掌握数据的存储结构、数据操作与编程调试的实践要求,完成编程实践的实现、应用方法。【设计要求】根据题目要求,独立完成所选题目的内容。【进度安排】课程设计分基础讲解、复习、编程与调试、报告编写等过程。选择好题目后,前1周完成代码分析、注释;后3周完成调试、结果输出,报告编写。【开发环境】基本平台:Turbo C。可选平台: C / Java。【评价标准】软件课程设计的评分标准包括客观与主观两项大类。提交的课程设计报告,分流程图、程序清单、设计思想与编程体会3部分。具体的总分数给定来源项目包括如下四项细节方面,根据各项表现进行综合评价。1、程序输出指标的数值大小;包括运行时间、数据集大小(如:50个数)、正确率等。2、程序流程图、注释是否标准与完整。3、开发体会是否真实、恰如其分。4、是否由算法改进策略。【杜绝抄袭。一经发现,双方均计零分!】第三部分 设计题目每位同学选择下述一个题目进行设计,每题的要求见下面的具体要求所述。1飞机票销售系统(负责老师联系方式:张南洋生老师 / zny371sina.com)2二叉树的查找(负责老师联系方式:徐海峰老师 / harryxhfsina.com)3 HUST学生成绩管理系统(负责老师联系方式:蒋明老师 / jm_china263.net)1飞机票销售系统【设计题目】飞机票销售系统【设计目的】运用C语言基本知识,结合相关算法思想和数据结构,编写一个单微机系统下运行的飞机票销售系统。以把所学C语言和数据结构知识应用到实际软件开发中去。通过完成本设计,复习C语言的基本知识,掌握C语言的文件操作(包括从磁盘读入和向磁盘写入内容),能够熟练运用结构等高级数据类型以及函数的调用等,掌握数据结构的一些基本算法思想;并通过程序设计和开发过程,掌握中小规模软件设计和开发的方法和步骤。【题目要求】1)、知识点根据题目要求需要设计者掌握以下C语言知识点:(1)C语言基本知识掌握基本数据类型,基本输入输出,控制结构,数组,指针等内容。(2)高级数据类型掌握运用结构,联合等构造数据类型。(3)文件操作掌握二进制文件和文本文件的输入输出,保存,修改等操作。2)、训练内容本课题要求设计实现一个飞机票销售系统。通过模拟售票员使用该飞机票销售系统售票过程,训练采用结构化程序设计方法完成小型软件的开发能力。售票员在该系统辅助下完成售票的过程描述如下:售票员根据旅客要求对航班的信息进行查询,在航班有票的情况下售出机票,并记录机票销售信息到机票销售记录文件;当旅客要求退票时,查询机票销售记录文件,找到需退票的机票记录,完成退票操作。根据上述过程,要求同学们从中提取有意义的销售信息,例如航班信息、旅客个人信息等并采用一定的结构数据类型加以描述并进行处理操作,实现售票过程的模拟。本课题设计分为三个步骤:结合实际情况收集并设计航班和旅客描述信息;分析模拟售票过程,完成系统功能模块划分,采用C/C+语言编写程序实现飞机票销售系统;对设计过程进行总结,提交最终设计报告和源文件。通过完成系统设计过程应掌握以下知识和技能:软件设计的基本流程:需求分析、模块功能划分以及数据结构的描述和算法的设计实现;基于一定数据结构(链表、顺序表等)的查询、插入、删除等操作的实现算法;通过数据文件(二进制文件或文本文件)实现具有一定数据结构的数据信息的存储方法。程序源文件应书写规范,源程序需加必要的注释,每位同学需提交可独立运行的软件并能完成功能演示;所提交设计报告书,应在格式和内容上符合课程设计的要求。【设计内容】1)、结构简介根据单微机系统下飞机票销售系统的模拟售票过程,所设计系统应基本具有以下功能模块。如下图1.1所示。图1.1系统基本结构简图飞机票销售系统应包含航班信息查询、机票购买、机票信息查询和机票退购四个基本模块。2)、功能定义根据利用系统进行飞机票销售的模拟过程,系统模块应分别实现以下功能。(1)航班信息查询:提供航班查询信息输入,如航班号,目的地,起飞时间;利用输入的查询信息在现有的航班信息文件中,查询符合条件的查询信息;显示查询结果在屏幕上,包括该航班机票剩余数目。航班信息数据存储在航班信息数据文件中,数据结构、具体数据结合实际自定,自行设计查询算法。(2)机票购买:根据查询信息,确认是否有票;若有票,输入机票信息需要的旅客资料,如姓名,性别等,生成机票编号;显示待售机票信息;售出机票后,记录机票信息到售出机票数据文件;修改航班信息数据文件中相应航班的机票剩余数目。机票信息数据存储在机票信息数据文件中,数据结构、具体数据结合实际自定。(3)机票信息查询:提供机票查询信息输入,如旅客姓名,机票编号,航班号等;利用查询条件,在机票信息数据文件中查找售出机票信息;显示查询结果在屏幕上。(4)机票退购:根据查询结果,在确认机票退购后,删除机票信息数据文件中的退购机票信息;修改航班信息数据文件中相应航班的机票剩余数目。3)、数据定义根据以上功能说明,飞机票销售系统的包含两个主要数据结构航班信息和机票信息。具体如下。航班信息主要包含数据项如下表1.1所示,同学可以在此基础上根据个人理解另行增加信息数据项。具体实现可以用一个结构数据类型来描述。航班信息数据文件应至少包含10个航班信息。表1.1 航班信息表航班编号目的地起飞时间剩余机票数最大载客数ZH9658广州09:005200GS7546郑州11:4012100CZ3445重庆17:3523100机票信息主要包含数据项如下表1.2所示,同学可以在此基础上根据个人理解另行增加信息数据项。具体实现也可以用一个结构数据类型来描述。机票信息数据文件应至少包含50条已售出的机票信息。表1.2 已售出机票信息表机票编号航班编号目的地起飞时间姓名性别B2102ZH9658广州09:00张三男B2107ZH9658广州09:00李四女B3122CZ3445重庆17:35王二男4)、参考算法折半查找、选择排序、冒泡排序等基本算法。2二叉树的查找【设计题目】二叉树的查找-用链表结构实现二叉树建立、查询、打印的源程序【设计目的】基于C语言的基础,熟练运用结构体等扩展数据手段,定义应用数据、并进行运用。本题要求掌握数据的链式存储结构,并编程实践它们的实现、应用方法。【题目要求】以下内容中,(1)、(2)为必做内容,(3)、(4)两项内容选做一项。(1)下面是用链式结构实现二叉树的建立、查询和打印的源程序(见第三部分的设计示例)。读懂上述程序,为程序写出注释,并画出程序的框图(流程图)。(2)请将他们输入计算机,编译、连接并运行。(3)上述程序的数据结构使用C中的结构体类型实现的,请改成用C+中的类实现,并将建立、打印、查询函数改成该类的方法。再编写删除一个结点的方法。(4)编写二叉排序树的前序遍历程序、中序遍历程序和后序遍历程序。基本要求要求利用C语言面向过程的编程思想来完成题目要求的设计; 突出C语言的函数特征,以多个函数实现每一个子功能;画出功能模块图、程序流程框图;进行简单界面设计,能够实现友好的交互(可选);具有清晰的程序流程图和数据结构的详细定义;熟练掌握C语言对文件的各种操作。创新要求在基本要求达到后,可进行创新设计,如系统用户进入界面控制,对不同的功能操作提示不同。1)、知识点数据结构中的二叉树定义、操作,结果的输入输出方法。基本C语言功能,结构体、函数定义等。2)、训练内容掌握数据的链式存储;函数运用方法;标准流程书写方法;【设计内容】1)、结构简介首先针对题目要求,进行所需完成功能的划分;主要是针对程序功能的划分,决定所编代码的组成结构。如“二叉树查找”,整个程序包括如下部分。主程序二叉树建立子程序二叉树查询子程序二叉树打印子程序2)、功能定义程序功能包括数据输入、数据处理、数据输出。数据输入、二叉树创建、查询、打印等功能,一体设计并完成人性化的调试界面。主程序输入创建二叉树“先序二叉树”输出询问环节退出3)、数据定义标准定义方法:理解需求二叉树;按照数据结构结构体;按照程序书写风格对齐方式适当的标注二叉树的定义方法Struct treechar info;struct tree *left, *right;4)、参考算法运用回归(原理)方法。创建二叉树(初始,单树)do printf(Enter a letter
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号