c语言教师工资标准管理系统.doc
《c语言教师工资标准管理系统.doc》由会员分享,可在线阅读,更多相关《c语言教师工资标准管理系统.doc(24页珍藏版)》请在咨信网上搜索。
C语言程序设计 课程设计汇报 设计题目:老师工资管理系统 班 级 学 号 姓 名 指导老师 起止时间 -10-26 至 -12-26 设计任务 该系统包含老师基础信息,供读者查询。建立一个文件,包含老师信息,包含:老师号、姓名、性别、单位名称、家庭住址、联络电话、基础工资、津贴、生活补助、应发工资、电话费、水电费、房租、所得税、卫生费、公积金等。读者能够输入老师信息、插入老师信息、删除老师信息、浏览老师信息、查询老师信息和修改老师信息。同时读者能够将之前录入老师信息保留下来,然后关闭程序后,再次打开后只需加载老师信息就能够了。 愈加方便以后程序。 评语(老师填写) 目 录 设计任务 2 评语(老师填写) 2 1.课程设计目标 4 2.课程设计题目……………………………………………………………………………….5 3.功效描述 6 4.数据结构设计 8 5.功效模块设计 10 5.1主控模块设计 10 5.2 输入统计模块 11 5.3 插入统计模块 11 5.4 删除统计模块 12 6.函数功效描述 13 6.1 保留数据函数save() 13 6.2 查询数据函数query() 13 6.1修改数据函数edit() 14 6.1 加载数据函数load() 15 7.运行结果 15 7.1系统主界面 15 7.2 输入老师信息界面………………………………………………………………..16 7.3 输出老师信息界面.................................................................................................18 7.4 插入老师信息界面……………………………………………………………….19 7.5 保留和加载老师信息界面………………………………….…………………....20 8.个人设计小结和心得体会 21 参考文件 22 1.课程设计目标 本程序意在训练基础编程能力,了解管理信息系统开发步骤,熟悉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——输入老师信息 2——插入老师信息 3——删除老师信息 老师工资管理系统 4——浏览老师信息 5——录入老师信息 6——查询老师信息 7——修改老师信息 8——加载老师信息 结 束 0——退出系统 图1老师工资系统功效模块图 (1)输入老师信息模块 在主菜单中利用结构体teacher,输入老师信息,首先建立链表,将用户输入学生信息存放到链表中,输入完成后提醒用户时候继续输入,假如用户输入“Y”或“y”,则再次调用,实现继续输入学生信息操作。假如用户输入“N”或“n”,则返回主菜单界面。 (2)插入老师信息模块 在主菜单中调用teacher *insert(),然后根据提醒依次输入老师信息,然后再调用void print()函数讲全部老师信息统计打印出来。然后再返回主菜单界面。 (3)删除老师信息模块 在主菜单中调用del()函数,以删除老师信息,首先按学号查询老师信息,假如没有找到老师信息,给出提醒信息。假如查找到该老师信息,给出改老师全部信息,假如查找到,则删除该老师信息,给出删除成功提醒信息。然后返回主菜单界面。 (4)浏览老师信息模块 在主菜单中调用void print()函数来显示老师信息,先判定链表是否为空。假如链表不为空时,逐条显示链表中老师信息,显示调用teacher *next()函数根据老师号大小来显示老师信息。然后返回主菜单界面。 (5)保留老师信息模块 在主菜单中调用void save()函数来保留老师信息到teacher_list这个文件中。并给出“保留成功”提醒信息。然后返回主菜单界面。 (6)查询老师信息模块 在主菜单中选择6时候进行老师信息查询,调用void query()函数,按老师号查询信息。提醒用户输入要查找老师号,然后调用void query()函数,查找成功,最终打印出老师信息。然后返回主菜单界面。 (7)修改老师信息模块 在主菜单中调用void edit()函数。按老师号查找老师信息,假如找到老师信息,调用void edit()函数提醒用户输入新老师信息,完成修改操作。操作结束后提醒用户修改成功。然后返回主菜单界面。 (8)加载老师信息模块 在主菜单中调用void load()函数。假如存在teacher_list文件并不为空,打开文件,找到老师信息。假如存在teacher_list文件并为空,给出提醒,“cannot open file”。然后返回主菜单界面。 (9)退出系统模块 将链表中数据全部释放掉,预防内存泄露。退出系统。 4.数据结构设计 本程序定义了结构体 teacher,关键用于存放图书基础信息,以下所表示: struct teacher { int num; char name[10]; char sex[10]; char unit[10]; char address[10]; long telnum; float salary_1; float allowance; float life_allow; float salary_2; float tel_fee; float water_fee; float rent; float tax; float health_fee; float grant; float total_fee; float actual_salary; struct teacher *next; };其中,各字段含义以下 int num :老师号 char name[10] :老师姓名 char sex[10] :老师性别 char unit[10] :老师单位 char address[10] :老师住址 long telnum :老师电话号码 float salary_1 :基础工资 float allowance :津贴 float life_allow :生活补助 float salary_2 :应发工资 float tel_fee :电话费 float water_fee :水电费 float rent :房租 float tax :个人所得税 float health_fee :卫生费 float grant :公积金 float total_fee :累计扣款 float actual_salary :实发工资 struct teacher *next :指向下一个节点指针 5.功效模块设计 5.1主控模块设计 主控函数步骤图图1所表示。首先,调用void welcome()子函数和char mainmenu ()子函数显示欢迎界面和初始界面;再次,调用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所指结点 Head=NULL && n=0 <当读入p1->num!=o> N=n+1 N=1 真 假 Head=p1 p2->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=p0 p2->next=p0 结点 p0->next=p1 p0->next=p1 p0->next=NULL f 链表是一个空链表 真 假 P1=head 输 当num!=p1->num和p1所指结点不是表尾结点 P2=p1 出 P1=p1->next P1是要删除结点 是 否 空 p1所指头结点 是 否 输出找不到 表 head= p2->next= 老师信息 P1->next p1->next 5.4 删除统计模块(具体步骤图图所表示) 6.函数功效描述 6.1 保留数据函数save() 函数原型:void save() 功效描述:将链表teacher中N个数据写入到磁盘文件teacher_list中,假如保留成功,则给出提醒保留成功,不然返回“cannot ofen file”表示无法打开文件,返回“file write error”表示文件输入错误。 6.2 查询老师信息函数query() 函数原型:void query(struct teacher *p) 功效描述:将链表teacher中head指向p,然后让用户输入老师号no,依次在链表中需找p,假如老师号不对,则指针往后面拨动一下,使p=p->next;知道找到相对应正确老师号。然后打印出老师基础信息。 函数步骤图图5.2 所表示 p=head p->num=no p->num!=no p=p->next 打印老师信息 图5.2 6.3 修改老师信息函数edit() 函数原型:void edit(struct teacher *p) 功效描述:首先让用户输入期望修改老师老师号a, 然后在链表中一条一条查找看p->num是否等于a,假如找到,则让用户再次输入老师具体信息,输入完成跳出,转向主菜单界面。假如没有找到,则令p=p->next。直到查询完全部老师统计。 函数步骤图图5.3 所表示 输入想修改老师信息老师号a p->num==a Yes no p=p->next 再次输入老师信息 6.4 加载老师信息函数load() 函数原型:void load() 功效描述:首优异行判定“"teacher_list”是否为空,假如为空,给出提醒,然后将p1,p2定义为动态存放老师统计,并将p1定义为头结点,然后依次一条一条读出。部分代码以下: p1=p2=(struct teacher *)malloc(LEN); head=p1; fread(&n,sizeof(n),1,fp); do { if(fread(p1,sizeof(struct teacher),1,fp)!=1) { printf("file error\n"); goto end; } if(p1->next!=NULL) { p2=p1; p1=(struct teacher *)malloc(LEN); p2->next=p1; } else break; }while(1); 7.运行结果 7.1系统主界面 用户刚进入系统时,图6.1所表示。 主菜单界面: 图6.1 用户依据自己需求输入自己选择。 7.2输入界面 用户在主菜单界面时候输入1,显示图6.2: 图6.2 依次给出需要输入信息,老师号、姓名、性别、单位名称、家庭住址、联络电话、基础工资、津贴、生活补助、电话费、水电费、房租、所得税、卫生费、公积金等。 当公积金输入完成,系统将给出提醒是否想继续输入老师信息,显示图6.2.1假如输入Y或y,则继续输入老师信息;假如输入N或n,则返回到主菜单界面。显示以下图: 7.3输出老师信息界面 假如已经输入老师信息,再在主菜单选择4——浏览老师信息,结果图: 7.4插入老师信息界面 在主菜单中进入2——插入老师信息,然后依次插入老师全部信息,最终打印链表里统计,图: 7.5保留和加载老师信息界面 首先将之前输入进去老师信息进行保留,然后退出系统,再打开系统,将之前老师信息数据全部加载过来。然后浏览老师数据。图所表示: 然后退出系统,再打开系统,加载老师数据。图: 浏览老师数据,检验是否老师数据加载成功。图: 加载成功。 8.个人设计小结和心得体会 连续一个学期课程设计给了我太多感慨,开始从题目上看,感觉题目很大,设计量很大,也很复杂,感觉不是简单就能处理。这么只用重新捡起书继续来看,取得新知识和巩固以前C方面知识。提升自己能力。 整个程序设计是分模块实现具体功效,每个模块分别由不一样函数组成。链表建立实现输入信息功效,相比较于数组愈加方便,更能够节省内存空间等。经过使用文件fread和fwrite函数方便将数据信息写入文件和将文件中信息载入显示段。 经过这个学期课程设计练习和设计我学会了很多,也愈加熟悉C语言程序设计,从中得到了很多乐趣,很愉快,感觉C语言世界里面奇妙无比。即使在途中也碰到很多苦难,不过还是经过问同学和学长处理了。最终看到自己设计程序能够运行起来尤其快乐。 这次程序设计很有意义,也很锻炼人能力,尤其是C语言方面能力,为自己在C语言方面打下基础。 参考文件 【1】 C语言课程设计(第2版),梁旭、谷晓琳、黄明等,电子工业出版社,. 【2】C语言大学实用教程(第2版) ,苏小红、陈惠鹏、孙志岗等,电子工业出版社,. 附件1 程序源代码 源代码见电子档- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 教师工资 标准 管理 系统
咨信网温馨提示:
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【天****】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【天****】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【天****】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【天****】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
关于本文