ImageVerifierCode 换一换
格式:DOCX , 页数:32 ,大小:234.75KB ,
资源ID:24108445      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/24108445.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(班级档案管理系统.docx)为本站会员(b****2)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

班级档案管理系统.docx

1、班级档案管理系统 课 程 设 计 报 告课程名称 C语言程序设计 课题名称 班级档案管理 专 业 班 级 学 号 姓 名 指导教师 赵锦元、余新宇、谭小兰 2013年 6 月 27 日湖南工程学院课 程 设 计 任 务 书课程名称 C语言程序设 课 题 班级档案管理系统 专业班级 信息管理 学生姓名 学 号 指导老师 赵锦元、余新宇、谭小兰 审 批 任务书下达日期 2013 年 6月 14 日任务完成日期 2013 年 6 月 27 日一、设计内容与设计要求1.课程设计目的:全面熟悉、掌握C语言基本知识,增强对不同的问题运用和灵活选择合适的数据结构以及算法描述的本领,熟悉编制和调试程序的技巧,

2、掌握分析结果的若干有效方法,进一步提高上机动手能力,培养使用计算机解决实际问题的能力,养成提供文档资料的习惯和规范编程的思想,为后继课程(数据结构和数据库等课程)的实验以及课程设计打下较扎实的基础。2.课题题目班级档案管理系统3.设计要求:掌握结构化程序设计的主体思想,以自顶向下逐步求精的方法编制程序解决一些实际的中型问题,为将来开发软件积累一些典型的案例处理经验。二、进度安排第 18 周 星期二 14时:30分18时:00分 星期三 8时:00分11时:30分 星期三 14时:30分18时:00分 星期四 8时:00分11时:3 班级档案管理系统一、问题描述:对一个有N个学生的班级,通过该系

3、统实现对该班级学生的基本信息进行录入、显示、修改、删除、保存等操作的管理。二、功能要求:1、本系统采用一个包含N个数据的结构体数组,每个数据的结构应当包括:学号、姓名、性别、年龄、备注。2、本系统显示这样的菜单:请选择系统功能项: a.学生基本信息录入 b.学生基本信息显示 c.学生基本信息保存 d.学生基本信息删除 e.学生基本信息修改(要求先输入密码) f.学生基本信息查询 (1)按学号查询 (2)按姓名查询 (3)按性别查询 (4)按年龄查询 g. 退出系统3、执行一个具体的功能之后,程序将重新显示菜单。4、将学生基本信息保存到文件中。5、进入系统之前要先输入密码。三、算法提示:1、 数

4、据结构:结构体类型数组2、 数据库结构:下表构成该系统的基本数据库。 姓名学号性别年龄备注charChar charintchar四、测试数据:学生人数N=10 五、其它:根据兴趣可以自我完善系统。目 录第一章 绪论1. 背景描述.第二章 需求分析2.1 项目开发的目的.2.2 系统概述.2.3 项目的功能需求 .2.4 系统开发的流程.第三章 概要设计3.1 程序模块的组成.3.2 班级档案管理信息数据结构体.3.3 各个程序的功能介绍3.4 系统结构图第四章 模块设计分析.4.1 程序的模块组成及函数功能.4.2 系统功能模块划分.4.3 总流程图.4.4 插入功能流程图. 第五章 测试.

5、 5.1 部分功能运行图.5.2 测试方案及bug分析.5.3 功能提升.第六章 总结. A 程序原代码. B 备注.第一章绪论1.1 背景描述: 随着社会信息量的与日俱增和国家的招生规模的不断扩大,学校需要有一个很好的班级档案管理系统,以方便对学生档案进行有效的管理。系统应具有既方便教师对学生档案的录入和保存还有显示、删除、修改、查询等功能。 班级档案管理系统这个系统名字是在经过与客户商量而确定的,在有极大的生存空间下而开始开发的,得到了学校与师生们的一致好评。 在诸多管理系统的班级档案管理系统与其他管理系统都是一种基础系统,本系统具有数据操作方便、高效、迅速等优点。该软件是采用功能强大的数

6、据库软件开发工具进行开发,具有很好的可移植。同时可通过设置密码来控制其访问权限,确保系统数据的安全性,使用该系统能够既能把管理人员从繁忙的数据统计中解脱出来,使其具有更多的精力去从事教务管理政策的研究实施,教学计划的制定执行和教学质量的监督检查,从而全面提高教学质量,同时也减轻任课教师的负担,让其有更多的时间投入到教学和科研中,其作主要的功能是能够便于学校的管理。班级档案系统是学生的基本信息数据位主的管理,合理的管理让该系统的功能得以顺利的实现。(1) 系统现状目前,我国大中专院校的学生管理的水平普遍不高。在当今的信息时代,传统的管理方法必然要被以计算机为基础的信息管理所代替,而去目前很多重点

7、院校都已经有了自己的教务管理系统。已有的大都偏向学生成绩管理系统、学籍管理等,而本系统则重点放在档案管理上,从整体上,从整体上进行分析设计,这对于其他类似的管理系统的设计很有高的参考意义。(2) 用户需求针对目前各大高校对学生档案管理方面存在的问题和管理的实际需要,我们将理顺管理体制和建立各种管理规范与开发系统的有机结合起来,从用户的角度来看系统首先因该提供便捷的强大的查询功能。对于学校和全体教师而言,他们因该具有对系统各个部分具有各自不同的权限。对学生用户而言,系统因该提供能够查询自己档案的功能。从教务管理者的角度来看,系统因该能够实现即时查询功能,记录学生的档案,以实现对档案的各种操作等功

8、能。还要具有比较高的安全性,用户登录时必须要有密码验证,这样可以保证用户的信息的安全从而使用户的隐私不至于被泄露。总之档案管理系统就是在这种背景下应运而生的。第二章需求分析 2.1 项目开发的目的该系统是一个简单的班级档案管理系统,能够使老师了解到相应的信息。是针对目前的现状,把管理人员从繁忙的数据统计中解脱出来,使其具有更多的精力去从事教务管理政策的研究实施,教学计划的制定执行和教学质量的监督检查,从而全面提高教学质量,同时也减轻任课教师的负担,让其有更多的时间投入到教学和科研中,还有学生档案管理工作的重要性,以及当前的档案管理的现实,为了改善这种情况,使档案管理工作真正的步入高效,健康的轨

9、道从而促使了我们开发了这个系统,以提高档案管理工作的效率和满足用户的基本需求为目的,实现档案管理工作的信息化。2.2 系统概述以广大用户的利益为基础,实现对学生或者其他用户的信息的网络化信息化管理,从而实现档案管理工作的高效率化,班级档案管理系统是以学生的基本信息的保存为载体的管理系统,它有着很大的优越性,是目前市场上同类系统的一个有很强的竞争力的系统,该系统操作简单,每个步骤都有明确的提示,而去容易操作,一般用户对其基本操作的掌握是完全没有问题的,容易操作时该系统的一个亮点。2.3 项目的功能需求1)未开发软件的功能描述 学生档案管理系统必须能够完成系统管理、学生基本信息的录入、学生基本信息

10、的显示、学生基本信息的保存、学生基本信息的删除、学生基本信息的修改、学生基本信息的查询、和退出系统的功功能(1) 系统管理主要是维护系统的正常运行和安全性设置,包括登录用户身份时管理员能够完成添加用户、删除用户、修改密码、查询用户的权限和重新登录等功能,以及针对未涉及到数据库中数据的备份和恢复是能够实现按照学号、学生姓名、学生性别、学生年龄、进行查询。(2) 在修改学生基本信息的时候是有限制的,不是所有的都可以的,在进行学生基本信息的修改时,要进行密码的确认,从而为用户的信息的保护又多了一层。(3) 在完成档案管理的基本操作之后,必须有一个能够安全退出系统的功能,这样也是保证学生基本信息的安全

11、,只有系统安全的退出才不会影响系统的再次运行。2) 系统的模块该系统主要分为下列六个模块:1. 学生基本信息的录入模块2. 学生基本信息的显示模块3. 学生基本信息的保存模块4. 学生基本信息的删除模块5. 学生基本信息的修改模块6. 安全拖出系统模块 2.4 系统开发的流程 1)开发流程的文字描述 (1)首先因该是对你讲要开发的项目进行调研,仔细的考察在这个系统开发的过程中可能会遇到的问题,还要考察你所要开发项目的可行性,这个项目到底能不能实现,在当前的开发环境下是不是有可能将其开发出来,这些都是必须在决定开发这个系统之前应该做好的准备工作。 (2)然后是和用户商榷系统的名称以及一些相关事宜

12、,当然在这个时候还有一个非常重要的事情要做就是考虑是不是有足够的必要现在去开发这个系统,也就是其用户是不是足够的多,市场是在这个系统有很大的需求,还有就是考察该系统在生存空间,也就是说到底有多少人在这个系统的市场上,客户的需求是我们开发这个这个系统的目的和基本动机。 (3)确定要开发项目和明确要开发项目的名称之后,就是到了要为项目的开发做好初期准备工作的时候了,首先要整理相关的资料,至于这一方面我们可以借住现在的互联网和我们学校的图书馆,把我们在开发的过程可能会用到了东西先有序的整理出来这样方便我们在开发的时候用。 (4)把我们要开发的系统划分成几个可以操作的模块,尽可能的把一个整体的问题细化

13、,这样可以一个模块一个模块的把问题逐渐解决掉,尽可能的把每个模块的模块图画出来这样的话可以方便在开发过程中的进一步的完善和按照模块图上的要求进行操作,最终实现我们的开发目的。 (5)在前面的准备工作都做好了之后就因该进行开发系统的源代码根据一个一个模块的分析把源代码写好,当然这是一个比较困难的过程。第三章概要设计3.1程序的模块组成 主函数:void main() 录入函数:void GetInfo () 显示函数 void Display() 保存函数 void Save() 删除函数 void Delete() 修改函数 void Modfiy() 查询函数 void Search() 输

14、出函数:void print()1. GetInfo()是录入函数,主要是录入学生的基本信息。2. Display()是显示函数,就是把学生的基本信息显示在电脑上。3. Save()是保存函数,就是在把学生基本信息的保存下来。4. Delete()是删除函数,把不要的信息删除。5. Modfiy()是修改函数,修改错误的学生基本信息。6. print() 是输出函数 。3.2 班级档案管理系统struct student /学生信息的结构体 char name10; char no10; char sex; int age; char bnote100; 3.3各个程序的功能介绍 主函数:利用

15、无限次循环例如if(;)while()和switch()语句实现各函数的调用,系统根据输入的数字选项来调用相应的函数。 录入函数:用来录入学生的基本信息。显示函数:把录入的学生基本信息直观的显示在桌面上。 保存函数:可以保存学生信息。 删除函数;可以删除学生的错误信息。 修改函数:可以修改旧的信息,需要输入密码。 查询函数; 方便管理员和学生查询。退出函数;: 可以用来退出系统以保证学生信息的安全。3.4系统结构图班 级 档 案 管 理 统学生基本信息录入 - 学生基本信息显示 - 通过学号查询通过姓名查询通过性别查询通过年龄查询退出学生基本信息保存 - 学生基本信息删除 - 学生基本信息修改

16、 - 学生基本信息查询 - 退出学生信息系统 - 第四章模块设计分析4.1 程序的模块组成及函数功能: 主 函 数: void main() 录入函数 : void GetInfo()显示函数: void Display()保存函数: void save()删除函数:void delete()查询函数 void Search()修改函数: void Modify() 菜单函数:void menu_select()录入函数: 随时学生的基本信息菜单函数:显示系统主菜单。 显示函数: 显示所有学生的信息。 查询函数: 方便学生查找自己的基本信息。 删除函数: 删除某学生的信息。 保存函数: 保存好

17、学生基本信息,以免丢失。 4.2 系统的功能模块的划分: 开始 菜单界面 功能选择 初始化函数 录入学生信息 显示学生信息 保存学生信息 删除学生信息 修改学生信息查询学生信息退出系统 结束 整个系统除了主函数外,另外还有14个函数,实现七大功能:录入功能、显示功能、保存功能、删除功能、修改功能、查询功能、退出系统功能。各个函数的详细设计说明分别如下: (1)主函数 main() 利用无限次循环for(;)和swithch()实现各函数的调用,系统根据输入的数字选项来调用相应的函数。 (2)菜单选择函数 int menu_select() 这是一个无参函数,主要实现“功能选择”的界面,在这个界

18、面里有显示系统的九大功能,根据每个功能前面的序号进行选择。等执行完每一个函数功能后,返回菜单。 (3代码设计: 初始化函数 STUDENT *init() 这是一个无参函数,里面只有两个语句,它的作用是使链表初始化,使head的值为NULL和一个清屏语句。比如:没有这个函数的话,在你没有输入任何数据的情况下,去执行显示功能的时候会显示一些乱码! (4)输入记录函数 STUDENT *create() 这是一个无参函数,用来执行学生档案记录的输入,当学生为时停止输入,函数结束后,带回一个链表头的指针指向一下个学生的信息插在表头。 (5)显示记录函数 void print(STUDENT *hea

19、d) 这是一个不返回值的有参函数,形参为“链表头的指针”,负责对全部学生成绩记录的输出,不足之处就是不能对学生成绩进行分页显示。 算法:先将p结点的指针指向第一个结点,将p结点(即第一个结点)的数据输出。然后再将p结点的指针指向p指针的的指针(即下一结点),将p结点(即第一结点)的数据输出。重复执行此步聚直到p指针指向NULL为止。 4.3 总流程图4.4 插入功能流程图第五章测试5.1 部分功能运行图 5.2测试方案及bug分析 测试方案: 通过逐步功能的检测修复与美化,达到一步一步的完善系统。 将编好的源代码放到C语言的运行环境中去运行,通过运行找出其中的错误或者是输入的不规范的地方,加以

20、改正,还有就是试一下程序到底能不能运行,是不是满足课程设计的题目的要求。 把已经整理好的源代码放到C语言的运行环境去调试一下,就是确认这个源程序代是否正确。用运行系统测试源程序代码。 Bug分析:在printf 的调用中存在部分协调问题,预想的显示方案与实际的显示方案有一定的出入,但是不影响程序的整体运行。在没有学生信息的录入情况下显示暂时没有实现显示为空,显示的为随机数据。 测试中的奇葩事件: 同样一段源代码居然在没有改动的前提下编译出现不同的问题。经过询问相关专业人士告知,可能是系统编译的级别不一样导致的。5.3 功能提升接下来准备完善一个密码输入错误次数限制,以解决密码错误自动退出系统的

21、问题;部分功能实现后部分清屏功能;运行界面背景颜色更换功能等。 第六章总结 这次课程设计花了我很多时间,在实践中才意识到自己知识的薄弱性,一个成序反反复复的做了好多遍,有时候老在一个小的地方犯错误,并且由于对知识的熟练程度不够。往往一个小的问题都很难发现,最终经过自己被程序千百回的虐待,终于可以勉强运行了。 在程序的调试中自己不断的修改,其中包括不少次数的无用功,有时候程序弄好了不小心没有保存,几个小时的辛勤劳动就这样白白的牺牲了。有好几次自己都恨不得把电脑拍了,做程序真的是一门艺术活儿。不仅是对知识的掌握,也是对自己的耐心以及细心的培养。期间自己也总结出了一些心得体会:1、要对系统的功能和要

22、求做出详细的分析,并合理分解任务。 2、把分解出来的子任务,做给一个相对独立的模块。 3、在设计一个模块之前,要简单构想一下总界面的显视情况。 4、针对构想出来的界面进行程序的编写。A源程序清单#include #include #include #include #define pp printf #define ss scanf#define N 10/测试数据为10个struct student /设定一个内容为学生信息的结构体 char name10; char no10; char sex; int age; char bnote100;void print(bool menu)/打

23、印基本信息bool,见备注。 if (!menu)/主菜单 pp( t t 【 welcome 班 级 档 案 管 理 统 】n); pp(ttt学生基本信息录入 - n); else pp(ttt学生基本信息显示 - n); pp(ttt学生基本信息保存 - n); pp(ttt学生基本信息删除 - n); pp(ttt学生基本信息修改 - n); pp(ttt学生基本信息查询 - n); pp(ttt退出学生信息系统 - n); pp(请选择:n);bool Check(char pas6)/密码验证 FILE *fp;/文件类型指针型变量 char ch; char a7= ; int

24、i = 0; if (fp=fopen(c:key.txt,r)=NULL) /在C盘中建立文件名为key.txt的文档来存放密码 pp(【打开文件失败!】n); exit(0); ch=fgetc(fp); while (ch!=EOF&i6)/循环控制 ai = ch; ch=fgetc(fp); i+;/自加1 a6 = 0;/正常结束的标志 if (!strcmp(pas,a) return true; else pp(【密码错误!】n); return false; fclose(fp);/关闭文件void GetInfo(struct student *arr,int n)/学生基

25、本信息录入 for (int i = 0;in;i+)/循环控制 pp(【输入学生的基本信息】:n【姓名】 【学号】 【性别】 【年龄】 【备注】n); ss(%s %s %c %d %s,arri.name,arri.no,&arri.sex,&arri.age,arri.bnote); void Display(struct student* arr,int n)/学生基本信息显示 pp(学生信息: nName NO Sex age Noten); for (int i = 0;in;i+)/循环控制 pp(%15s%15s%15c%15d%15sn,arri.name,arri.no,a

26、rri.sex,arri.age,arri.bnote); void Save(struct student* arr,int n)/学生基本信息保存,保存在c:student.txt FILE * fp; fp= fopen(c:student.txt,w+); if (fp = NULL) pp(【文件不存在!】n); exit(0); fwrite(arr,sizeof(struct student)*n,n,fp); fclose(fp);void Modfiy(struct student* arr,int n)/学生基本信息修改 char number10; bool flag=false; char pass6; printf(【请输入密码】:n); ss(%s,pass); if (Check(pass) pp(【修改学生信息】:n); pp(【请输入学号】:n); ss(%s,number); for (int i =0;in;i+) if (!strcmp(number,arri.no) pp(infor: n name no sex age noten); pp(%12s%12s%12c%12d%12sn,arr

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1