工资综合管理系统优秀课程设计优质报告.doc
《工资综合管理系统优秀课程设计优质报告.doc》由会员分享,可在线阅读,更多相关《工资综合管理系统优秀课程设计优质报告.doc(17页珍藏版)》请在咨信网上搜索。
工资管理系统 课程设计汇报 编写人: 同组组员、 (课程设计责任人) 、 完成日期: 、6、23 教导老师: 批阅日期: 分数: 1 功 能 描 述 本程序关键数据结构是单链表,它由四大模块组成(以下图所表示): 工资管理系统 本程序关键数据结构是单链表,它由五大模块组成(以下图所表示): 工资管理系统 输入统计模块 查询统计模块 更 新 记 录 模 块 输出统计模块 从键盘读入 按编号查询 按姓名查询 插入资料 删除资料 排序资料 输出至屏幕 工资管理系统功效模块图 (1) 输入统计模块:输入统计模块关键完成数据存入单链表工作。在此工资管理系统中提供了从键盘读入。即从键盘一一输入职员信息(包含编号,姓名,性别,年纪,工资等)而且读入过程会显示在屏幕上。 (2) 查询统计模块:查询也提供了两种关键字方法,按编号和按姓名查询。该模块关键工作是在单链表中查找满足关键字职员信息,用户能够选择以中方法进行查询,假如找到返回该职员节点而且打印该职员工资信息,不然返回空指针NULL,并打印没有找到提醒。 (3) 更新统计模块:更新数据包含对职员工资信息删除、插入、和排序(排序是对链表节点修改而不修改职员信息)。删除功效是根本删除掉某职员工资信息,也就是单链表删除操作,在删除某职员同时也要修改她所在部门信息;插入功效是增添以职员工资信息,采取是链表插入操作,在插入同时也修改她所在部门工资信息;排序功效用到是冒泡排序,能够根据工资实发和应发升序排序。 (4) 输出统计模块:输出功效是将全部职员工资信息输出到屏幕中,输出在屏幕上为表格形式,方便读取方便。 2 总 体 设 计 2.1 功效模块设计 1. 主函数main()实施步骤 本系统提供了5个选项供用户选择,先显示目录菜单,提醒用户输入选择。有效值为0到4,输入1则进入键盘输入职员信息功效模块,系统将会循环调用ADD()函数键盘添加职员信息。输入2进入查询统计模块,关键工作是在单链表中查找满足关键字职员信息。输入3进入更新统计模块:更新数据包含对职员工资信息删除、插入、和排序(排序是对链表节点修改而不修改职员信息)。输入4进入输出统计模块:输出功效是将全部职员工资信息输出到屏幕中,输出在屏幕上为表格形式,方便读取方便。输入0退出本系统,操作结束。 main()会循环显示主界面直到输入0。(以下图所表示) 否 是 开始 进入主函数 调用menu()菜单函数进入主界面 进入switch函数 输入[0~6]中一数值,选择对应操作 输入是否为0? 判定键值,调用对应 函数,完成对应功效 结束 主控函数步骤图 2.输入统计模块 输入统计模块关键实现将数据存入单链表中,这部分操作较为简单。从键盘输入,键盘输入则是循环调用Add()函数一一提醒用户输入职员各项信息包含(姓名,编号,性别,年纪,工资等),也同时修改部门信息。这里字符串和数值输入分别采取了函数来实现,在函数中完成输入数据任务,并对数据进行条件判定,直到满足条件判定为止,这么降低了代码反复和冗余,符合模块化程序设计特点。 3.查询统计模块 查询统计模块关键实现了在单链表中按职员姓名和编号查找满足相关条件职员统计。在查询函数Sq()中,调用了Query()函数,依据*name查询信息,结果保留于link指针数组中,避免找到姓名相同职员被覆盖。 4.更新数据模块 更新数据包含插入、删除、排序,前二项用ADU()函数控制,删除调用Del()函数删除满足要求职员信息,该操作需要遍历单链表,时间复杂度为O(n);插入是调用Add()函数 从键盘一一输入职员节点信息,然后插入到链表中时间复杂度为O(1);排序调用Sort()函数采取冒泡排序算法对链表排序,时间复杂度为O(n*n)。 5. 输出信息模块 输出模块屏幕输出,屏幕输出为Display()函数根据TFORM2格式按表格输出全部链表中职员信息。文件输出是Save()函数将信息以TFORM3格式写入C盘data.txt中,以方便下次读取。 3 数据结构体设计 1、工资信息结构体 typedef struct //--------------职员工资信息结构体; { char gonghao[100]; //------------工人工号; char name[100]; //------------工人姓名; char bumen[1000]; //------------工人部门; int phone[100]; //------------工人基础工资; char addr[100]; //------------工人特殊津贴; }datatype; 2、单链表node结构体 typedef struct node{ datatype data; struct node * next; }listnode; 4 程 序 实 现 1、 源代码分析 ⑴程序预处理 #include<stdio.h> //---------------标准输入输出头文件 ; #include <stdlib.h> //---------------开辟空间头文件; #include <string.h> //---------------字符串处理函数头文件; typedef struct //--------------职员工资信息结构体; { char gonghao[100]; //------------工人工号; char name[100]; //------------工人姓名; char bumen[1000]; //------------工人部门; int phone[100]; //------------工人基础工资; char addr[100]; //------------工人特殊津贴; }datatype; typedef struct node{ datatype data; struct node * next; }listnode; typedef listnode * linklist; linklist head; //----------定义一全局变量 head 计链表头指针; listnode *p; //----------定义一全局变量 p ; int count=0; //----------定义一全局变量 count 统计工人总数; ⑵主函数main() void main() //主函数 { int hh,uu; while(1) { system(" color D"); //--------颜色调用; menu(); printf( " :请输入你选择:\n "); scanf("%d",&hh) switch(hh) { case 1: system(" color F"); //--------颜色调用; head=createlist(); system("pause");//--------系统暂停调用; system("cls"); break; case 2: system(" color 2"); //--------颜色调用; printf(" ******************** 信息添加 *******************\n"); printf(" ** 工号 姓名 部门 基础工资 特殊津贴 **\n"); printf(" *************************************************\n"); p=(listnode *)malloc(sizeof(listnode)); scanf("%s%s%s%d%s",p->data.gonghao,p->data.name,p->data.bumen,p->data.phone,p->data.addr); insertnode(head,p); count+=1; printf(" 工人总数为 %d \n",count); system("pause"); //--------系统暂停调用; system("cls"); break; case 3: system(" color 3"); //--------颜色调用; printf(" ************** 信息查询 ***********\n"); p=listfind(head); if(p!=NULL){ printf("工号 姓名 部门 基础工资 特殊津贴\n"); printf(" -------------------------------------\n"); printf(" %s %s %s %d %s\n",p->data.gonghao,p->data.name,p->data.bumen,*(p->data.phone),p->data.addr); printf(" -------------------------------------\n"); } else printf(" 没有找到 ! \n"); system("pause"); //--------系统暂停调用; system("cls"); break; case 4: system(" color 6"); //--------颜色调用; delnode(head); system("pause"); //--------系统暂停调用; system("cls"); break; case 5: system(" color 8"); //--------颜色调用; sort_worker( head); printf(" 排序完成 !\n"); system("pause"); //--------系统暂停调用; system("cls"); break; case 6: system(" color A"); //--------颜色调用; printlist(head); system("pause"); //--------系统暂停调用; system("cls"); break; default: system(" color B"); //--------颜色调用; printf("\t 对不起,请输入指定功效,谢谢!\n"); system("pause"); //--------系统暂停调用; system("cls"); break; } printf("\n 是否退出,是->1,否->0 \n");//--------是否退出程序,进行判定; scanf("%d",&uu); system("pause"); //--------系统暂停调用; system("cls"); if(uu==1) {xx(); system(" color C"); //--------颜色调用; system("pause"); //--------系统暂停调用; system("cls"); break; } else ; } } ⑶主菜单界面 void menu() //------------------菜单函数; { printf(" \n"); printf(" \n"); printf(" \n"); printf(" 工资管理系统 \n"); printf(" \n"); printf(" ========================\n"); printf(" ==1. 工资管理系统建立 ==\n"); printf(" ==2. 新员 工 插入 ==\n"); printf(" ==3. 职员 信息 查询 ==\n"); printf(" ==4. 职员 信息 删除 ==\n"); printf(" ==5. 职员 工资 排序 ==\n"); printf(" ==6. 职员 信息 输出 ==\n"); printf(" ========================\n"); } 5 运 行 结 果 1、主界面 2、 工资管理系统建立 3、 新 员 工 插 入 4、 职员 信息 查询 5、职员 信息 删除 6、职员 工资 排序 7、 职员 信息 输出 6设 计 小 结 1、人员分工 马晓红:输入函数、插入函数。 王 秀:排序函数、查找函数。 胡燕秀:删除函数、输出函数。 主函数、菜单函数、结束函数:马晓红、王 秀、胡燕秀。 2、小结 优点:(1)该程序没有错误、没有警告,结构严谨。 (2)该程序设计内容较全方面,操作方便。 不足:(1)输入太多个信息时,屏幕不能一页一页显示。 (2)没有设计修改类函数,所以若想修改某职员信息只能优异行删除然后再重新插入,比较繁琐。- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 工资 综合 管理 系统 优秀 课程设计 优质 报告
咨信网温馨提示:
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【a199****6536】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【a199****6536】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【a199****6536】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【a199****6536】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
关于本文