c语言班级档案管理系统.docx
- 文档编号:3807648
- 上传时间:2023-05-06
- 格式:DOCX
- 页数:28
- 大小:90.87KB
c语言班级档案管理系统.docx
《c语言班级档案管理系统.docx》由会员分享,可在线阅读,更多相关《c语言班级档案管理系统.docx(28页珍藏版)》请在冰点文库上搜索。
c语言班级档案管理系统
郑州工业应用技术学院
课程设计说明书
题目:
班级档案管理系统
******
院(系):
信息工程学院
专业班级:
15级计算机科学与技术三班
学号:
**********
*******
成绩:
时间:
2016年12月5日至2017年1月5日
郑州工业应用技术学院
课程设计任务书
题目班级档案管理系统
专业、班级15计算机科学与技术三班学号**********姓名徐朝胜
主要内容:
1.全面熟悉、掌握C语言基本知识,掌握C程序设计中的顺序、分支、循环三种结构及数组、函数和C语言基本图形编程等方法,把编程和实际结合起来,增强对不同问题的运用和灵活选择合适的数据结构以及算法描述的本领,熟悉编制和调试程序的技巧,掌握分析结果的若干有效方法。
2.进一步提高上机动手能力,培养使用计算机解决实际问题的能力,养成提供文档资料的习惯和规范编程的思想,为以后在专业课程中应用计算机系统解决计算、分析、实验和设计等学习环节打下较扎实的基础。
基本要求:
1.设计正确,方案合理;
2.界面友好,使用方便;
3.程序精炼,结构清晰;
4.设计报告5000字以上,含程序设计说明,用户使用说明,源程序清单及程
序框图。
主要参考资料:
[1]严蔚敏,吴伟民.数据结构(C语言版)[M].北京:
清华大学出版社,2013,4.
[2]苏小红,陈惠鹏.C语言大学实用教程(第2版)[M].北京:
电子工业出版
社,2015.6
[3]苏小红,陈惠鹏.C语言大学实用教程学习指导(第2版)[M].北京:
电子工业出版社,2013.6
完成期限:
2016.12.5-2017.1.5
指导教师签名:
课程负责人签名:
摘要
随着社会信息量的与日俱增和国家的招生规模的不断扩大,学校需要有一个很好的班级档案管理系统,以方便对学生档案进行有效的管理。
系统应具有既方便教师对学生档案的录入和保存还有显示、删除、修改、查询等功能。
班级档案管理系统这个系统名字是在经过与客户商量而确定的,在有极
大的生存空间下而开始开发的,得到了学校与师生们的一致好评。
在诸多管理系统的班级档案管理系统与其他管理系统都是一种基础系统,本系统具有数据操作方便、高效、迅速等优点。
该软件是采用功能强大的数据库软件开发工具进行开发,具有很好的可移植。
同时可通过设置密码来控制其访问权限,确保系统数据的安全性,使用该系统能够既能把管理人员从繁忙的数据统计中解脱出来,使其具有更多的精力去从事教务管理政策的研究实施,教学计划的制定执行和教学质量的监督检查,从而全面提高教学质量,同时也减轻任课教师的负担,让其有更多的时间投入到教学和科研中,其主要的功能是能够便于学校的管理。
班级档案系统是学生的基本信息数据位主的管理,合理的管理该系统的功能得以顺利的实现。
关键字:
班级档案;C语言;方便;高效
第一章概论
1.1班级档案系统的背景
在信息技术已经深入人类工作生活的今天,计算机软件得到了广泛的应用,越来越多的政府和企业将其业务纳入计算机软件系统。
随着社会进步,体育事业的发展,为了提高运动会成绩统计准确,减少设计者们的工作量,开发了本系统。
1.2班级档案系统的任务和目标
系统是一个简单的班级档案管理系统,能够使老师了解到相应的信息。
是针对目前的现状,把管理人员从繁忙的数据统计中解脱出来,使其具有更多的精力去从事教务管理政策的研究实施,教学计划的制定执行和教学质量的监督检查,从而全面提高教学质量,同时也减轻任课教师的负担,让其有更多的时间投入到教学和科研中,还有学生档案管理工作的重要性,以及当前的档案管理的现实,为了改善这种情况,使档案管理工作真正的步入高效,健康的轨道从而促使了我们开发了这个系统,以提高档案管理工作的效率和满足用户的基本需求为目的,实现档案管理工作的信息。
第二章需求分析
2.1项目开发的目的
该系统是一个简单的班级档案管理系统,能够使老师了解到相应的信息。
是针对目前的现状,把管理人员从繁忙的数据统计中解脱出来,使其具有更多的精力去从事教务管理政策的研究实施,教学计划的制定执行和教学质量的监督检查,从而全面提高教学质量,同时也减轻任课教师的负担,让其有更多的时间投入到教学和科研中,还有学生档案管理工作的重要性,以及当前的档案管理的现实,为了改善这种情况,使档案管理工作真正的步入高效,健康的轨道从而促使了我们开发了这个系统,以提高档案管理工作的效率和满足用户的基本需求为目的,实现档案管理工作的信息化。
2.2系统概述
以广大用户的利益为基础,实现对学生或者其他用户的信息的网络化信息化管理,从而实现档案管理工作的高效率化,班级档案管理系统是以学生的基本信息的保存为载体的管理系统,它有着很大的优越性,是目前市场上同类系统的一个有很强的竞争力的系统,该系统操作简单,每个步骤都有明确的提示,而去容易操作,一般用户对其基本操作的掌握是完全没有问题的,容易操作时该系统的一个亮点。
2.3项目的功能需求
1.管理主要是维护系统的正常运行和安全性设置,包括登录用户身份时管理员能够完成添加用户、删除用户、修改密码、查询用户的权限和重新登录等功能,以及针对未涉及到数据库中数据的备份和恢复是能够实现按照学号、学生姓名、学生性别、学生年龄、进行查询。
2.修改学生基本信息的时候是有限制的,不是所有的都可以的,在进行学生基本信息的修改时,要进行密码的确认,从而为用户的信息的保护又多了一层。
3.成档案管理的基本操作之后,必须有一个能够安全退出系统的功能,这样也是保证学生基本信息的安全,只有系统安全的退出才不会影响系统的再次运行。
2.4系统的开发流程
1.首先因该是对你讲要开发的项目进行调研,仔细的考察在这个系统开发的过程中可能会遇到的问题,还要考察你所要开发项目的可行性,这个项目到底能不能实现,在当前的开发环境下是不是有可能将其开发出来,这些都是必须在决定开发这个系统之前应该做好的准备工作。
2.然后是和用户商榷系统的名称以及一些相关事宜,当然在这个时候还
有一个非常重要的事情要做就是考虑是不是有足够的必要现在去开发这个系统,也就是其用户是不是足够的多,市场是在这个系统有很大的需求,还有就是考察该系统在生存空间,也就是说到底有多少人在这个系统的市场上,客户的需求是我们开发这个这个系统的目的和基本动机。
有一个非常重要的事情要做就是考虑是不是有足够的必要现在去开发这个系统,也就是其用户是不是足够的多,市场是在这个系统有很大的需求,还有就是考察该系统在生存空间,也就是说到底有多少人在这个系统的市场上,客户的需求是我们开发这个这个系统的目的和基本动机。
3.确定要开发项目和明确要开发项目的名称之后,就是到了要为项目的开发做好初期准备工作的时候了,首先要整理相关的资料,至于这一方面我们可以借住现在的互联网和我们学校的图书馆,把我们在开发的过程可能会用到了东西先有序的整理出来这样方便我们在开发的时候用。
4.把我们要开发的系统划分成几个可以操作的模块,尽可能的把一个整体的问题细化,这样可以一个模块一个模块的把问题逐渐解决掉,尽可能的把每个模块的模块图画出来这样的话可以方便在开发过程中的进一步的完善和按照模块图上的要求进行操作,最终实现我们的开发目的。
5.在前面的准备工作都做好了之后就因该进行开发系统的源代码根据一个一个模块的分析把源代码写好,当然这是一个比较困难的过程。
2.5系统的性能要求
本系统属于C/S模式构架,本系统的数据库系统比较庞大,数据库空间在100MB左右。
2.6系统的运行要求
系统属于模式软件系统,代码使用Delphi编写,数据库管理系统采用了SQLServer2000数据库管理系统,系统要求在Windows系统下运行。
第三章概要设计
3.1程序的模块组成
主函数:
voidmain()
录入函数:
voidGetInfo()
显示函数voidDisplay()
保存函数voidSave()
删除函数voidDelete()
修改函数voidModfiy()
查询函数voidSearch()
输出函数:
voidprint()
1.GetInfo()是录入函数,主要是录入学生的基本信息。
2.Display()是显示函数,就是把学生的基本信息显示在电脑上。
3.Save()是保存函数,就是在把学生基本信息的保存下来。
4.Delete()是删除函数,把不要的信息删除。
5.Modfiy()是修改函数,修改错误的学生基本信息。
6.print()是输出函数。
3.2班级档案管理系统
structstudent//设定一个内容为学生信息的结构体
{
charname[10];//名字的长度允许最大为十
charno[10];//学号的长度允许最大为十
charsex;
intage;//定义年龄为整型
charbnote[100];//备注的长度为允许最大100
};
3.3各个程序的功能介绍
主函数:
利用无限次循环例如if(;;)while()和switch()语句实现各函数的调用,系统根据输入的数字选项来调用相应的函数。
录入函数:
用来录入学生的基本信息。
显示函数:
把录入的学生基本信息直观的显示在桌面上。
保存函数:
可以保存学生信息。
删除函数;可以删除学生的错误信息。
修改函数:
可以修改旧的信息,需要输入密码。
查询函数;方便管理员和学生查询。
退出函数;:
可以用来退出系统以保证学生信息的安全。
第四章详细设计
4.1程序的模块组成
主函数:
voidmain()
录入函数:
voidGetInfo()
显示函数:
voidDisplay()
保存函数:
voidsave()
删除函数:
voiddelete()
查询函数:
voidSearch()
修改函数:
voidModify()
菜单函数:
voidmenuselect()
4.2各个函数的主要功能
录入函数:
随时学生的基本信息
菜单函数:
显示系统主菜单。
显示函数:
显示所有学生的信息。
查询函数:
方便学生查找自己的基本信息。
删除函数:
删除某学生的信息。
保存函数:
保存好学生基本信息,以免丢失。
4.3系统的功能模块的划分
保存学生信息
删除学生信息
修改学生信息
查询学生信息
退出系统
结束
整个系统除了主函数外,另外还有14个函数,实现七大功能:
录入功能、显示功能、保存功能、删除功能、修改功能、查询功能、退出系统功能。
各个函数的详细设计说明分别如下:
1.主函数main()
利用无限次循环for(;;)和swithch()实现各函数的调用,系统根据输入的数字选项来调用相应的函数。
2.菜单选择函数intmenu_select()
这是一个无参函数,主要实现“功能选择”的界面,在这个界面里有显示系统的九大功能,根据每个功能前面的序号进行选择。
等执行完每一个函数功能后,返回菜单。
3.代码设计:
初始化函数STUDENT*init()
这是一个无参函数,里面只有两个语句,它的作用是使链表初始化,使head的值为NULL和一个清屏语句。
比如:
没有这个函数的话,在你没有输入任何数据的情况下,去执行显示功能的时候会显示一些乱码!
4.输入记录函数STUDENT*create()这是一个无参函数,用来执行学生档案记录的输入,当学生为@时停止输入,函数结束后,带回一个链表头的指针指向一下个学生的信息插在表头。
5.显示记录函数voidprint(STUDENT*head)
这是一个不返回值的有参函数,形参为“链表头的指针”,负责对全部学生成绩记录的输出,不足之处就是不能对学生成绩进行分页显示。
6.算法:
先将p结点的指针指向第一个结点,将p结点(即第一个结点)的数据输出。
然后再将p结点的指针指向p指针的的指针(即下一结点),将p结点(即第一结点)的数据输出。
重复执行此步聚直到p指针指向NULL为止。
第五章测试
5.1存在的问题
在我们编好程序的时候其实还有很多问题的当然这是一个过程,可以说错误基本上是不可避免的,比如说“一些输入的格式问题和由于习惯性的错误而导致的错误等等。
系统调试需要比较扎实的基本功以及充分的细心,c语言中有一些错误并不是直接明了的。
在这个时候就需要我们有耐心慢慢的去找自己的错误,有些错误是由于一些不良操作习惯造成的,而且往往很难发现,因为这类错误都是平时自己不怎么注意的,所以就是产生了也很难查出来,这就要求我们平时养成良好的习惯。
比如花括号的使用,我最开始编写的一个程序有一个错误,但是我就是怎么也查不出来,而且因为操作习惯不好,整个程序毫无层次感,花括号也是成一列排放,没有一一分层对应。
后来实在找不出原因就请教了老师。
指导老师看了之后将我的程序重新排布了一遍,发现有一个花括号前后没有对应。
其实在简单的程序中,花括号缺损可以很快发现,因为会有直白的提醒,但是在较复杂的程序中,一个花括号的缺损也许会造成其他很多错误的产生,如果有良好操作习惯,可以很快发现这个小问题。
所以我觉得,我们的基础应该牢实!
要不然就会犯下很多那种没必要的错误。
可以说是低级失误!
通过系统调试我学会了很多东西。
我们要注重基础,因为我们有时就是因为一个基础知识点没学会,从而产生很多的错误。
5.2测试的方案
1.系统验证技术。
2.系统确认技术。
3.系统测试技术。
1.将编好的源代码放到C语言的运行环境中去运行,通过运行找出其中的错误或者是输入的不规范的地方,加以改正,还有就是试一下程序到底能不能运行,是不是满足课程设计的题目的要求。
2.把已经整理好的源代码放到C语言的运行环境去调试一下,就是确认这个源程序代是否正确。
3.用运行系统测试源程序代码。
第六章使用说明书
按照菜单的提示进行选择。
1表示学生基本信息的录入,先进行信息的录入完成后,按回车键会弹出第二个界面根据界面进行选择;
2表示信息的显示;
3表示信息的保存;
4表示信息的删除。
5表示信息的修改。
6表示信息的查询。
7表示安全退出系统。
当保存好学生的基本信息的是时候你可以通过选择3二保存学生的信息,按4时是删除,删除成功之后会弹出你输入学号?
如果删除成功的话则会说该学生不存在,在按5时会弹出要你输入密码才能修改学生的信息,按6时会弹出一个由四个选项组成的界面有按1学号查询、2按年龄查询、3按性别查询、按姓名查询。
所以只要你根据菜单上的提示操作是不难的。
欢迎使用!
!
输入密码123,进入班级档案管理系统。
输入1进行学生基本信息录入,输入7退出学生信息系统,进入下一步操作界面。
如下图6.1所示:
图6.1
输入1,输入学生的基本信息,输入第一个学生huang05w20weida;再输入2就会显示学生基本信息;输入3就会保存学生基本信息;输入4就会删除学生基本信息;输入5就会修改学生基本信息;输入6就会查询学生基本信息;输入7就会退出学生信息系统。
如下图6.2所示:
图6.2
输入2,学生基本信息显示学生信息:
hua01w10jiji;huang02m11yougan;再输入2就会显示学生基本信息;输入3就会保存学生基本信息;输入4就会删除学生基本信息;输入5就会修改学生基本信息;输入6就会查询学生基本信息;输入7就会退出学生信息系统。
如下图6.3所示:
图6.3
选择6,查询学生基本信息,输入学生学号02,显示学生基本信息:
huang02m11yougan。
再输入2就会显示学生基本信息;输入3就会保存学生基本信息;输入4就会删除学生基本信息;输入5就会修改学生基本信息;输入6就会查询学生基本信息;输入7就会退出学生信息系统。
如下图6.4所示:
图6.4
结束语
通过这次课程设计我学到了许多感觉自己的知识的不够.这次数据库课程设计的“班级档案管理系统”,通过在机房的不断调试和修改其中错误加上验证和测试使得对该系统的运用已经能够已经得到了充分的应用了。
所学的数据库的知识,并去图书馆查阅了一些书集和上网搜索一部分资粗略设计出该系统。
总体上来说,这次课程设计还是比较成功的,充分运用了所学的软工程设计,数据库的设计,设计出E-R图,流程图,数据库基本表,从整体规划出系统的运行环境和系统实现的功能。
当然,由于学艺不精,在课程设计的过程中也碰到的一些问题。
其中,画E-R图时,各实体中的关系的确定,由于对系统还不够了解而找不到一个准确的词来形容;总体规划,材料太多,不易整理;相关数据库技术方面没有多注意,这次课程设计的重点只在对整个系统的总体思路设计。
其实这些通过最近的课程设计觉得最重要一点就是:
我们一定要自己动手,这样才能真正的学到东西。
书本知识固然重要,但我们更要学会将书本知识应用到实际中才会发现错误,也才能改进,才能达到学习的最终目的。
但我出总结出了一点点的经验如下:
1.要对系统的功能和要求做出详细的分析,并合理分解任务。
2.把分解出来的子任务,做给一个相对独立的模块。
3.在设计一个模块之前,要简单构想一下总界面的显视情况。
4.针对构想出来的界面进行程序的编写。
虽然我的课程设计师存在许多的问题,究其原因还是因为自己平时没有认真听老师讲课,但是我还是希望老师能够百忙中抽空看看我的课程设计的报告,我将非常感谢!
参考文献
[1]郭翠英.C语言课程设计案例精编[M].北京:
中国水利水电出版社.2009.3
[2]谭浩强.C语言程序设计[M].北京:
清华大学出版社.2008.12
[3]张翔.C语言函数大全[M].北京:
清华大学出版社.2007.4
[4]浦滨.C游戏编程从入门到精通[M].北京:
北京希望电子出版社.2009.5
[5]陈天洲.C语言高级程序设计[M].北京:
人民邮电出版社.2009.4
[6]杨旭.C语言程序设计案例教程[M].北京:
人民邮电出版社.2011.6
[7]王为青.C语言高级编程及实例剖析[M].北京:
人民邮电出版社.2014.02
[8]徐慧.C语言实例解析精粹[M].北京:
人民邮电出版社.2010.04
[9]姚大鹏,栾好利,张翼英.C语言程序设计教程习题与上机实训指导[M].北京:
中国水利水电出版社.2008.5
[10]王为青.C语言实例解析[M].北京:
人民邮电出版社.2008.02
附录
//****************************************************************************
//****说明:
密码所在的文件位于c盘,文件名为1.txt。
//****学生基本信息最好保存在C盘,文件名为student.txt。
//****************************************************************************
#include
#include
#include
#include
#defineN10//测试数据学生人数为10个
structstudent//设定一个内容为学生信息的结构体
{
charname[10];//名字的长度允许最大为十
charno[10];//学号的长度允许最大为十
charsex;
intage;//定义年龄为整型
charbnote[100];//备注的长度为允许最大100
};
voidprint(boolmenu)//打印基本信息
{
if(!
menu)//主菜单
{printf("\t\t\t(欢迎使用本班级档案管理系统)\t\t\t\t\n");
printf("★*★*★*★*★*★*★*★*★*★欢迎进入我们的系统★*★*★*★*★*★*★*★*★*★\n\n");
printf("学生基本信息录入,press1\n");
}
else
{
printf("学生基本信息显示,press2\n");
printf("学生基本信息保存,press3\n");
printf("学生基本信息删除,press4\n");
printf("学生基本信息修改,press5\n");
printf("学生基本信息查询,press6\n");
}
printf("退出学生信息系统,press7\n");
}
boolCheck(charpas[6])//密码验证
{
FILE*fp;//文件类型指针型变量
charch;
chara[7]={""};
inti=0;
if((fp=fopen("c:
\\1.txt","r"))==NULL)//在C盘中建立文件名为1.txt的文档来存放密码
{
printf("打开文件失败!
\n");
exit(0);
}
ch=fgetc(fp);
while(ch!
=EOF&&i<6)//循环控制
{
a[i]=ch;
ch=fgetc(fp);
i++;//自加1
}
a[6]='\0';//正常结束的标志
if(!
strcmp(pas,a))
{
returntrue;
}
else
{
printf("密码错误\n");
returnfalse;
}
fclose(fp);//关闭一个流,原型是intfclose(FILE*stream)stream为流指针,返回EOF时表示出错。
}
voidGetInfo(structstudent*arr,intn)//学生基本信息录入
{
for(inti=0;i { printf("输入学生的基本信息: namenosexagebnote\n"); scanf("%s%s%c%d%s",arr[i].name,arr[i].no,&arr[i].sex,&arr[i].age,arr[i].bnote); } } voidDisplay(structstudent*arr,intn)//学生基本信息显示 { printf("学生信息: NameNOSexageNote\n"); for(inti=0;i { printf("%15s%15s%15c%15d%15s\n",arr[i].name,arr[i].no,arr[i].sex,arr[i].age,arr[i].bnote); } } voidSave(structstudent*arr,intn)//学生基本信息保存,保存在c: \\student.txt { FILE*fp; fp=fopen("c: \\student.tx
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 班级 档案管理系统