c语言教师工资标准管理系统_第1页
c语言教师工资标准管理系统_第2页
c语言教师工资标准管理系统_第3页
c语言教师工资标准管理系统_第4页
c语言教师工资标准管理系统_第5页
已阅读5页,还剩19页未读 继续免费阅读

下载本文档

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

文档简介

C语言程序设计课程设计汇报设计题目:老师工资管理系统班级学号姓名指导老师起止时间-10-26至-12-26设计任务该系统包含老师基础信息,供读者查询。建立一个文件,包含老师信息,包含:老师号、姓名、性别、单位名称、家庭住址、联络电话、基础工资、津贴、生活补助、应发工资、电话费、水电费、房租、所得税、卫生费、公积金等。读者能够输入老师信息、插入老师信息、删除老师信息、浏览老师信息、查询老师信息和修改老师信息。同时读者能够将之前录入老师信息保留下来,然后关闭程序后,再次打开后只需加载老师信息就能够了。愈加方便以后程序。评语(老师填写)目录设计任务 2评语(老师填写) 21.课程设计目标 42.课程设计题目……………….53.功效描述 64.数据结构设计 85.功效模块设计 105.1主控模块设计 105.2输入统计模块 115.3插入统计模块 115.4删除统计模块 126.函数功效描述 136.1保留数据函数save() 136.2查询数据函数query() 136.1修改数据函数edit() 146.1加载数据函数load() 157.运行结果 157.1系统主界面 15 7.2输入老师信息界面………………..16 7.3输出老师信息界面18 7.4插入老师信息界面……………….19 7.5保留和加载老师信息界面………………….…208.个人设计小结和心得体会 21参考文件 221.课程设计目标本程序意在训练基础编程能力,了解管理信息系统开发步骤,熟悉C语言文件和结构数组多种基础操作。本程序包含结构体、数组、指针、文件等方面知识。经过本程序训练,使读者能对C语言文件操作有一个更深刻了解,掌握利用数组存放结构实现老师工资管理系统,为深入开发出高质量信息管理系统打下坚实基础。(1)巩固和加强《C语言程序设计》课程理论知识。(2)掌握C语言基础概念、语法、语义和数据类型使用特点。(3)掌握C语言程序设计方法及编程技巧,能正确使用C语言编写程序。(4)深入了解和利用结构化程设计思想和方法;学会利用步骤图表示算法。(5)掌握调试程序基础方法及上机操作方法。(6)掌握书写程设计开发文档能力,学会撰写课程设计总结汇报。课程设计思想和方法还能够作为毕业论文时参考资料。(7)经过查阅手册和文件资料,培养自己独立分析问题和处理问题能力。为自己做毕业设计打好基础。(8)初步掌握开发一个小型实用系统基础方法:结合实际应用要求,使课程设计既覆盖知识点,又靠近工程实际需要。经过激发学习爱好,调动自己主动学习主动性,并依据实际编程要求,训练自己实际分析问题能力及编程能力,并养成良好编程习惯。(9)培养自己创新能力和创新思维。能够依据指导书和相关文件上参考算法,自己设计出对应应用程序。(10)培养自己良好程序设计风格。在实际编程中,为了提升编程质量,对空行、空格和注释全部有要求。自己在课程设计书写代码时,应该严格按要求处理,方便建立良好程序设计风格。2.课程设计题目老师工资管理系统每个老师信息为:老师号、姓名、性别、单位名称、家庭住址、联络电话、基础工资、津贴、生活补助、应发工资、电话费、水电费、房租、所得税、卫生费、公积金、累计扣款、实发工资。注:应发工资=基础工资+津贴+生活补助;累计扣款=电话费+水电费+房租+所得税+卫生费+公积金;实发工资=应发工资-累计扣款。A、老师信息处理(1)输入老师信息(2)插入(修改)老师信息:(3)删除老师信息:(4)浏览老师信息:提醒:具体功效及操作参考题1。B、老师数据处理:(1)按老师号录入老师基础工资、津贴、生活补助、电话费、水电费、房租、所得税、卫生费、公积金等基础数据。(2)老师实发工资、应发工资、累计扣款计算。提醒:计算规则如题目。(3)老师数据管理提醒:输入老师号,读出并显示该老师信息,输入新数据,将改后信息写入文件(4)老师数据查询:提醒:输入老师号或其它信息,即读出全部数据信息,并显示出来。(5)老师综合信息输出提醒:输出老师信息到屏幕。3.功效描述依据需求描述,本人根据结构化程序设计标准将整个系统划分若干个功效模块。系统各子模块设计以下:主界面主界面选择操作选择操作1——1——输入老师信息2——插入老师信息2——插入老师信息33——删除老师信息老师工资管理系统老师工资管理系统4——浏览老师信息4——浏览老师信息55——录入老师信息6——查询老师信息6——查询老师信息7——修改老师信息7——修改老师信息8——加载老师信息8——加载老师信息结束0——退出系统结束0——退出系统图1老师工资系统功效模块图(1)输入老师信息模块在主菜单中利用结构体teacher,输入老师信息,首先建立链表,将用户输入学生信息存放到链表中,输入完成后提醒用户时候继续输入,假如用户输入“Y”或“y”,则再次调用,实现继续输入学生信息操作。假如用户输入“N”或“n”,则返回主菜单界面。(2)插入老师信息模块在主菜单中调用teacher*insert(),然后根据提醒依次输入老师信息,然后再调用voidprint()函数讲全部老师信息统计打印出来。然后再返回主菜单界面。(3)删除老师信息模块 在主菜单中调用del()函数,以删除老师信息,首先按学号查询老师信息,假如没有找到老师信息,给出提醒信息。假如查找到该老师信息,给出改老师全部信息,假如查找到,则删除该老师信息,给出删除成功提醒信息。然后返回主菜单界面。(4)浏览老师信息模块 在主菜单中调用voidprint()函数来显示老师信息,先判定链表是否为空。假如链表不为空时,逐条显示链表中老师信息,显示调用teacher*next()函数根据老师号大小来显示老师信息。然后返回主菜单界面。(5)保留老师信息模块 在主菜单中调用voidsave()函数来保留老师信息到teacher_list这个文件中。并给出“保留成功”提醒信息。然后返回主菜单界面。(6)查询老师信息模块 在主菜单中选择6时候进行老师信息查询,调用voidquery()函数,按老师号查询信息。提醒用户输入要查找老师号,然后调用voidquery()函数,查找成功,最终打印出老师信息。然后返回主菜单界面。(7)修改老师信息模块 在主菜单中调用voidedit()函数。按老师号查找老师信息,假如找到老师信息,调用voidedit()函数提醒用户输入新老师信息,完成修改操作。操作结束后提醒用户修改成功。然后返回主菜单界面。(8)加载老师信息模块 在主菜单中调用voidload()函数。假如存在teacher_list文件并不为空,打开文件,找到老师信息。假如存在teacher_list文件并为空,给出提醒,“cannotopenfile”。然后返回主菜单界面。(9)退出系统模块 将链表中数据全部释放掉,预防内存泄露。退出系统。4.数据结构设计本程序定义了结构体teacher,关键用于存放图书基础信息,以下所表示:structteacher{ intnum; charname[10]; charsex[10]; charunit[10]; charaddress[10]; longtelnum; floatsalary_1; floatallowance; floatlife_allow; floatsalary_2; floattel_fee; floatwater_fee; floatrent; floattax; floathealth_fee; floatgrant; floattotal_fee; floatactual_salary; structteacher*next; };其中,各字段含义以下 intnum:老师号 charname[10]:老师姓名 charsex[10]:老师性别 charunit[10] :老师单位 charaddress[10]:老师住址 longtelnum:老师电话号码 floatsalary_1:基础工资 floatallowance:津贴 floatlife_allow:生活补助 floatsalary_2:应发工资 floattel_fee:电话费 floatwater_fee:水电费 floatrent:房租 floattax:个人所得税 floathealth_fee:卫生费 floatgrant:公积金 floattotal_fee:累计扣款 floatactual_salary:实发工资 structteacher*next:指向下一个节点指针5.功效模块设计5.1主控模块设计主控函数步骤图图1所表示。首先,调用voidwelcome()子函数和charmainmenu()子函数显示欢迎界面和初始界面;再次,调用main()函数并令ch=mainmenu(),在main()函数中,用switch语句实现该系统各功效,若ch=1,系统实现输入老师信息功效;若ch=2,系统实现插入老师信息功效;若ch=3,系统实现删除老师信息功效;若ch=4,系统实现浏览老师信息功效;若ch=5,系统实现保留老师信息功效;若ch=6,系统实现查询老师信息功效;若ch=7,系统实现修改老师信息功效;若ch=8,系统实现加载老师信息功效;若ch=0,退出系统。(对主控函数进行文字描述)5.2输入统计模块她输入老师信息步骤图以下图。首先要开辟一个新节点,并使p1,p2指向它。读入一个老师数据给p1所指节点。此时要使head=NULL,n=0,而且p1->num!=0。开辟一个新节点,并使P1,p2指向它读入一个老师数据给P1所指结点开辟一个新节点,并使P1,p2指向它读入一个老师数据给P1所指结点Head=NULL&&n=0<当读入p1->num!=o>N=n+1N=1真假Head=p1p2->next=p1把p1所指结点把p1所指结点作为第一结点连接到表尾P2=p1再开辟一个新结点,使p1指向它读入一个老师数据给p1所指结点5.3插入统计模块插入统计模块具体步骤图以下图所表示:P1=head,p0=teacher原来链表是空表是否当p0->num>p1->num和p1所指不是表尾结点P2指向p1位置P1向后移一个结点P0->num<=p1->num将p0所真假指结p1指向头结点点作为是否p1->next=p0唯一head=p0p2->next=p0结点p0->next=p1p0->next=p1p0->next=NULL链表是一个空链表真假P1=head输当num!=p1->num和p1所指结点不是表尾结点P2=p1出P链表是一个空链表真假P1=head输当num!=p1->num和p1所指结点不是表尾结点P2=p1出P1=p1->nextP1是要删除结点是否空p1所指头结点是否输出找不到表head=p2->next=老师信息P1->nextp1->next6.函数功效描述6.1保留数据函数save()函数原型:voidsave()功效描述:将链表teacher中N个数据写入到磁盘文件teacher_list中,假如保留成功,则给出提醒保留成功,不然返回“cannotofenfile”表示无法打开文件,返回“filewriteerror”表示文件输入错误。6.2查询老师信息函数query()函数原型:voidquery(structteacher*p)功效描述:将链表teacher中head指向p,然后让用户输入老师号no,依次在链表中需找p,假如老师号不对,则指针往后面拨动一下,使p=p->next;知道找到相对应正确老师号。然后打印出老师基础信息。函数步骤图图5.2所表示p=headp=headp->num=nop->num!=nop=p->nextp=p->next打印老师信息打印老师信息图5.26.3修改老师信息函数edit()函数原型:voidedit(structteacher*p)功效描述:首先让用户输入期望修改老师老师号a,然后在链表中一条一条查找看p->num是否等于a,假如找到,则让用户再次输入老师具体信息,输入完成跳出,转向主菜单界面。假如没有找到,则令p=p->next。直到查询完全部老师统计。函数步骤图图5.3所表示输入想修改老师信息老师号a输入想修改老师信息老师号ap->num==ap->num==aYesnop=p->next再次输入老师信息p=p->next再次输入老师信息6.4加载老师信息函数load()函数原型:voidload()功效描述:首优异行判定“"teacher_list”是否为空,假如为空,给出提醒,然后将p1,p2定义为动态存放老师统计,并将p1定义为头结点,然后依次一条一条读出。部分代码以下: p1=p2=(structteacher*)malloc(LEN); head=p1; fread(&n,sizeof(n),1,fp); do { if(fread(p1,sizeof(structteacher),1,fp)!=1) { printf("fileerror\n"); gotoend; } if(p1->next!=NULL) { p2=p1; p1=(structteacher*)malloc(LEN); p2->next=p1; } else break; }while(1);7.运行结果7.1系统主界面用户刚进入系统时,图6.1所表示。主菜单界面:图6.1用户依据自己需求输入自己选择。7.2输入界面用户在主菜单界面时候输入1,显示图

温馨提示

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

评论

0/150

提交评论