092教师信息管理系统C语言课程设计{W}_第1页
092教师信息管理系统C语言课程设计{W}_第2页
092教师信息管理系统C语言课程设计{W}_第3页
092教师信息管理系统C语言课程设计{W}_第4页
092教师信息管理系统C语言课程设计{W}_第5页
免费预览已结束,剩余29页可下载查看

下载本文档

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

文档简介

1、课程设计任务书计算机科学与技术专业年级班一、设计题目教师信息管理系统设计二、主要内容教师信息包括教师号、姓名、性别、年龄、学历、职称、工资、住址、电话等(教师号不重复)。试设计一教师信息管理系统,使之能提供以下功能:()系统以菜单方式工作()教师信息录入功能输入()教师信息删除功能()教师信息浏览功能输出()查询和排序功能:(至少一种查询方式)一一算法按教师号查询按职称查询等三、具体要求围绕课程设计的追求和意义,基本要求如下:、认真阅读语言课程设计指导书,明确课程设计的追求、意义和要求。、快速汇总报告程序设计语言的精髓,如:函数的概念、函数的设计和函数的调用。3、快速熟悉或的上机环境。能熟练进

2、行高级编辑制作(特别是字块制作)。熟悉步进式、断点跟踪的程序调试方法,提高工作效率。、根据“课程设计题目”,采用结构化的程序设计思想,确定系统的总体设计技术指导文件、确定进度进度。如果是多人共一题,则要第一步完成小组内的人员分工及安排,不允许重题现象。.学习并了解良好的程序设计风格。按质、按量、并按进度完成课程设计的任务。.提供可运行的课程设计系统,参加上机面试答辩。本次课程设计的重点是:学会设计并编写函数,掌握好各函数之间的调用关系。利用文件制作函数,建立数据库并完成对数据库的各种制作。掌握几种典型算法的应用(如:冒泡法、选择排序法和折半查找法)。同时锻炼学生根据题目进行分析、设计、编码、调

3、试程序和书写必要文档的综合处理能力,从实践中学习并思想到程序设计的结构化思想和设计方法。四、进度安排依照教学计划,课程设计进度为周。按照软件工程的思想,软件系统的分析设计至关重要,并要十足重视书写“文档”。避免甚至杜绝“拿到题目就编码”的现象。建议将进度分为三个阶段:第一阶段,根据题目要求,拿出系统的总体设计技术指导文件:即构思各程序模块的算法,并画出相应的图,同时编写相应的文档。第二阶段,根据图编写程序代码并单独调试,再将调试通过的各个子模块进行集成调试。第三阶段,归纳文档资料,按要求填写在课程设计技术指导文件上,并参加答辩。三个阶段进度分配的大概比例是:。五、完成后应上交的材料.课程设计的

4、题目、系统的总功能和各子模块的功能。题追求设计思想(或算法)简述。.主要程序的框图(要求用图)。源程序代码(要求在关键的位置有注释,从而增加程序的可读性)。.课程设计的汇总报告报告,主要包括以下内容:()课程设计中遇到的主要问题和解决方法。()你的创新和得意之处。()设计中存在的不足及改进的设想。()本次课程设计的感想和心得思想到。以上完成的源程序及相关文档,填写在课程设计技术指导文件上,要求干净整洁,符合课程设计的要求和规范。六、总评成绩指导教师签名日期年月日系主任审核日期年月目录一.题目设计思想简述二.程序的一图总程序的一图各子函数的一图教师信息录入函数教师信息浏览函数教师信息删除函数教师

5、信息查询函数教师信息排序函数三.源程序代码四.程序运行效果图登陆桌面菜单栏录入功能浏览功能删除功能查询功能排序功能五.汇总报告报告课程设计中遇到的主要问题和解决方法你的创新和得意之处设计中存在的不足及改进的设想本次课程设计的感想和心得思想到一.题目设计思想简述如上图所示, 该教师信息管理系统主要是一个以动态链表的应用为基础来实现对教师信息的录入,查询,删除等功能。定义教师结构体如下:教师号口姓名口性别年龄口学历口职称工资口;地址口电话*;*;主函数只进行口令函数和菜单栏函数的调用,主要工作通过菜单函数实现。口令为。菜单栏函数通过用语句实现不同功能的选择,不同的功能用不同的子函数实现。录入教师信

6、息通过建立动态单链表来实现。浏览教师信息则通过将链表所有数据顺序输出来实现。查询功能只要从链表头开始不断往下一个结点读取信息跟所要查找的信息比较,直到读取到的信息跟所要查找的信息相同或链表尾为止,并把此结点的信息输出。删除教师信息的函数是通过查找链表中有该信息的结点后将该结点移出链表, 即使该结点前一个结点直接指向该结点后面的结点来达到删除信息的追求。排序函数是通过交换结点在链表中的位置来实现的,即使得各结点在链表中的位置便是所要得到的排序该信息应在的位置,这样直接顺序输出链表的信息时就能按所要的排序输出了。二.程序的一图总程序的一图对重新输入所要选择的功能退出系统心除明:各功能都是逃过调用子

7、各子函数的一件子函数主要包括教师信息教师信息查询和教师信息排序等个。在退出系统时调用了一个保存信息到文件中的函数,该函数只是简单的应用了文件的读写功能,在此不写出其一图。说明: 实际序中在链表头为空是提供了可以浏览之前保存在文件中的信息的功能,当选择该功能时就调用了一个读取文件的函数。该函数只是对文件读写的简单应用,详细请看后面第三部分代码,这里不写出其图。教师信息删除的函数息查询的函数输入要删除教师信息的教师号方面程序为用户提供了种不同方式的查询,名中一种方式的询妁 T 杳子函数g匕时也是米用一个菜单栏函数进行选择查询方式匚 给 出查-方式白&m询函娄循环JU注为”输出“还膈R仄旭录

8、用退出函数y铤表头?说明:谦希SW&1;阿白岫找方式的数的。当选搠娜号查找时,输入的即为教师号,与做比较的为中教叱F9其他查找方式时类似。排序也跟查作厂样给匕H制制枷忤息此处也出排序函数的一图。,连表头为空?查并处给/软出“还未录入过教师信息”并退出函数,是用来记录结点的,当选用的排序方式不同,说明:第.叩信息中不存在符合的信息的教师叩信息中不存在符合的信息的教师I目、O用耒比较的信息运方式的优三.源程序代码()宏定义结构体字节数;定义结构体教师号姓名口性别年龄口学历职称工资口地址口电话*指向下一个结点*;()口令检查的函数;()()此处数据有误);();();()从文件读出数据的函数

9、口;* * 口;请输入存有教师信息的文件名:”);();(,)无法打开文件);();()*将位置指针从文件末尾后退一个结构体的字节数*()*从所指向的文件中读出数据存储到结构体变量中*()将位置指针移到文件的开头(口()*判断文件开头读入的数据是否为空*存有的教师信息如下:);(口)进行循环读取文件(教师号,姓名,性别,年龄,学历,“叩);(职称月薪,住址,电话);J()*从文件中读入数据存储到结构体变量口中*输出文件中的最后一个信息(教师号,姓名性别,年龄,学历,皿皿);(职称月薪住址,电话叩);();(该文件中无教师信息)文件为空时输出此处()录入教师信息的函数*;,;(*)()*申请一个

10、结构体字节数的空间用来存储一个教师的信(请输入一位教师的教师号(结束录入请输入):”);();()判断用户是要结束录入还是要存储信息()*判断链表是否为空,是则将链表头指向*链表不为空则将链表尾指向用来记录链表的尾部()*若不是链表尾则将指向下一个结点*;将最后一个结点指向()判断用户是否结束录入功能录入该教师号的教师对应的信息(姓名:);();();(年龄:);();(学历:);();(“职称:);();(月薪:);();(住址:);();(电话:);();给统计录入的教师数加一*判断是否为第一个录入的信息,是则将链表头指向,否则将指向*();用来记录链表的最后一个结点(*)()重新申请空间

11、(请输入一位教师的教师号(结束录入请输入):);();将最后一个结点指向空(性别:);()输出教师信息的函数*;()判断链表是否为空这位教师的信息为:);(教师号,姓名,性别,年龄,学历,职称);(月薪,住址,电话);将下一个结点的首地址赋给()到链表尾时结束循环链表为空时执行以下部分你此次登录系统还没有录入教师信息,可进行以下制作:);(:【浏览以前保存在文件中的教师信息】:【开始录入教师信息);(:【退出系【返回菜单】);(请选择:);();()(选择无效,请重新输入正确选项:);();()()调用从文件读取数据的函数()()调用录入信息的函数()()退出系统()删除教师信息的函数*;,;

12、()判断链表是否为空还未录入过教师信息)链表为空时输出;(请输入要删除教师信息的教师号:);();()直到指向的结点是要删除的信息位置()的下个结点为空则退出循环用来记录的前一个结点指向下一个结点()判断是否为要删除的信息()*若为头结点则将头指针指向的下一个结点*非头结点则将后面的结点连接到前一个结点的后面*已删除教师号为的教师信息);记录教师数的要减一不是要删除的信息则表示要删除的信息不再链表中已录入的教师信息中没有教师号为的);()按教师号进行排序的函数*;,;()还未录入过教师信息);()判断是否只有一个信息用冒泡法排序记录用来比较的两个结点中的前面一个记录比较的两个结点中的后面个()

13、实现趟比较的外循环()*比较相邻两个结点中教师号大小*当的教师号大时则对调两个结点的位置();*为头结点时则将头指针指向,否则就将连接到用来记录前一个结点的的后面*用来记录后面的结点的结点换到原来的位置原来后面的结点连接到记录下的位置指向原来位置的下一个结点*中教师号没有打过中教师号,则将,都指向它们各自位置的下一个结点*记录后移一位后它前个结点的位置;指向链表头,开始下一趟外循环的准备指向链表第二个结点按教师号排序后的教师信息如下:);()调用教师信息浏览函数()按月薪排序的函数,算法跟按教师号排序的一样*;,;()还未录入过教师信息);();()()();按月薪排序后的教师信息如下:);(

14、);()按年龄排序的函数,算法跟按教师号排序的一样()J(还未录入过教师信息);)()(;()()();J;按年龄排序后的教师信息如下:);();()选择排序方式的函数;(排序方式);(:【按教师号排序】:【按年龄排序);(:【按月薪排序);(请选择:);();()(选择无效,请重新输入正确选项:);();()();();();()按教师号查找的函数*;存储用户输入的想要删除的教师号()还未录入过教师信息);(请输入要查找的教师信息的教师号:);();()顺序指向结点与比较,找出有的数据的结点并输出()(教师号,姓名,性别,年龄,学历,职称);(月薪,住址,电话);(已录入的教师信息中不存在该

15、教师号);()按姓名查找的函数*;口记录用户输入的想要删除的姓名用来记录找到了多少个信息()还未录入过教师信息);(请输入要查找的信息的教师姓名:);();()()比较指向的结点中的姓名跟的是否一致,是则输出(教师号,姓名,性别,年龄,学历,职称);(月薪,住址,电话);每输出一个教师的信息则加一()(已录入的教师信息中不存在该姓名的教师);()按职称查找的函数,算法与按姓名查找的一样*;口;;()还未录入过教师信息);(请输入要查找的信息的教师职称:);();()()(教师号,姓名,性别,年龄,学历,职称);(月薪,住址,电话);()(已录入的教师信息中不存在该职称的教师);()按年龄查找的

16、函数,算法与按教师号查找的一样*J()还未录入过教师信息);(请输入要查找的信息的教师年龄:);();()()(教师号,姓名,性别,年龄,学历,职称);(月薪,住址,电话);J()(已录入的教师信息中不存在该年龄的教师);()选择查找方式的函数;(查询方式);(:【按教师号查询】:【按姓名查询);(:【按职称查询】:【按年龄查询);(请选择:);();()(选择无效,请重新输入正确选项:);();()();();();();()菜单栏函数;(菜单);(:【教师信息录入】:【教师信息输出】);(:【教师信息删除】:【查询我信息】);(:【排序】:【退出系统);(请选择:”);();()(选择无效

17、,请重新输入正确选项:);();()();();();();();();();()主函数();();四.程序运行效果图登陆桌面-工:瘫中课程 2cH2cH0 0i141343rJ.exe141343rJ.exe请输入口令还可输入3次:菜单栏“EA,源程序课程的5pwhugU010314124召各一.甘陶,入口令还可输入3次):123456123456欢迎选人系统录入功能出息99师询出教杳退m mJTJJTJ.,自口师师序4aJJSJmrn4aJJSJmrnrLFLrLFL.E:噩程中快程没i共觉决bug2010n4124猿势.,exe34234233234富输入一位教师的教师号工结束录入请输入

18、1”rLrLH H出息息人统师询出薯退246246H H息人统师溜出攀退m mF软;高级教师342342332m4删除功能,EA源程序浜写没iT,5,Ekbug2Q10314124f.ereU U出自山ii息人统师询出翻查退m m菜单3:碟师信息删:【狷】请选择:3清输入要删除教师信息的教师号11出息霜息人S S师询出量退m m菜单已删除教师号为3的教师信息U U出息8181息人统负-M 师询出警退LrLLrL24 4U U询询U U心息人统师响出薯退) ).exe.1-8菜u u录删自心自心土豆一曰1 1师师-z-zI I- -ATJJ1-ATJJ1查询功能-溟程序偎程没讨aDdbug2tn

19、O314124除舒H H人除录删息息一=皆-1 1盟序询查询:!1351355 5口选主月号查师称教职将通(L(L743743话-JTT-JTT-口1-1-神国区震自拐中厂师金量住io-io-L-L-&?3&?30TJTJTJTJ人师师序一,要:7:7薪择八号月选其主皇目毂1 1T TmHmH-至:选请排序功能五.汇总报告报告课程设计中遇到的主要问题和解决方法在这次的语言课程设计的编程中,由于以前对链表和文件这两部分的内容了解过少,因此在编程中涉及到这两方面的内容时,照成了很大的阻碍,最主要是在对链表的结点进行交换,对文件某些特殊的读写不清楚。而且由于第一次接触这类比较复杂一点

20、的题目,在循环方面的应用有所不足,这也是一个问题。在遇到这些问题时,对于每一个问题在实在无思路时,我第一步会查阅相关的书籍,像文件中末尾读起的方法,在通过查看语言的书后我才知道原来有专门的库函数可以用。在查阅完书籍确定该了解的基本内容已了解之后,自己再重新思考算法,然后不断的在中调试,根据它的提示修正不对,直到编译无错且运行的结果正确为止。你的创新和得意之处这个教师信息管理系统不仅按要求可以让用户自己选择要实现录排序方式2:【按年龄排序】丁别年L-r-L-r-划:3:3薪:?薪白犬统师询出S2424t t本4343研已研3434单历2222历1818历3434票“子最强子1313二二4 4I

21、I3 3舌3g g?.?.:二一圾;LSLS一U U人除原删自 5mi=史=G1=G1师师序rLFLrLFL月口浮号月币币d.d. .luxlux区蠡性建广IL;IL;, , ! 所天址全好MuMu名eeee名皿谭5050姓例135135息 人 统 师询出罂退FLFL;:1;:1息1111人除录删息息= =erer一hlhl师师IHU-IHU-入,浏览,查找,删除,排序中的任一种功能,而且在退出系统时为用户提供能是否要保存该次的信息到文件中的选择。且在浏览中当检查到用户该次登录还未录入过信息时,提供了是否要查看以前保存的文件的功能。设计中存在的不足及改进的设想在设计过程中,由于对语言的理解不够透彻,特别是链表和文件方面边查书边调试才写出来的,所以导致程序在一定程度上的不严密,例如浏览其他文件的信息只有在检测到该次登录还未录入过信息时才会提供用户选择之类的。当然,最主要的原因是由于第一次接触这种较复杂点的题目

温馨提示

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

评论

0/150

提交评论