C语言课程设计说明书苏州市职业大学计算机工程系老师统一要求上交的课程设计说明书_第1页
C语言课程设计说明书苏州市职业大学计算机工程系老师统一要求上交的课程设计说明书_第2页
C语言课程设计说明书苏州市职业大学计算机工程系老师统一要求上交的课程设计说明书_第3页
C语言课程设计说明书苏州市职业大学计算机工程系老师统一要求上交的课程设计说明书_第4页
C语言课程设计说明书苏州市职业大学计算机工程系老师统一要求上交的课程设计说明书_第5页
已阅读5页,还剩22页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、+苏苏 州州 市市 职职 业业 大大 学学 课课程程设设计计说说明明书书 名称 计算机语言 C课程设计 学生学籍管理系统 2011 年 6 月 20 日至 2011 年 6 月 26 日 共 1 周 院 系 班 级 姓 名 系主任 教研室主任 指导教师 苏苏 州州 市市 职职 业业 大大 学学 课课程程设设计计任任务务书书 课程名称: 计算机语言 C课程设计 起讫时间: 2011 年 06 月 20 日至 2011 年 06 月 26 日 院 系: 班级: 指导教师: 系 主 任: 一、课程设计课题 根据自己学习情况按以下参考题目选择,也可以由学生自己选题目,但须经过指 导教师、教研室批准。

2、参考题目: 图书借阅管理、学生成绩管理、工资管理、飞机订票系统、通讯录管理、职工信 息管理系统、客房管理系统、学籍管理、固定资产管理系统 二、课程设计的目的和要求 1目的目的 利用C 语言程序设计课程中所学到的编程知识和编程技巧,完成具有一定难度 和工作量的程序设计题目,帮助掌握编程、调试的基本技能。 2要求要求 (1)对系统进行功能需求分析; (2)设计合理的数据结构和系统框架; (3)编程简练,程序功能齐全,能正确运行; (4)说明书、流程图要清楚; (5)课题完成后必须按要求提交课程设计说明书; 在课程设计过程中要求学生:重视课程设计环节,用严谨、科学和踏实的工作态 度对待课程设计的每一

3、项任务;按照课程设计的题目要求,独立地完成各项任务,不 允许相互抄袭;按时到机房上机,并接受教师的检查。认真编写课程设计报告。 课程设计可以由 46 名同学合作完成一个课题。全体成员应共同协作完成选题, 确定设计思想,进行功能模块划分,然后由组长为各成员分配任务。整个设计期间, 组长负责协调工作。各小组成员明确自己的任务后,应独立完成各自模块的设计、编 码和调试,独立完成课程设计说明书。小组成员要理解同组其他成员设计的模块,熟 练操作本组设计。 考核分为两个部分: (1)程序运行情况:按规定时间到机房运行程序,由老师检查运行情况 (2)实验报告:是否按规定书写实验报告的各项内容 课程设计成绩采

4、用百分制:100%=上机检查(50%)+课程设计报告(50%) 三、课程设计进度安排 内容内容学时学时 明确课程设计的目的、要求和任务(由指导老师布置) 1 查阅资料,分析、讨论,完成选题 2 进行系统需求分析,设计合理的数据结构和系统框架 2 编写代码,进行程序调试(功能齐全,能正确运行) 10 进行模块联调,完成测试 2 完成课程设计说明书 5 课程设计验收 2 四、课程设计说明书内容(有指导书的可省略) 为培养学生严谨的工作态度,锻炼学生编写文档的能力,要求学生完成设计任务后, 应按要求提交课程设计报告。设计报告除了填写封面内容和正文部分的规定内容外, 还包含如下几个方面的内容: 1、需

5、求分析:简述本课程设计要解决的问题是什么。 2、概要设计:阐述主要设计思想、划分各个功能模块。 3、详细设计:主要模块的算法描述,用流程图描述;用户交互界面设计。 4、调试报告:调试过程中出现的问题及解决方法,测试结果。 5、心得体会:课程设计心得。 6、附录 1:参考资料 7、附录 2:程序源代码清单,并附上有针对性的注释。 目录目录 目录目录.I 一、课程设计的目的与要求一、课程设计的目的与要求 .1 二、题目说明二、题目说明 .2 2.1 程序开发背景.2 2.2 开发工具介绍.2 三、总体设计三、总体设计 .4 3.1系统开发平台:.4 3.2功能模块图.4 3.3 系统流程图.5 3

6、.4数据结构设计.5 四、详细说明四、详细说明 .6 4.1 系统框架主函数的实现.6 4.1.1 函数声明.6 4.1.2 结构体声明.6 4.1.3 主函数实现.6 4.1.4 系统框架测试.8 4.2 添加学生学籍模块的实现.9 4.2.1模块流程图.9 4.2.2 添加模块代码实现.9 4.2.3 添加模块测试报告.10 4.3 查询学生学籍模块的实现.11 4.3.1 流程图.11 4.3.2 代码实现.12 4.3.3 测试报告.13 4.4 删除学生学籍模块的实现.14 4.4.1 流程图.14 4.4.2 代码实现.15 4.4.3 测试报告.17 4.5 修改学生学籍模块的实

7、现.18 4.5.1 流程图.18 4.5.2 代码实现.19 4.5.3 测试报告.20 五、总结五、总结 .21 六、参考文献六、参考文献 .22 一、课程设计的目的与要求一、课程设计的目的与要求 1目的目的 力用C 语言程序设计课程中所学到的编程知识和编程技巧,完成具有一定难度和工 作量的程序设计题目,帮助掌握编程、调试的基本技能。 2要求要求 (1)对系统进行功能需求分析; (2)设计合理的数据结构和系统框架; (3)编程简练,程序功能齐全,能正确运行; (4)说明书、流程图要清楚; (5)课题完成后必须按要求提交课程设计说明书; 在课程设计过程中要求学生:重视课程设计环节,用严谨、科

8、学和踏实的工作态度对 待课程设计的每一项任务;按照课程设计的题目要求,独立地完成各项任务,不允许相互 抄袭;按时到机房上机,并接受教师的检查。认真编写课程设计报告。 课程设计可以由 46 名同学合作完成一个课题。全体成员应共同协作完成选题,确定 设计思想,进行功能模块划分,然后由组长为各成员分配任务。整个设计期间,组长负责 协调工作。各小组成员明确自己的任务后,应独立完成各自模块的设计、编码和调试,独 立完成课程设计说明书。小组成员要理解同组其他成员设计的模块,熟练操作本组设计。 考核分为两个部分: (1)程序运行情况:按规定时间到机房运行程序,由老师检查运行情况 (2)实验报告:是否按规定书

9、写实验报告的各项内容 课程设计成绩采用百分制:100%=上机检查(50%)+课程设计报告(50%) 二、题目说明二、题目说明 学生学籍管理 对学生(学生学号、姓名、生源地等等)完成增加、删除、修改学生信息、查询学生资料。 2.1 程序开发背景程序开发背景 现代教育技术特别是网络与多媒体技术的发展,对学习活动产生了具有深远意义的冲 击,网络中的学习者必须是一个主动行为着的主体,人们可以选择或者设计适合其学习特 点的信息采集、加工与重组方式,一种个性化的学习类型。该学籍管理系统采用多层架构 的系统,是真正适应教育信息化发展三大趋势的校园网络应用系统,全面支持 Internet 功 能、远程访问功能

10、,全部采用最先进的 B/S(浏览器/服务器) 模式来开发,支持有关学校 信息交流、日常教学、教务管理等的各种应用,提供了一个基于校园内联网中支持各种类 型的学校应用产品的服务平台和开发平台,基本目标是在学校内部和外部建立起顺畅的信 息通道,让信息技术成为推动教育生产力的有力工具,提高学校的管理水平和效率,同时 充分利用全球的教育资源为学校的教育服务,克服了目前大部分学校的校园网建设只起到 宣传作用的通病。 2.2 开发工具介绍开发工具介绍 Visual C+ 6.0 简称 VC 或者 VC6.0,是微软推出的一款 C+编译器,将“高级语言” 翻译为“机器语言(低级语言)”的程序。Visual

11、C+是一个功能强大的可视化软件开发 工具。自 1993 年 Microsoft 公司推出 Visual C+1.0 后,随着其新版本的不断问世, Visual C+已成为专业程序员进行软件开发的首选工具。虽然微软公司推出了 Visual C+.NET(Visual C+7.0),但它的应用的很大的局限性,只适用于 Windows 2000、Windows XP 和 Windows NT4.0。所以实际中,更多的是以 Visual C+6.0 为平台。 Microsoft Visio 2003是一款商用和科技图表制作程序,该程序帮助您以图表的形式 诠释您的想法、过程、系统以及数字。能够协助您分析

12、和传递信息,使您可以更好的进行 决策、跨公司达成一致的意见、增强交流、监控和维护 IT 系统,以及给您的听众留下更 为专业、深刻的印象。作为一个绘图平台软件功能与使用方法的书籍,可供各个行业的使 用者参考,特别适用于制造业、IT、电信等行业中从事流程图、网络拓扑图、人事管理图、 建筑图等绘制的人员使用。 三、总体设计三、总体设计 3.1系统开发平台:系统开发平台: Windows XP 系统 + Visual C+ 6.0 3.2功能模块图功能模块图 学生学籍管理系统对学生学籍完成添加、删除、修改学生学籍、查询学生学籍。根据 系统分析,得到如下动作:添加、删除、修改、查询。其中隐藏的动作有退出

13、系统。通过 以上分析得到如图 3-1 系统功能模块图。 3.3 系统流程图系统流程图 3.4数据结构设计数据结构设计 根据系统要求,系统中主要针对学生学籍数据进行操作,分析学生学籍数据内容可以 得到以下属性值:学号、姓名、生源地,如图 3-3 所示。对数据的存储形式中,可以使用 文件、数组、链表的形式,其中文件可以将数据保存在系统外,数组适合查询,链表适合 添加、删除。根据系统要求,保存文件可作为额外操作,后续完成,在本系统中因为要大 量完成添加、删除,因此主要操作手段选择使用链表的形式。 学生学籍 姓名学号 好、 号 生源地 图 3-3 数据模型 图 四、详细说明四、详细说明 4.1 系统框

14、架系统框架主函数的实现主函数的实现 参照图 3-2 系统流程图搭建系统框架,并完成主函数。 4.1.1 函数声明函数声明 根据分析得到以下函数: /=函数声明= void ShowMenu();/显示菜单函数 void AddStuStatus(); /添加学生学籍模块函数 void DelStuStatus(); /删除学生学籍模块函数 void ModStuStatus();/修改学生学籍模块函数 void SelStuStatus(); /查询学生学籍模块函数 void ExitSystem();/退出系统函数 4.1.2 结构体声明结构体声明 参照图 3-3 数据模型图,根据分析得到以

15、下数据: /=结构体声明= typedef struct StuStatus long num; char name10; float status; struct StuStatus *next; Status; 4.1.3 主函数实主函数实现现 主函数结构如下 /=主函数= main() int iChoice; while(1) ShowMenu(); printf(请输入相应的选项号:); scanf(%d, switch(iChoice) case 1: AddStuStatus(); break; case 2: DelStuStatus(); break; case 3: Mod

16、StuStatus(); break; case 4: SelStuStatus(); break; case 5: ExitSystem(); default: printf(选项错误!); /=END 主函数= 最终得到如下主界面图 4-1: 4.1.4 系统框架测试系统框架测试 在系统框架测试中主要针对输入与输出是否符合要求,其中输入数据仅有选项号,因 此在测试中对选项号进行相关测试,测试结果如下表 4-1 所示。 表 4-1 系统框架测试报告 测试数据测试结果修改内容是否通过 输入选项号:1进入添加学生学籍模 块,并显示相应功能 操作 1 结果该模块操作 后清屏; 2 进入该模块后清

17、屏; 3结果前暂停,给 出提示信息。 是 输入选项号:2345进入相应模块,并显 示相应功能操作 同上是 输入:-1打印输出“选项错误! ” 暂停显示提示信息是 图 4-1 4.2 添加学生学籍模块的实现添加学生学籍模块的实现 4.2.1 模块流程图模块流程图 4.2.2 添加模块代码实现添加模块代码实现 创建全局变量: /=全局变量声明= struct StuStatus *head=NULL; 添加学生学籍模块函数相关代码: void AddStuStatus() char ch; struct StuStatus newStu; system(cls);/清屏 printf(=n); p

18、rintf(t添加学生学籍模块n); printf(=n); while(1) rewind(stdin); /判断是否添加 printf(是否添加学生学籍?(Y/N):); scanf(%c, if(ch = N) break; /输入学生学籍信息 printf(学号:); scanf(%ld, printf(姓名:); scanf(%s, newS); printf(生源地:); scanf(%d, /将该变量添加到系统的链表当中 newStu.next = head; head = 4.2.3 添加模块测试报告添加模块测试报告 表 4-2 添加学生学籍模块测试报告 测试数据

19、测试结果修改内容是否通过 输入 n/N,判断 是否跳出 输入 N,能正常跳出添加模块, 但输入 n,不能正常跳出 在判断输入值时,添加 对小写 n 的判断 是 4.3 查询学生学籍模块的实现查询学生学籍模块的实现 4.3.1 流程图流程图 图 4-3 查询学生学籍模块流程图 输入学生学籍信 息,并保存 (学号:528; 姓 名: 118; 生源 地:53.4) 学号与姓名能正常保存,但 对于成绩的实数型数据不能 正常保存。 判断可能是开发平台有 关。修改结构体成员 Status 类型为 int 是 在判断是否添加 部分,输入 k 不能正确跳出或判断出错增加对输入值 Y/y 的判 断 是 4.3

20、.2 代码实现代码实现 查询学生学籍模块函数相关代码: void SelStu Status () /查询学生学籍模块函数 Status *pointer; char ch; char content10; system(cls); printf(=n); printf(t查询学生学籍模块n); printf(=n); while(1) rewind(stdin); /是否要查询? printf(是否查询学生学籍?(Y/N):); scanf(%c, if(ch = N | ch = n) break; else if(ch = Y | ch = y) pointer = head; prin

21、tf(请输入查询条件(所有信息输入*):); scanf(%s, content); while(pointer) if(strcmp(content, *) = 0 | strcmp(content, pointer-name)=0) printf(=学号:%ld=姓名:%s=生原地:%d=n, pointer- num, pointer-name, pointer-status ); pointer = pointer-next; 最终得到如下查询界面 4-2: 图 4-2 4.3.3 测试报告测试报告 表 4-3 查询学生学籍模块测试报告 测试数据测试结果修改内容是否通过 输入 y/Y

22、是否跳 出 输入 Y,正常显示查询模块, 但输入 y, 不能正常显示该模 块 在判断输入值时,查询 对小写 y 判断 是 输入学生学号 321,(或姓名 日 rew 或生源地 423) 输入学生学号能显示其所有 学生学籍信息 无是 判断是否查询准 确,输入 y 能正确显示出信息无是 4.4 删除学生学籍模块的实现删除学生学籍模块的实现 4.4.1 流程图流程图 图 4-4 删除学生学籍模块流程图 4.4.2 代码实现代码实现 void DelStuStatus()/删除学生学籍模块函数 Status *pre, *next; Status *temp; char ch; char conten

23、t10; system(cls); printf(=n); printf(t删除学生学籍模块n); printf(=n); while(1) rewind(stdin); /是否要删除? printf(是否删除学生学籍?(Y/N):); scanf(%c, if(ch = N | ch = n) break; else if(ch = Y | ch = y) pre = next = head; printf(请输入查询条件(所有信息输入*):); scanf(%s, content); if(strcmp(content, *) = 0) head = NULL; break; while(

24、next) if(strcmp(content, next-name)=0) if(next = head) head = next-next; else pre-next = next-next; pre = next; next = next-next; 最终得到如下删除界面图 4-3: 图 4-3 4.4.3 测试报告测试报告 表 4-3 删除学生学籍模块测试报告 测试数据测试结果修改内容是否通过 输入学生学号 1234 输入学号能显示学生原有学 籍信息,输入非学号时不能 显示 判断所输入的值是否是 学生学号 是 输入该学生所要 删除的学籍信息 (如生源地 65) 输入所要删除信息时没有

25、任 何动作 判断可能是开发平台有 关。将代码中 if 语句进 行适当修改 是 再次输入学生学 号 1234 查询删 除后的学籍信息 输入学号能成功显示删除后 的学籍信息 无是 4.5 修改学生学籍模块的实现修改学生学籍模块的实现 4.5.1 流程图流程图 4.5.2 代码实现代码实现 void ModStuStatus() /修改学生学籍模块函数 Status *pointer; char ch; char content10; system(cls); printf(=n); printf(t修改学生学籍模块n); printf(=n); while(1) rewind(stdin); /是

26、否要修改? printf(是否修改学生学籍?(Y/N):); scanf(%c, if(ch = N | ch = n) break; else if(ch = Y | ch = y) pointer = head; printf(请输入修改条件:); scanf(%s, content); while(pointer) if(strcmp(content, pointer-name)=0) /打印原有信息 printf(符合条件的信息为:n); printf(学号:%ld - 姓名:%s - 生源地:%d n, pointer- num, pointer-name, pointer-status); printf(# 请输入修改信息 #n); /输入学生学籍信息 printf(学号); scanf(%ld, printf(姓名); scanf(%s, pointer-name); printf(生源地); scanf(%d, pointer = pointer-next; 最终得到如下修改界面图 4-4: 图 4-4 4.5.3 测试报告测试报告 表 4-4 修改学生学籍模块测试报告 测试数据测试结果修改内容是否通过 输入学生学号 12 或姓名 21 输入学号不能显示出学生原 来的所有学籍信息 在判断输入值时,查询 对输入

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论