数据结构课程设计-考务管理程序的设计与实现.doc_第1页
数据结构课程设计-考务管理程序的设计与实现.doc_第2页
数据结构课程设计-考务管理程序的设计与实现.doc_第3页
数据结构课程设计-考务管理程序的设计与实现.doc_第4页
数据结构课程设计-考务管理程序的设计与实现.doc_第5页
免费预览已结束,剩余22页可下载查看

下载本文档

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

文档简介

i xx 学 院 数据结构数据结构 课 程 设 计 设计题目: 考务管理程序的设计与实现 系 别 班级 学生姓名 学号 指导教师 职称 讲师 起止日期: 2011 年 12 月 19 日起至 2011 年 12 月 23 日止 考务管理程序的设计与实现 ii xx 学 院 数据结构数据结构 课程设计任务书 课程设计题目: 考务管理程序的设计与实现 系 别 _ 班级信管 学生姓名 学 号 指导教师 职 称 讲师 课程设计进行地点: 实验室 c407 任 务 下 达 时 间: 2011 年 12 月 19 日 起止日期: 2011 年 12 月 19 日起至 2011 年 12 月 23 日止 一、课程设计的目的一、课程设计的目的 考务管理程序的设计与实现 iii 课程设计比教学实验复杂一些,涉及的深度广些并更加接近实用。目的一 方面是通过课程设计的综合训练,帮助学生系统掌握该门课程的主要内容,更 好地完成教学任务;另一方面,通过课程设计使学生进一步加深对课程内容的 理解,利用程序设计的基本思想进行程序的开发,进一步掌握编程方法和技巧, 培养学生的实际分析问题、编程和动手能力,提高学生用程序的思想来解决实 际问题的能力。 二、课程设计要求二、课程设计要求 1、遵守课程设计时间安排,按时上机。 2、认真查找相关的资料,理解相关的知识内容。 3、认真调试程序,组员之间应加强团队合作,取长补短,共同分析问题解 决问题。 4、根据设计题目规定的具体要求进行具体规范操作。 5、认真撰写课程设计报告,避免相互抄袭。 三、对课程设计说明书撰写内容、格式、字数的要求三、对课程设计说明书撰写内容、格式、字数的要求 1课程设计报告是体现和总结课程设计成果的载体,主要内容包括:设 计题目、设计目的、实验器材、设计原理及内容、设计具体步骤、遇到的问题 及解决方法、设计总结、参考文献等。一般不应少于 3000 字。 2在适当位置配合相应的实验原理图、实验数据表、问题分析流程图等 图表进行说明。应做到文理通顺,内容正确完整,书写工整,装订整齐。 3设计总结部分主要写本人完成工作简介以及自己的设计体会,包括通 过课程设计学到了什么,哪里遇到了困难,解决的办法以及今后的目标。 4课程设计报告打印时采用 a4 纸,页边距均为 20mm,正文采用宋体小四 号字,行间距 20 磅。文中大标题采用黑体小三号字,一级节标题采用黑体四 号字,二级节标题采用黑体小四号字,表题与图题采用宋体五号字。 5课程设计报告装订顺序为:封面、任务书、成绩评定表、目录、正文、 参考文献。 四、设计题目四、设计题目 五、成绩评定五、成绩评定 评定成绩根据系统功能、界面效果,系统操作的方便性、灵活性等方面进 行,主要从三个方面进行考虑: 考务管理程序的设计与实现 iv 1、对问题的理解程度; 2、成果的好坏; 3、设计报告。 评定结果:不及格、及格、中、良好、优秀。 六、时间进度安排六、时间进度安排 顺序阶段日期计 划 完 成 内 容备注 12011.11.19查阅资料,撰写读书笔记 22011.11.20系统设计 ,数据结构设计,算法设计 32011.12.21编程并上机调试 42011.12.22 撰写报告 52011.12.23 验收程序,提交设计报告书 七、主要参考文献七、主要参考文献 考务管理程序的设计与实现 v xxxx 学学 院院 数数 学学 与与 计计 算算 机机 科科 学学 系系 考勤管理程序设计与实现考勤管理程序设计与实现课程设计成绩评定表课程设计成绩评定表 教研室:教研室: 信管教研室信管教研室 班级:班级: 学生姓名:学生姓名: 指指 导导 教教 师师 评评 审审 意意 见见 评价内 容 具 体 要 求权重评 分加权分 调 研 论 证 能独立查阅文献,收集资料;能制定课程 设计方案和日程安排。 0.15 54 43 32 2 工作能 力 态 度 工作态度认真,遵守纪律,出勤情况是 否良好,能够独立完成设计工作, 0.25 54 43 32 2 工 作 量 按期圆满完成规定的设计任务,工作量 饱满,难度适宜。 0.25 54 43 32 2 说明书 的质 量 说明书立论正确,论述充分,结论严谨 合理,文字通顺,技术用语准确,符号 统一,编号齐全,图表完备,书写工整 规范。 0.55 54 43 32 2 指导教师评审成绩指导教师评审成绩 (加权分合计乘以(加权分合计乘以 1212) 分分加权分合计加权分合计 指指 导导 教教 师师 签签 名:名: 年年 月月 日日 评评 阅阅 教教 师师 评评 审审 意意 见见 评价内 容 具 体 要 求权重评 分加权分 查 阅 文 献 查阅文献有一定广泛性;有综合归纳资 料的能力 0.25 54 43 32 2 工 作 量 工作量饱满,难度适中。 0.55 54 43 32 2 说明书 的质 量 说明书立论正确,论述充分,结论严谨 合理,文字通顺,技术用语准确,符号 统一,编号齐全,图表完备,书写工整 规范。 0.35 54 43 32 2 评阅教师评审成绩评阅教师评审成绩 (加权分合计乘以(加权分合计乘以 8 8) 分分加权分合计加权分合计 评评 阅阅 教教 师师 签签 名:名: 年年 月月 日日 课课 程程 设设 计计 总总 评评 成成 绩绩分分 考务管理程序的设计与实现 i 目目 录录 第一章第一章 绪论绪论1 1 1.1 课题背景 1 1.2 课题目的和要求 1 1.3 课题意义 1 第二章第二章 系统分析系统分析3 3 2.1 功能需求 3 2.2 数据需求 3 2.3 性能需求 3 第三章第三章 总体设计总体设计5 5 3.1 功能模块设计 5 3.2 系统设计方案 5 第四章第四章 详细设计详细设计6 6 4.1 考生信息的输入 6 4.2 考试日程表的输出 7 第五章第五章 调试与测试调试与测试8 8 5.1 调试 8 5.2 测试 8 结束语结束语9 9 致谢致谢1010 参考文献参考文献1111 附录附录 1 1用户手册用户手册 1212 附录附录 2 2源程序源程序 1414 考务管理程序的设计与实现 ii 摘 要 20 世纪末,随着计算机科学的发展,数据库技术在 internet 中的应用越来越广泛,为广 大网络用户提供了更加周到和人性化的服务。 学生考务管理程序是信息管理系统的一个子系统,一个基于单机版的系统。因为随着计 算机技术的不断进步与发展,计算机已经深入到人们日常生活的每个角落,例如:政府部门, 企事业单位,学校等等。该系统开发功能主要包括:管理员可以通过计算机设置学生考务管 理程序,打印供学校及个人使用。 该程序是使用 c 语言编写的学生考务统计程序。 关键词:考务;考生基本信息;考试时间;考场;查询; 考务管理程序的设计与实现 3 第一章第一章 绪论绪论 1.11.1 课题背景课题背景 程序实践是本科生重要教学环节之一。通过程序实践,强化学生的计算机应用技能,使 学生验证、巩固和充实所学的理论知识, 加深对相关内容的理解,拓宽知识面,培养学生 的创新精神和实践能力。 考务管理程序是学校教务管理工作中一个比较重要的任务,过多的考务管理工作给学校 管理人员带来了很大麻烦的。虽然原始的记录方法在一定的程度上可以解决问题,可是现在 计算机已经走到了我们的生活,它的不足之处就显而易见了。 考务管理程序,是一个对于考 生的管理系统, 不仅大大减少了考务管理人员大量的工作,而且还方便了老师和考生对考试 事项的查询,只要通计算机登入本系统就能及时查询考生的考务信息。这样节省了大量人力 物力,节省了宝贵的时间,大大提高了工作效率.用 c 语言进行了该系统的编写。操作上力争 实现人性化、合理化,满足学校、老师、非计算机管理人员的使用和查看。 1.21.2 课题目的和要求课题目的和要求 目的:要求实现-“考务管理程序”记录考生的基本信息,考试时间,考试课程,考 试教室。 要求: 1.录入考生的基本信息; 2输出考试日程表; 3查询某个考生的基本信息; 4查询某个考生的考场及考试时间; 1.3 课题意义 程序实践是本科生重要教学环节之一。通过程序实践,强化考生的计算机应用技能,使 考生验证、巩固和充实所学的理论知识, 加深对相关内容的理解,拓宽知识面,培养考生 的创新精神和实践能力。 考务管理程序可以大大减缓考生考务人员的工作量, 方便了对考务的管理。 考务管理程序的设计与实现 4 第二章第二章 系统分析 需求分析是软件定义时期的最后一个阶段,它更是开发一个好的软件的基础。它的基本 任务是准确地回答“需要此软件的人都需要哪些功能?”这个问题。 需求分析的主要任务是确定系统必须完成哪些工作,也就是对目标系统提出完整的准 确的具体的清晰的要求,确定系统必须具有的功能和性能,系统要求的运行环境,以及 预测系统发展的前景开发一个好的软件,进行深入细致的可行性研究是极其必要的,而且还 必须做大量的,全,并仔细分析系统中的数据,以便完善良好的软件环境。在需求分析阶段 系统分析员将仔细研究软件所需要完成的具体功能。 2.12.1 功能需求功能需求 本系统主要是考务人员对考试的管理。 该系统需要有建立,查询,载入,储存,退出功能,利用查询功能分开查看某一考生的 基本信息或者某一个门的考试时间,方便考务人员的管理。 2.22.2 数据需求数据需求 本系统主要涉及的数据有考生基本信息。考生基本信息包括考试时间,考生姓名,考试 科目,考场。 2.32.3 性能需求性能需求 要求系统具有可靠性,速度要快。 考务管理程序的设计与实现 5 第三章第三章 总体设计 3.13.1 功能模块设计功能模块设计 根据分析整个系统主要划分为 3 个功能模块,分别执行要求中的功能。数据管理中实现 对考生的基本信息、考场基本信息、考生考试时间的查询、输入、储存。查询管理通过根据 考生姓名,考试课程, 考试时间等信息,查询单个考生的考试信息。功能模块图如图 1 所 示。 考务管理系统 考 生 基 本 信 息 输 入 考 试 日 程 的 查 询 考 试 时 间 及 考 场 输 入 及 输 出 图 1 功能模块图 3.23.2 系统设计方案系统设计方案 此程序是过程性语言设计的。运用多种条件语句,主体采用的是链表指针。系统的设计 采用了数组语句、选择语句和循环语句,在需要处理大量同类数据时,这样就使程序书写更加 简洁。程序使用了布尔函数。选择语句多采用 if 多分支选择结构与 switch 语句。首先计算 switch 表达式,然后在 caes 子句中寻找值相等的常量表达式,并以此为入口符号,由此开 始顺序执行。循环语句采用了 for 语句等、do-while 语句,for 语句用于已知循环次数的循 环结构,括号中的三个量分别用来表示循环变量初值、循环终值和循环增量。 考务管理程序的设计与实现 6 开始 int i=0; char name20; char testid9; structstunode * next; printf(“请输入考 生信息:”); scanf(”%s%d” name,testid) i #include #include #include #include #include #define quit 0 /退出程序的功能代码 #define clear_input_buff(c) while(c=getchar() != eof char name20; char testid9; /准考证号 8 位,最后一位0 student; /表示学生单链表节点的结构体 typedef struct stunode student student; struct stunode * next; /指向下一个学生信息节点 studentnode; /表示学生单链表结构体 typedef struct studentnode * firstnode; studentnode * endnode; int length; studentchain; /创建一个存储考生信息的单链表 studentchain * createstudentchain() studentchain * stuchain = (studentchain*)malloc(sizeof(studentchain); if(null = stuchain) return null; else stuchain-firstnode = null; stuchain-length = 0; return stuchain; 考务管理程序的设计与实现 15 /根据传入的一个考生信息动态创建一个 studentnode 节点并返回 studentnode* createstudentnode(int num,char name) studentnode * stunode = (studentnode *)malloc(sizeof(studentnode); if(null = stunode) return null; else stunode-student.num = num; strncpy(stun,name,20); stun19=0; stunode-student.testid0 = 0; stunode-next = null; return stunode; /把一个考生信息节点添加到单链表末尾 void chainappendnode(studentchain * stuchain,studentnode * node) if(null = stuchain | null = node) return ; if(stuchain-length=0) stuchain-firstnode = node; stuchain-endnode = node; stuchain-length = 1; else stuchain-endnode-next = node; stuchain-endnode = node; stuchain-length+; /根据索引值返回考生信息节点 studentnode * getstudentnodebyindex(studentchain * stuchain,int index) int i=0; studentnode * tmpp = null; if(null = stuchain | indexlength firstnode; for(; inext; return tmpp; /销毁单链表(释放内存) void destroychain(studentchain* stuchain) studentnode * tmpnode = null; studentnode * curnode = null; if(null = stuchain | stuchain-length=0) return ; curnode = stuchain-firstnode; tmpnode = curnode-next; for( ; curnode != null ; ) free(curnode); curnode = tmpnode; tmpnode = curnode-next; free(stuchain); /显示功能菜单,等待用户输入功能代码 /返回值说明:返回功能号 int selectcommand() int cmdnum = 0; int ch = 0; printf(“n“); printf(“1 输入考生信息n“); printf(“2 生成准考号证并显示(座位号随机生成)n“); printf(“3考试日程表的查询n“); printf(“0 退出(注:输入非数字字符也可以退出)n“); scanf(“%d“, clear_input_buff(ch);/清除控制台输入缓存 if( cmdnum != 1 else return cmdnum; 考务管理程序的设计与实现 17 /显示考生信息 void displaystuinfo(studentchain * stuchain) studentnode * curnode = null; char testid9; if(null = stuchain | stuchain-length=0) printf(“当前没有任何考生信息!请录入n“); return; printf(“* n“); printf(“学号t 姓名t 准考证号t 考场号t 座位号n“); printf(“-n“); for( curnode = stuchain-firstnode ; curnode != null ; curnode= curnode- next ) strncpy(testid,curnode-student.testid,9); if(0 = testid0) printf(“%dt%st%st%st%s“, curnode-student.num, curn, “,“,“n“); else printf(“%dt%st%st%c%ct%c%cn“, curnode-student.num, curn, curnode-student.testid, curnode-student.testid0, curnode-student.testid1, curnode-student.testid6, curnode-student.testid7); printf(“* n“); /获取用户输入的考生信息并且保存到结构体参数中 /返回值说明: -1 表示输入不正确, 0 表示不想继续录入,1 表示继续录入 int inputstudentinfo(int *num,char name20) 考务管理程序的设计与实现 18 int ch=0; int quit = 0; name0 = 0; printf(“); scanf(“%d,%s“,num,name); clear_input_buff(ch); if(*numlength / maxstucount; remain = stuchain-length % maxstucount; if(remain 0) maxexamroom +; /对每个考场进行座位安排 for(i=1 ; ilength - arranged; curroomstus = (remain maxstucount?maxstucount:remain) ; if(createrandnums(1,curroomstus,seats ,curroomstus) =0) for(j=0;jstudent.num) = 0; if(strlen(num)student.testid,“%02d%02d%c%c%02d“, i , code , num0 , num1 , seatsj ); arranged +; free(seats); return 0; int main() int cmdnum = 0;/用于存储功能号 int t; int errorcode = 0;/用于存储函数返回的错误号 int num = 0;/学号 char name20;/考生姓名 int maxstucount

温馨提示

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

评论

0/150

提交评论