本科毕业设计-教师信息管理系统(c语言-课程设计)_第1页
本科毕业设计-教师信息管理系统(c语言-课程设计)_第2页
本科毕业设计-教师信息管理系统(c语言-课程设计)_第3页
本科毕业设计-教师信息管理系统(c语言-课程设计)_第4页
本科毕业设计-教师信息管理系统(c语言-课程设计)_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

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

文档简介

PAGE1课程设计任务书计算机科学与技术专业2010年级一班陈金利设计题目教师信息管理系统设计主要内容教师信息包括教师号、姓名、性别、年龄、学历、职称、工资、住址、电话等(教师号不重复)。试设计一教师信息管理系统,使之能提供以下功能:(1)系统以菜单方式工作(2)教师信息录入功能--输入(3)教师信息删除功能(4)教师信息浏览功能--输出(5)查询和排序功能:(至少一种查询方式)--算法按教师号查询按职称查询等具体要求围绕课程设计的目的和意义,基本要求如下:1、认真阅读《C语言课程设计》指导书,明确课程设计的目的、意义和要求;2、快速总结C程序设计语言的精髓,如:函数的概念、函数的设计和函数的调用;快速熟悉TuberC或C++的上机环境。能熟练进行高级编辑操作(特别是字块操作);熟悉步进式、断点跟踪的程序调试方法,提高工作效率。4、根据“课程设计题目”,采用结构化的程序设计思想,确定系统的总体设计方案、确"定时间进度。如果是多人共一题,则要首先完成小组内的人员分工及安排,不允许重题现象。5.学习并了解良好的程序设计风格。按质、按量、并按时间完成课程设计的任务。6.提供可运行的课程设计系统,参加上机面试答辩。本次课程设计的重点是:学会设计并编写函数,掌握好各函数之间的调用关系;利用文件操作函数,建立数据库并完成对数据库的各种操作;掌握几种典型算法的应用(如:冒泡法、选择排序法和折半查找法)。同时锻炼学生根据题目进行分析、设计、编码、调试程序和书写必要文档的综合处理能力,从实践中学习并体会程序设计的结构化思想和设计方法。进度安排依照教学计划,课程设计时间为3周。按照软件工程的思想,软件系统的分析设计至关重要,并要充分重视书写“文档”。避免甚至杜绝“拿到题目就编码”的现象。建议将时间分为三个阶段:第一阶段,根据题目要求,拿出系统的总体设计方案:即构思各程序模块的算法,并画出相应的N-S图,同时编写相应的文档;第二阶段,根据N-S图编写程序代码并单独调试,再将调试通过的各个子模块进行集成调试;第三阶段,归纳文档资料,按要求填写在《课程设计说明书》上,并参加答辩。三个阶段时间分配的大概比例是:35:45:20。完成后应上交的材料1.课程设计的题目、系统的总功能和各子模块的功能;2.题目的设计思想(或算法)简述;3.主要程序的框图(要求用N-S图);4.源程序代码(要求在关键的位置有注释,从而增加程序的可读性);5.课程设计的总结报告,主要包括以下内容:(1)课程设计中遇到的主要问题和解决方法;(2)你的创新和得意之处;(3)设计中存在的不足及改进的设想;(4)本次课程设计的感想和心得体会。以上完成的源程序及相关文档,填写在《课程设计说明书》上,要求干净整洁,符合课程设计的要求和规范。总评成绩主函数题目设计思想简述主函数退出系统教师信息排序的函数浏览教师信息的函数删除教师信息的函数查询教师信息的函数录入教师信息的函数菜单栏函数识别口令的函数退出系统教师信息排序的函数浏览教师信息的函数删除教师信息的函数查询教师信息的函数录入教师信息的函数菜单栏函数识别口令的函数如上图所示,该教师信息管理系统主要是一个以动态链表的应用为基础来实现对教师信息的录入,查询,删除等功能。程序的N—S图2.1总程序的N—S图i=0i=0输入口令a当i<3输入口令a当i<3当b<1或b>6Ta=123456?Ta=123456?F假i=i+1退出循环i=i+1退出循环口令3次输入错误,退出系统教师信息录入功能教师信息浏览功能教师信息删除功能Tb=4?FTb=3?FTb=2?FTb=1?F重新输入所要选择的功能b输入所选择的功能bTi=3?F口令3次输入错误,退出系统教师信息录入功能教师信息浏览功能教师信息删除功能Tb=4?FTb=3?FTb=2?FTb=1?F重新输入所要选择的功能b输入所选择的功能bTi=3?F教师信息查询功能Tb=5?F教师信息查询功能Tb=5?F退出系统教师信息排序功能退出系统教师信息排序功能说明:各功能都是通过调用子函数来实现的。2.2各子函数的N—S图子函数主要包括教师信息录入,教师信息浏览,教师信息删除,教师信息查询和教师信息排序等5个。在退出系统时调用了一个保存信息到文件中的函数,该函数只是简单的应用了文件的读写功能,在此不写出其N—S图。2.2.1教师信息录入函数p1=(structteacher*)malloc(LEN)p1=(structteacher*)malloc(LEN)输入一个教师号p1->num输入一个教师号p1->numn=n+1n输入教师的编号,姓名,所在系,工资,课时,T第一个录入?F当教师号不为0p3=p3->nextHead=p1p3->next=p1当p3->next不为空p3=headT链表头为空?FT教师号为0?Fn=n+1n输入教师的编号,姓名,所在系,工资,课时,T第一个录入?F当教师号不为0p3=p3->nextHead=p1p3->next=p1当p3->next不为空p3=headT链表头为空?FT教师号为0?Fhead=p1p2->next=p1head=p1p2->next=p1p2=p1p1=(structteacher*)malloc(LEN)输入一个教师号p1->nump2=p1p1=(structteacher*)malloc(LEN)输入一个教师号p1->nump2->next=NULLp2->next=NULL说明:p1=(structteacher*)malloc(LEN)中LEN是在程序开头的宏定义(#defineLENsizeof(structteacher))。其中n为全局变量,用来统计链表的结点数,以下出现的n都是同一个。2.2.2教师信息浏览函数p=headp=headT链表头为空?FT链表头为空?F直到p为空输出p所指向的位置中的教师的所有信息直到p为空输出p所指向的位置中的教师的所有信息显示“还未录入过信息”p=p->nextp=p->next说明:实际程序中在链表头为空是提供了可以浏览之前保存在文件中的信息的功能,当选择该功能时就调用了一个读取文件的函数。该函数只是对文件读写的简单应用,详细请看后面第三部分代码,这里不写出其N-S图。T链表头为空?F2.2.3教师信息删除的函数T链表头为空?F输出“还未录入过教师信息”当i!=p1->num输出“已录入的教师信息中没有该教师号”Tp1为链表头?Fn=n-1head=p1->nextp2->next=p1->nextTi!=p1->num?F退出循环p1=p1->nextp2=p1Tp1->next为空?Fp1=head输出“还未录入过教师信息”当i!=p1->num输出“已录入的教师信息中没有该教师号”Tp1为链表头?Fn=n-1head=p1->nextp2->next=p1->nextTi!=p1->num?F退出循环p1=p1->nextp2=p1Tp1->next为空?Fp1=head输入要删除教师信息的教师号i2.2.4教师信息查询的函数在查询方面程序为用户提供了4种不同方式的查询,每一种方式的查询为一个子函数,此时也是采用一个菜单栏函数进行选择查询方式并调用该种方式的函数。菜单栏函数跟主程序菜单栏的算法一样,j=0此处只给出查询函数的N—S图。j=0T链表头为空?FT链表头为空?F输出“输出“还未录入程序”并退出函数当p非空时输出“已录入的信息中不存在符合i的信息的教师Tj不为0?Fp=p->nextj=j+1输出p所指向的位置的教师的所有信息Ti跟p中对应信息不等?Fp=head输入要查找的教师信息的对应方法的对应数据i当p非空时输出“已录入的信息中不存在符合i的信息的教师Tj不为0?Fp=p->nextj=j+1输出p所指向的位置的教师的所有信息Ti跟p中对应信息不等?Fp=head输入要查找的教师信息的对应方法的对应数据i说明:该N—S图是对应姓名,教师号,职称,年龄四种查找方式的函数的。当选择教师号查找时,输入i的即为教师号,与i做比较的为p中的教师号,选择其他查找方式时类似。2.2.5教师信息排序函数T链表头不为空?F排序也跟查询一样给出多种排序方式并采用菜单栏函数,此处也只给出排序函数的N—S图。T链表头不为空?Fp2=head->nextp1=headT第二个结点为空?F输出“还未录入过教师信息”并退出函数p2=head->nextp1=headT第二个结点为空?F输出“还未录入过教师信息”并退出函数调用教师信息浏览函数当i小于n时当j小于n-i时p2=p1->nextp1=headp2=p2->nextp1=p2p3=p1p2=p4p3=p2p1->next=p4p2->next=p1p4=p2->nextp3->next=p2head=p2Tp1为链表头?Fp1中的对应信息小过p2的?TFj=0i=1调用教师信息浏览函数当i小于n时当j小于n-

温馨提示

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

评论

0/150

提交评论