资源描述
高级语言课程设计指导
课程设计是学生对主干专业课及所学知识的综合应用,是实现培养目标不可缺少的重要实践教学环节。
一、课程设计题目说明
根据难易程度,我们将课程设计题目划分为四类:A、B、C、D,A类题目最难,D类题目较容易,每位同学可根据自己的情况选择相应类别的题目。A类题目可以两人一组,但不能超过两人,B、C、D类题目一人一组。
二、对学生的要求
1.学生必须修完课程设计的先修课程,才有资格做课程设计。
2.明确课程设计的目的和重要性,认真领会课程设计的题目,读懂课程设计指导书的要求,学会设计的基本方法与步骤,积极认真地做好准备工作。
3.课程设计中,学会如何运用前修知识与收集、归纳相关资料解决具体问题的方法。
4.严格要求自己,自信但不固执,独立完成课程设计任务,善于接受教师的指导和听取同学的意见,有意识地树立严谨的科学作风,要独立思考,刻苦钻研,勇于创新,按时完成课程
设计任务。
5.使用规定的课程设计报告,按要求书写并装订成册。
三、课程设计的验收
在每组完成课程设计以后,要提交课程设计报告书,并对设计的内容进行简要介绍,回答老师的提问。
程序设计文档的格式如下:
1、设计目的
2、总体设计(程序设计组成框图、流程图)
3、详细设计(模块功能说明(如函数功能、入口及出口参数说明,函数调用关系描述等)
4、调试与测试:调试方法,测试结果的分析与讨论,测试过程中遇到的主要问题及采取的解决措施
5、系统实现
6、源程序清单和执行结果:清单中应有足够的注释。
四、评分标准:
1、根据程序运行结果;
2、根据课程设计报告、程序设计文档,学生能对自己的程序面对教师提问,并能熟练地解释清楚。
以上两项缺一不可,否则该门课程的学习将被视为不及格。
程序设计文档示例:职工信息管理系统
1 需求分析
1.1编写目的:
通过对用户需求进行调查分析,写出需求分析文档作为项目设计的基本准则要求,以及作为系统分析员进行系统分析和测试人员进行测试时的手册
1.2需求概述:
设计一个职工信息管理系统,使之能提供以下功能:
(1)录入职工信息并保存
(2)显示所有职工信息
(3)查询职工信息
(4)修改职工信息并保存
(5)删除职工信息
1.3需求说明:
(1)职工信息包括职工号、姓名、性别、出生年月、学历、职务、工资、住址、电话等,并且要求职工号不重复;
(2)录入的职工信息要求用文件形式保存,并可以对其进行浏览、查询、修改、删除等基本操作;
(3)职工信息的显示要求有一定的规范格式;
(4)对职工信息应能够分别按工资及按学历两种方式进行,要求能返回所有符合条件的职工的信息;
(4)对职工信息的修改应逐个地进行,一个职工信息的更改不应影响其他的职工记录;
(5)所设计的系统应以菜单方式工作,应为用户提供清晰的使用提示,依据用户的选择来进行各种处理,并要求在此过程中能够尽可能的兼容用户使用过程中的异常情况
开始
功能选择
查询功能
新建功能
输入
2
1
结束
0
2 总体设计
2.1 编写目的:
根据需求分析文档,初步提出问题的解决方案,以及软件系统的体系结构和数据结构的设计方案并写出书面文档总体设计说明书,为下一步进行详细设计做准备。
2.2总体设计:
1、 系统结构
该系统可以按功能进行模块划分,其模块图如下:
系统各模块说明如下:
(1)信息输入模块:完成职工信息的输入功能,输入信息包括职工号、姓名、性别、出生年月、学历、职务、工资、住址、电话等;
(2)信息浏览模块:完成已录入职工信息的显示;
(3)信息查询模块:完成职工信息的查询,查询时对应有按工资查询和按学历查询两种方式;
(4)信息修改模块完成职工信息的修改功能;
(5)信息删除模块完成职工信息的删除功能;
(6)菜单选择模块完成用户命令的接收,此模块也是职工信息管理系统的入口,用户所要进行的各种操作均需在此模块中进行选择并进而调用其他模块实现相应的功能;
2、数据结构
本系统中主要的数据结构就是职工的信息,包含职工号、姓名、性别、出生年月、学历、职务、工资、住址、电话等,在处理过程中各项可以作为一个职工的不同属性来进行处理。
3、程序流程
系统的执行应从功能菜单的选择开始,依据用户的选择来进行后续的处理,直到用户选择退出系统为止,其间应对用户的选择做出判断及异常处理。系统的流程图如下:
3 详细设计
3.1编写目的
根据项目概要设计说明书,在项目概要设计的基础之上,对系统进行详细设计,以便下一步进行程序编码工作。
3.2详细设计
对应于总体设计时的系统功能模块图,各个功能模块的处理逻辑如下:
1、信息输入模块:
打开职工信息文件;
while ( 继续输入 )
{
读入职工信息;
将读入信息添加到职工信息文件中;
提示是否继续输入;
}
关闭职工信息文件;
2、信息浏览模块:
打开职工信息文件;
while ( 不到文件结束 )
{
从文件中顺序读出一个职工的信息;
按指定格式输出该职工的信息;
}
关闭职工信息文件;
3、信息查询模块:
while ( 仍继续查询 )
{
if( 按工资查询 )
{
读入查询的职工工资条件;
打开职工信息文件;
while( 不到文件结束 )
{
顺序读出一个职工的信息;
if( 该职工信息的工资符合条件 ) 输出该职工的信息;
}
关闭职工信息文件;
提示共有几条符合条件的记录;
}
else
if ( 按学历查询 )
{
读入学历查询的条件;
打开职工信息文件;
while( 不到文件结束 )
{
顺序读出一个职工的信息;
if( 该职工信息的学历符合条件 ) 输出该职工的信息;
}
关闭职工信息文件;
提示符合条件的记录数;
}
else 提示输入不合适;
提示是否继续查询;
}
4、信息修改模块:
while( 继续修改 )
{
从给出信息文件中所有的记录情况;
提示并读入待修改的记录的职工的职工号;
打开职工信息文件;
查找并读出该职工的信息到一个中间变量中;
提示并读入要针对该职工的哪个属性进行修改;
根据用户的选择提示并读入所要修改属性的新值;
在该职工的中间变量中修改刚刚读入的属性值;
提示是否确定要进行修改;
如果用户确定则将中间变量重新写回到原职工信息文件中;
关闭职工信息文件;
}
5、信息删除模块:
while( 继续删除 )
{
显示所有职工的信息;
提示并读入待删除的职工的职工号;
打开职工信息文件;
查找是否有符合条件的职工记录;
if( 有符合条件的记录)
{
提示是否确认该删除操作;
if (用户确认此操作)
{
创建一个新的临时文件;
打开原信息文件;
while( 原信息文件中记录未读完 )
{
读出原信息文件中的下一条记录;
if( 此条记录不是待删除记录) 写入临时文件中去;
}
关闭原信息文件;
关闭临时文件;
读方式打开临时文件;
写方式重建与原信息文件同名的新信息文件;
将临时文件中的内容写入到新信息文件中去;
关闭新信息文件;
关闭临时文件;
删除临时文件;
}
}
else 提示没有符合条件的记录存在;
}
6、菜单选择模块:
给出信息提示;
清屏;
绘制菜单(包含输入、显示、查询、修改、删除、退出);
提示菜单选择并读入到变量;
根据读入变量的值调用不同的模块函数;
7、数据结构:
性别: enum Sex{ male, female };
学历 :enum Education{ high, junior, college, master, doctor};
日期 :struct Date
{ int year;
int month;
int day;
};
职工信息:struct Info
{
char num[5]; /* 职工号 */
char name[8]; /* 姓名 */
enum Sex sex; /* 性别 */
struct Date birthday; /* 出生年月*/
enum Education education; /* 学历 */
char duty[8]; /* 职务 */
double wage; /* 工资 */
char addr[12]; /* 地址 */
char phone[8]; /* 电话 */
};
4 系统实现(略)
展开阅读全文