班级档案管理系统课程设计报告0245你465.doc
《班级档案管理系统课程设计报告0245你465.doc》由会员分享,可在线阅读,更多相关《班级档案管理系统课程设计报告0245你465.doc(31页珍藏版)》请在三一文库上搜索。
1、课 程 设 计 报 告课程设计 C语言课程设计 课题名称 班级档案管理系统 专 业 电气工程及其自动化 前言C语言程个序设计课程设计是对学生的一种全面综合训练,它包括问题分析,总体结构设计,用户界面设计,程序设计基础技能和技巧,多人合作,以致一整套软件工作规范的训练和科学作风的培养。是与课堂听讲、自学和联系相辅相成的必不可少的一个教学环节。通常,课程设计的课题比平时的习题复杂得多,也更接近实际。课程设计着眼于理论与应用的结合点,使学生学会如何把书上学到的知识用于解决实际问题,培养程序设计工作所需要的知识综合能力;另一方面,能使书上的知识变“活”,使学生更好地深化理解和灵活掌握教学内容。为了达到
2、上述目的,本课程设计安排了十五个设计课题,训练重点在于基本的程序设计方法和分析问题的能力,而不强调面面俱到。学生选其中一题进行设计,设计完毕写出课程设计报告,用A4纸打印成册;并将课程设计报告与源程序存盘。学习委员将课程设计报告与磁盘(缺一不可)收齐以后交指导老师。一、目的全面熟悉、掌握C语言基本知识,掌握C语言程序设计中的顺序、分支、循环三种结构及数函数和C语言基本图形编程等方法,把编程和实际结合起来,增强对不同的问题运用和灵活选择合适的数据结构以及算法描述的本领,熟悉编制和调试程序的技巧,掌握分析结果的若干有效方法,进一步提高上机动手能力,培养使用计算机解决实际问题的能力,养成提供文档资料
3、的习惯和规范编程的思想,为以后再在专业课程中应用计算机系统解决计算、分析、实验和设计等等学习环节打下较扎实的基础。二、基本情况课程类别:必修课课程学分:1学分课程学时:一周课程对象:电气工程0781、0782、0783、0784、0785、0786三、时间安排时间任务2008-3-8下午3:40-5:40指导老师给学生布置课程设计的任务及要求2008-3-10到2008-3-15学生根据设计任务及要求,对系统进行需求分析、概要设计和详细设计,并在此基础上编写程序代码学生提交系统程序清单初稿上机调试程序修改并完善程序并上机调试程序2008-3-16接受指导老师的验收2008-3-16到2008-
4、3-22书写课程设计报告提交课程设计报告四、设计可调试过程规范化要求1) 需要分析分析系统功能需求以及用户操作流程。2) 概要设计在需要分析的基础上,确定系统总体框架(系统功能结构图)3) 详细设计定义数据储存结构,并设计实现系统功能的具体算法,画出各算法的工作流程图。4) 代码设计根据所设计的算法,定义相应函数分别实现系统的各子功能模块,同时由主程序提供友好的用户界面,使用户可通过选择主菜单来调用课程设计中要求完成的各个功能模块,子程序执行完后还可以返回主菜单,继续选择其他功能执行。源程序要求书写规范,结构清晰。重点函数的重点变量。重点功能部分均要求给出清晰的程序注释5) 程序调试程序编译、
5、连接成功后,自己设计实现程序功能的一组或多组测试数据,并严格按照此测试数据进行测试,然后分析测试结果。如果程序不能正常运行或结果不正确,则需要对程序进行单步调试,在进行过程中认真查找算法实现中存在的问题,并加以分析和改正。如果程序能够基本正确运行,可考虑增加若干基本的容错功能(如避免用户操作错误时程序出现死循环等);另外尽量对现有算法给出改进方案,并比较不同算法之间的优缺点。五、设计报告及书写内容要求课程设计任务完成后,每位同学必须独立书写一份课程设计报告,注意:不得抄袭他人的报告(或给他人抄袭),一旦发现,成绩为零分。课程设计报告的内容应包括以下五个部分:1) 需求分析:包括设计题目、设计要
6、求以及系统功能需求分析;2) 概要设计:包括系统总体设计框架和系统功能模块图;3) 详细设计:包括主要功能模块的算法设计思路以及对应的工作流程图;4) 主要源程序代码:包括存储结构设计说明,以及完整源程序清单;5) 调试分析过程描述:包括测试数据、测试输出结果,以及对程序调试过程中存在的问题的思考(列出主要问题的的出错想象、出错原因、解决方法及效果等);6) 总结:包括课程设计过程中的学习体会与收获,对C语言和本次课程设计的认识以及自己的建议等内容。7) 书写格式严格按所附要求书写。附:课程设计报告装订顺序:封面、任务书、目录、正文、评分、附件(A4大小的图纸及程序清单)。正文格式:一级标题用
7、3号黑体,二级标题用四号宋体加粗,正文用小四号宋体,行距22 。正文内容:一、课题的主要功能;二、课题的功能模块可划分(要求画出模块图);三、主要功能的实现(至少要有一个主要模块的流程图);四、程序调试;五、总结;六、附件(所有程序的原代码,要求对程序写出必要的注释)。正文总字数要求在5000字以上(不含程序源代码)。六、考核方式指导老师负责验收程序的运行结果,并结合学生的工作态度、实际动手能力、创新精神和设计报告等进行综合考评,并按优秀、良好、中等、及格可不及格五个等级给出每位同学的课程设计成绩。具体考核标准包含以下几个部分:1) 平时出勤(占10%)2) 系统需求分析、功能设计、数据结构设
8、计及程序总体结构合理与否(占10%)3) 程序能否完整、准确地运行,个人能否独立、熟练地调试程序(占40%)4) 设计报告(占30%)5) 独立完成情况(占10%)七、指导老师王颖八、课程设计题目1.问题描述:对一个有N个学生的班级,通过该系统实现对该班级学生的基本信息进行录入、显示、修改、删除等操作的管理。课题二:班级档案管理系统的设计与实现。2.功能要求:(1)本系统采用一个包含N个数据的结构体数组,每个数据的结构应当包括:姓名、学号、性别、年龄、备注。(2)本系统显示这样的菜单:班级档案管理系统 请选择系统功能项: a.学生基本信息录入b.学生基本信息显示c.学生基本信息存储d.学生基本
9、信息删除e.学生基本信息修改(修改前要求输入密码)f.学生基本信息查询按姓名查询按学号查询g. 退出系统(3)执行一个具体的功能之后,程序将重新显示菜单。3算法提示:(1)数据结构:结构体类型数组。(2)数据库结构:该系统的基本数据库如下:4.测试数据:姓名学号性别年龄备注charcharcharintchar学生人数N=10 5.对该系统有兴趣的同学可以在实现上述基本功能后,完善系统的其它功能。目录课程设计主文档9一、课程设计题目9二、内容摘要9三、关键字9四、总体设计方案的选定9【概要设计】9【详细设计】10五、函数细说10六、函数间的调用关系图14七、主控模块和部分子模块18八、附件19
10、九、调试分析29十、总结30十一、参考资料30应用技术学院课程设计评分表31课程设计主文档一、课程设计题目 班级档案管理系统二、内容摘要该系统是一个简单的班级档案管理系统,能够使学生了解到相应的信息。同时也减少了老师的工作量。整个系统除了主函数外,另外还有个函数,实现大功能:输入信息功能、显示信息功能、查询信息功能、插入信息功能、保存信息功能、读取信息功能等。三、关键字档案管理系统 函数 数组 结构体 文件 循环语句 多分支结构四、总体设计方案的选定 程序的功能:要实现对班级学生档案的统一有效的管理,就需要通过运用函数,编译语句,数据类型来实现,由于班级中学生信息数据多,数据结构相似的特点,很
11、明显自然的想到用数组实现数据的存储,且总体数据结构应用文件类型的数据,文件类型为结构体数据,数据库结构用文件来实现,需要存储的信息数据有:学生的姓名,学号,性别,年龄等。最后通过函数之间的调用来实现。【概要设计】 程序的模块组成以及各个函数的功能: 1)、 程序的模块组成: 主函数: int main() 输入函数: STUDENT *create() 显示函数: void print(STUDENT *head) 查询函数: void search(STUDENT *head) 删除函数: STUDENT *delete(STUDENT *head) 插入函数: STUDENT *inser
12、t(STUDENT *head,STUDENT *new) 保存函数: void save(STUDENT *head) 2)、 各个函数的主要功能: 输入函数: 随时输入数据。 显示函数: 显示各个函数和数据。 寻找函数: 方便学生查找自己的信息。 删除函数: 方便工作人员修改学生信息。 插入函数: 可以插入新的信息。 保存函数: 保存好学生信息,以免丢失【详细设计】 相关的数据类型: 班级档案结构数组 typedef struct z1 /*定义数据结构*/ char no12; char name15; char sexN; int age; char remark struct z1
13、*next; 五、函数细说整个系统除了主函数外,另外还有12个函数,实现八大功能:输入功能、显示功能、查找功能、插入功能、保存功能、读取功能。各个函数的详细设计说明分别如下:1.主函数 main()利用无限次循环for(;)和swithch()实现各函数的调用,系统根据输入的数字选项来调用相应的函数。2 菜单选择函数 int menu_select()个这是一个无参函数,主要实现“功能选择”的界面,在这个界面里有显示系统的八大功能,根据每功能前面的序号进行选择,中间还显示系统当前的时间。等执行完每一个函数功能后,按任一键回到主界面也要通过这个函数来实现!3输入记录函数 STUDENT *cre
14、ate()这是一个无参函数,用来执行第学生基本信息的输入,当学生学号为时停止输入,函数结束后,带回一个指向链表头的指针head。算法:先声明一个首节点head,并将head-next设为NULL。每输入一个数据就声明一个新节点p,把p-next设为NULL,并且链接到之前列表的尾端。N-S流程图如下: head=NULLfor(i=0;ino输出内存溢出p-no是否为否是停止输入返回输入姓名p-name输入年龄p-age输入性别p-sex输入备注p-remark菜单p-next=head;head=p;4.显示记录函数 void print(STUDENT *head)这是一个不返回值的有参函
15、数,形参为“链表头的指针”,负责对全部学生成绩记录的输出,不足之处就是不能对学生成绩进行分页显示。算法:先将p结点的指针指向第一个结点,将p结点(即第一个结点)的数据输出。然后再将p结点的指针指向p指针的的指针(即下一结点),将p结点(即第一结点)的数据输出。重复执行此步聚直到p指针指向NULL为止。N-S流程图如下: p=head,使指向第一个结点 输出p所指向的结点p指向一下个结点当p指的不是表尾5.查找记录函数 void search(STUDENT *head)这是一个不返回值的有参函数,形参为“链表头的指针”,实现按姓名对某个学生进行查找,并显示所查找到的记录。算法:采用线性查找法往
16、下一个节点查找。输入所要查找的学生的姓名s,设一个指针变量p,先指向第一个结点,当strcmp(p-name,s) & p != NULL时,使p后移一个结点,如果p!=NULL,输出p所指的结点。N-S流程图如下:输入要查找的学生的姓名sp=head,使p指向第一结点当记录的姓名不是要找的,或指针不为空时p=p-nextp!=NULL如果指针不为空是否输出p所指向的结点显示没有该学生6.删除记录函数 STUDENT *delete(STUDENT *head)这是一个有参函数,形参为“链表头的指针”,先通过密码程序,即输入一个无回显示的字符串a,如果输入的字符串与系统设定的字符串pass相同
17、,就可以进入删除函数,否则返回菜单。进入删除函数后,输入要删除的学生记录的姓名,找到后显示该学生信息,等确认后便可按回车进行删除。算法:从p指向的第一个结点开始,检查该结点中的num值是否等于输入的要求删除的那个姓名。如果相等就将该结点删除,如不相等,就将p后移一个结点,再如此进行下去,直到遇到表尾为止。N-S流程图如下:输入一个字符串aIf (a! =pass)Else continueReturn hp1=head;当(strcmp(p1-no,s))& p1 != NULLp2=p1 p1=p1-next否p1是要删除的结点是p1所指是头结点输出找不到的信息否p2-next=p1-nex
18、thead=p1-next (删除头结点)是7.插入函数 STUDENT *insert(STUDENT *head)这是一个有参函数,形参有两个,一个是“链表头的指针”,一个是“待插入指针”,按照学号进行插入,并返回。算法:先用指针变量p指向待插入的结点,q指向第一个结点。如果p-nono,则待插入的结点不应插在q所指的结点之前。此时将q后移,并使info指向刚才q所指的结点。重复以上的步骤,直到p-no=q-no为止。这时将p指向的结点插到q所指结点之前。但是如果q所指的已是表尾结点,则p1就不应后移了。如果p0-no比所有结点的no都小,则应将p0所指的结点插到链表末尾。如果插入的位置既
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 班级 档案管理系统 课程设计 报告 0245 465
链接地址:https://www.31doc.com/p-2109806.html