您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 管理学资料 > 学生档案管理系统c语言课程设计
1目录一、课题设计内容与主要功能.................................................1第1节.设计内容..........................................................................1第2节.主要功能..........................................................................1二、课题分析..............................................错误!未定义书签。第1节.类声明表...........................................错误!未定义书签。第2节.分析课程设计项目的实现方法.............................3三、主要功能的实现步骤.........................................................4四、程序测试与结论.................................................................5五、总结....................................................................................11六、附件142一、课题设计内容与主要功能1、设计内容:为了满足学生档案管理的要求,通过计算机技术给档案管理人员带来便利。使用c语言编写了学生档案此管理系统。本系统主要实现学生档案管理的功能,通过此系统方便对学生档案管理。包括学号、姓名、性别、年龄、备注。所设计的系统以菜单方式工作,为用户提供清晰的使用提示,依据用户的选择来进行各种处理。图书信息的录入后,系统按照有一定的规范格式显示,录入的学生信息用文件形式保存,并可以对其进行修改、排序、插入、排序查询等基本操作。整个程序实现链表操作,对学生信息的操作逐个地进行。学生档案管理系统构建框架学1.学生基本信息录入生2.学生基本信息显示档3.学生基本信息保存案4.学生基本信息修改按姓名修改管5.学生基本信息插入按姓名插入理6.学生基本信息删除按姓名删除系7.学生基本信息排序统8.学生基本信息按姓名查询按姓名查询9.从文件中读入学生基本信息10.退出系统2、主要功能:1、本系统采用一个包含N个数据的结构体数组,每个数据的结构应当包括:学号、姓名、性别、年龄、备注。2、本系统显示这样的菜单:3请选择系统功能项:1.学生基本信息录入;2.学生基本信息显示;3.学生基本信息保存;4.学生基本信息修改;5.学生基本信息插入;6.学生基本信息删除;7.学生基本信息排序;8.学生基本信息按姓名查询;9.从文件中读入学生基本信息;10.退出系统3、执行一个具体的功能之后,程序将重新显示菜单。4、将学生基本信息保存到文件中。二、课题分析1、类说明表2、实现方法及核心算法实现代码:主函数:voidmain()录入函数:voidenter()显示函数:voidlist()保存函数:voidsave()插入函数:insert()修改函数:voidrevise()删除函数:voiddelete()删除录入的学生信息排序函数:voidsort()排序录入的学生信息查找函数:voidqseek()查找录入的学生信息读取函数:intload()读取保存在文件中的学生信息名称属性说明name数据成员说明学生姓名no数据成员说明学生学号sex数据成员说明学生性别age数据成员说明学生年龄remark数据成员说明学生备注4三、主要功能的实现步骤模块一:头文件,变量定义,函数的声明对系统所使用的变量进行定义,对函数进行声明模块二:学生信息的录入intenter(STUDENTt[])录入学生的基本信息。模块三:学生信息的显示voidlist(STUDENTt[],intn)就是把学生的基本信息显示在电脑上。模块四:学生信息的保存voidsave(STUDENTt[],intn)就是在把学生基本信息的保存下来。模块五:学生信息的修改voidrevise(STUDENTt[],intn)插入学生信息。模块六:学生信息的插入intinsert(STUDENTt[],intn)修改已经录入的学生信息模块七:学生信息的删除intdelete(STUDENTt[],intn)删除录入的学生信息模块八:学生信息的排序voidsort(STUDENTt[],intn)排序录入的学生信息模块九:学生信息按姓名查找voidqseek(TSTUDENTt[],intn)查找录入的学生信息模块十:学生信息的读入intload(STUDENTt[])读取保存在文件中的学生信息模块十一:退出系统5四、程序测试与结论进入系统输入学生信息显示信息6保存信息修改信息7修改成功插入信息8显示插入成功删除信息9排序信息查询信息10读入信息(附加)总结:总的来说这个程序大致实现了题目的要求,但是这套程序仍然存在着很多的问题与不足。比如,程序中主函数写的有点繁琐,有太多的嵌套,不是那么井然有序,条理清晰,程序注释也不是很完善,对信息处理功能还有些不足之处,提示信息不明确。还有一点就是没有做到实现分类查找,分别按照姓名、学号、年龄、性别、备注等进行查找。这个系统主要是参照老师的模版编写的,同时也得到了老师和同学的一些帮助。我在做系统的过程中也遇到了很多问题,有的是知识不足,有的是考虑不够周全。事实证明,只靠自己的知识面还是很窄,独立处理问题能力不是很强,以后还要加强对c语言的学习。我认为对于C语言编写的程序来说,使用方法大致都是一样的,所以如果要改进的话,就是要改进一些算法,尽量把界面编写清楚,提示信息全面,方便易用。11五、课程设计总结C语言这学期我们开始的一门新课,早就听说上届学哥学姐说C语言是“天书”,是我们这学期最难的学科之一了。早听说这些我就怕了。首先我感到非常遗憾,课程设计的第一天,我还在家里,因为收到的消息比较迟所以未能及时赶到学校,也至于第一天最重要的内容没有学到,在接下来的两天上机时间也未能赶上大家的进度,自己也觉得自己做不出这个程序。没有用心的学。更加愚蠢的是我在答辩的时候拷贝了同学的部分程序,自己没能真正的了解这个程序。答辩的时候,欧阳老师简单的问了我几个问题就发现我没有用心学,严厉批评了我,也认识到了我的错误。当看到其他同学都是A,只有包括我在内的少数几个一同学得B,我感到心情有些沉闷,同时更加坚定了我要自己做好这个《学生档案管理系统》程序的决心。自己也想到了,就算课程设计被我投机取巧完成了,但是省二、国二呢,最终自己还是要好好学的。自己没有掌握C语言,又有什么意义呢!当我自己真正的研究这个程序的时候我感觉有点蒙了,我感觉我自己没有这个能力做好,所以我想找学长帮我,这样我就不用怕了,可是后来我想到省二、国二,我放弃了这个想法,什么还是靠自己。一边懊悔自己平时没有好好学习,一边开始硬着头皮上阵了。第三天下午和晚上我都泡在图书馆里,到晚上将近10点才回寝,感觉自己还是很蒙,不过也有收获,就是我知道我要做这个模块要定位函数,要用到链表。这让我信心若狂,我感觉我已经找到了起点,有个好的开始我相信我就能做好。晚上回到宿舍后我也不敢再耽误时间去玩手机了,急忙去看关于函数、链表的书,第四天看了一天之后我感觉原来计算机也不是什么“天书”啊,只是我们没有好好去看它,去领悟它。我心中暗想,这次程序设计我很有收获,它让我对计算机、对C语言产生了兴趣,让我发现原来这样有实践的学习能让人产生很大的兴趣,能让人更好的领悟它。我自己研究这个程序将近两天,看了许多资料,着手进一步改善这个程序了,困难的时候又来了,我不知道用什么语句去完成查找。最好If语句找到后,链表来行使删除功能,可好似链表那个真的好难,在同学们的帮助下我终于把那个链表完成,在运行、检查、修改后,终于合格,程序运行成功了。在完成自己的程序设计后,自豪的感觉充满了我的内心,是啊,我不是很笨,我只是没有用心,经过这次设计后,在学习方面我对自己有了信心,如果我用心去学,我努力去做,没有我做不到的。突然间我很喜欢这戏C语言实训,在这一周,有欢笑,有焦急,有开心也有不开心,12不过不管什么我都还算开心得度过了这一周,和同学们一起研究、一起做程序、一起检查、一起讨论对与错。在程序完成的那一时刻,我很开心的笑了,因为那是我付出了汗水做的程序,那时我的心血!这次实训对我来说也是一次教训,让我再次深刻地明白什么事情都要靠自己,自己的事情要自己做且要做好。这次实训也让我对学习,对C语言计算机都产生了更浓厚的兴趣,也让同学们有了更好的团队协作精神,也让我感觉在大学学习很好。感谢老师让我们有了这次机会来体验编程的快乐,感谢老师不厌其烦的讲解。也让我们有机会感受大学的美好时光。纺工1291彭旺2013年6月28日13六、附件/*学生基本信息管理系统*//******头文件(.h)***********/#includestdio.h/*I/O函数*/#includestdlib.h/*标准库函数*/#includestring.h/*字符串函数*/#defineM50/*定义常数表示记录数*/typedefstruct/*定义教师基本信息数据结构*/{charname[20];/*学生姓名*/charno[20];/*编号*/charsex[20];/*性别*/intage;/*年龄*/charremark[20];/*备注*/}STUDENT;/******以下是函数原型*******/intenter(STUDENTt[]);/*输入记录*/voidlist(STUDENTt[],intn);/*显示记录*/voidsave(STUDENTt[],intn);/*记录保存为文件*/intfind(STUDENTt[],intn,char*s)/*查找函数*/;voidprint(STUDENTtemp);/*显示单条记录*/voidrevise(STUDENTt[],intn);/*修改记录*/intinsert(STUDENTt[],intn);/*插入记录*/intdelete(STUDENTt[],intn)/*删除记录*/;intload(STUDENTt[]);/*从文件中读记录*/voidsort(STUDENTt[],intn);/*按姓名排序*/voidqseek(STUDENTt[],intn);/*快速查找记录*/intmenu_select();/*主菜单函数*/14main(){STUDENTstudent[M];/*定义结构体数组*/intlength;/*保存记录长度*/for(;;)/*无限循环*/{switch(menu_select())/*调用主菜单函数,返回值整数作开关语句的条件*/{case1:length=enter(student);break;/*输入记录*/case2:list(student,length);break;/*显示全部记录*/case3:save(student,length);break;/*保存文件*/case4:revise(student,length);break;/*修改记录*/case5:length=insert(student,length);break;/*插入记录*/case6:length=delete(student,length);break;/*删除记录*/case7:sort(student,length);break;/*按姓名排序*/case8:qseek(student,length);break;/*快速查找记录*/case9:length=load(student);break;/*读文件*/case10:exit(0);/*如返回值为10则程序结束*/}}}/*
本文标题:学生档案管理系统c语言课程设计
链接地址:https://www.777doc.com/doc-5608356 .html