职工工资管理系统设计带源码.docx
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 职工工资 管理 系统 设计 源码
- 资源描述:
-
课程设计报告 课程名称:职工工资管理系统课程设计 设计题目:带头结点单循环链表职工工资管理系统) 系别:计算机系 专业:信息管理 组 别: 学生姓名:学号: 起止日期:09年11月7日~09年12月20日 指导教师: 第一章 需求分析 1.1 1.2 1.3 1.4 第二章 概要设计 课程设计题目 课程设计任务及要求 课程设计思想 软硬件运行环境及开发工具 2.1设计流程图 2.2主要的数据结构 2.3方法及原理的简要说明 第三章 详细设计 3.1计算机程序框图 3.2自编程序 第四章调试与操作说明 4.1系统调试 4.2操作使用说明 第五章课程设计与总结体会 5.1对开发的过程归纳与总结 5.2在过程中遇到的技术难点与解决方法 5.3程序尚存问题 5.4进一步开发的见解与建议 5.5收获与体会 第六章致谢 第七章参考文献 第八章附录 源码链接 第一章需求分析 1. 课程设计题目 带头结点的单循环链表(职工工资管理系统) 2. 课程设计任务及要求 编写一个职工工资管理系统,可以实现对数据的基本处理,要求用带头结点 的单循环链表实现 3. 课程设计思想 首先完成对程序的密码的确认,其次完成数据录入模块,然后实现对已录入 的数据的存储和读入,最后就可以在其基础建立链表完成其余各项操作 4. 软硬件运行环境及开发工具 Turboc2.0,Windows XP,VC++6.0 第二章概要设计 2.1设计流程图 图1主函数流程图 录入读取建链流程图 建链流程图如图2所示 操作流程图如图3所示 图3操作函数流程图 2.2主要的数据结构 链表结构如图4所示 图4链表结构图 链表的结点结构如表1所示 表1链表的结点结构 Char[20] Char[4] Int Int Int Int 指针 Nam Sex Bam Dem Inm Mon next *姓名 性别 基础工资 扣除工资 补贴工资 实际工资 下一结点 第三章详细设计 3.1计算机程序框图 密码确认部分程序图如表5所示 图5密码确认部分程序图 确认编号是否存在部分程序图如图6所示 图6确认编号是否存在部分程序图 3. 2自编程序 录入模块 void setlink(Link head) { /*建立单链表*/ Link p,q,r; int i=0;int c; int a=1; int b; printf("\n"); p=head; r=head->next; while(a==1) q=(LNode *)malloc(sizeof(struct node)); b=1; while(b==1)/ *编码确认部分*/ { printf("输入编号:\n"); scanf("%d",&q->num); r=head->next; while(r!=NULL&&r!=head&&r->num!=q->num) { r=r->next; } if(r==NULL||r==head) b=0; else { printf("你输入的员工已录入,请重新输入。\n"); b=1; } } printf("输入姓名:\n");scanf("%s",&q->nam); printf("输入性别:");scanf("%s",&q->sex); printf("输入基本工资:\n");scanf("%d",&q->bam); printf("输入补贴工资:\n"); scanf("%d",&q->inm); printf("输入扣除工资:\n");scanf("%d",&q->dem); q->mon=q->bam+q->inm-q->dem; p->next=q;p=q; i++; printf("是否输入另一个数据?\n输入1继续录入,其他键退出"); scanf("%d",&c); getchar(); if(c==1) { q->next=head; continue; } else { q->next=head; break; } } printlink(head); getchar(); meau(head); } 排序模块的部分代码(起泡法) void paixu1(Link head) { Link q,p,t; int m; q=head->next; p=q->next; t=(Link)malloc(sizeof(struct node)); while(q->next!=head) { while(p!=head) { if(q->num>p->num) { t->num=p->num; strcpy(t->nam,p->nam); strcpy(t->sex,p->sex); t->bam=p->bam; t->inm=p->inm;t->dem=p->dem;t->mon=p->mon; p->num=q->num; strcpy(p->nam,q->nam); strcpy(q->sex,q->sex); p->bam=q->bam; p->inm=q->inm;p->dem=q->dem;p->mon=q->mon; q->num=t->num; strcpy(q->nam,t->nam); strcpy(q->sex,t->sex); q->bam=t->bam; q->inm=t->inm;q->dem=t->dem;q->mon=t->mon; } p=p->next; } q=q->next; p=q->next; } printf("排序成功!!!\n"); printf("是否输出数据,输入1输出,其他键退出"); scanf("%d”,&m); if(m==1) {printlink(head); } getchar(); meau(head); } 姓名查找的部分代码 void namesearch(Link head) { char y[20]; char c[20]=""; char b[20]=""; Link p; int t; int a=1; p=head->next; printf("请输入所要查询的姓名:\n"); scanf("%s",&y); t=strlen(y); strncpy(c,y,t); while(p!=head) { strncpy(b,p->nam,t); if(strcmp(c,b)==0) { if(a==1) {printf("编号姓名性别基础工资扣除工资补贴工资实 际工资\n"); a=0; printf("%2d%10s%6s%11d%12d%12d%12d\n",p->num,p->nam,p->sex,p ->bam,p->dem,p->inm,p->mon); } p=p->next; } if(a==1) printf("没有该学生数据。"); getchar(); meau(head); } 第四章调试与操作说明 4.1系统调试 经多次调试修改,程序大体上无错误,可以实现基本要求。 4.2操作使用说明 第一次进系统因无密码文件直接进入界面,请建立新密码。同样因无要处理 的数据第一次请录入链表,并选择是否保存,保存后的下次使用可以直接读入保 存的数据。 再选择相关函数执行相应的操作,按系统给出的提示使用,程序大体上满 足要求,但可以在某些细节还有不完善之处,若带来不便还请原谅。 第五章课程设计与总结体会 5.1对开发的过程归纳与总结 程序的设计调式过程,需要分析总结,画图分析可以相对容易直观的找出错 误。 5.2在过程中遇到的技术难点与解决方法 1因为主函数是以mimaqueren函数开始现再确认是否进入菜单,所以执行 完每个函数默认返回主函数后都会出现确认密码部分,很不方便 解决方法,要在每个功能函数最末加上meau函数,使其不直接返回,而是 跳转到菜单函数。 2与姓名模糊查询有关的函数,总是显示的无数据 查书知是因为char后几位字符不定,循环判定结果一直是无数据,对字符 串初始为空解决。 3数据录入插入模块中对同号的的判定,起初做时用了不少方法,返回不行, 递归不行,测返回也不行,最后想的办法是把输入编号放入循环里,有同号继续 循环,无同号退出继续往下输入。作完后老师讲了更方便的算法,不过没有使用。 4还有一部分错误错的很不应该,如在编写程序时,并没有把参数传进,这 种错误系统并不提示错误位置,浪费不少时间找错纠正。 5最不该的问题,使用▼。读入时总提示内存出错,检查好久找不出错误, 用TC执行却可以,程序不同,结果不同,以后要注意 5.3程序尚存问题 不能实现对读入和保存路径的输入,某些程序虽然可以完成其功能,但并不 是最优化最有效率的算法,界面太粗糙。排序的算法,每一项都是相似的算法, 若用类的知识,倒是能解决,只是在本环境下不能实现。 5.4进一步开发的见解与建议 算法不够优化,界面不很美观,功能不很完善。可以在这些方面完善程序, 在某些功能上还不全面,还有优化提升的空间 5.5收获与体会 通过这次的设计,练习熟悉了 C语言的编译,有更深的体会和了解。对传值 传址更为熟悉,对单链表的相关算法,如键立,插入,删除等也基本掌握,最基 本的单链算法是后期学习的基础,调试程序作分析找错误时,画图细心分析每步 的进程,提高了逻辑能力和思维能力。也经过这次的练习找到自已很多的不足, 好的编程习惯很重要,可以节省不少的调试时间。 对基础的掌握很重要,这样可不不必时时查资料,向同学咨询。计算机编程 要多多练习,这样才可以熟悉,可以加深记忆,提高编程的能力。 在编程的过程中,有时因某些错误难以改正而无奈,可以调试改正好后的成 就感也让人愉悦。 大学的生活很松散,在编程过程中会觉得时间过得很快,专心的做一件事, 也让人充实。 这也是学习计算机的乐趣所在,以后会加深在计算机方面的学习。 设计确实有些辛苦,但苦中也有乐,在如今单一的理论学习中,很少有机会 能有实践的机会,但我们可以,而且设计也是一个团队的任务,一起的工作可以 让我们有说有笑,相互帮助,配合默契,多少人间欢乐在这里洒下,大学里一年 的相处还赶不上这一个月的合作,我感觉我和同学们之间的距离更加近了;我想 说,确实很累,但当我们看到自己所做的成果时,心中也不免产生兴奋;同时我 认为我们的工作是一个团队的工作,团队需要个人,个人也离不开团队,必须发 扬团结协作的精神.在计算机上的工作基本没有一人能完成的,写程序时只有一 个人知道原理是远远不够的,必须让每个合作伙伴都知道,否则一个人的错误, 就有可能导致整个工作失败。团结协作是我们实习成功的一项非常重要的保证。 而这次练习也正好锻炼我们这一点,这也是非常宝贵的。 这也是学习计算机的乐趣所在,以后会加深在计算机方面的学习。通过这次 课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够 的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,从而提高自 己的实际动手能力和独立思考的能力。在设计的过程中遇到问题,可以说得是困 难重重,这毕竟第一次做的,难免会遇到过各种各样的问题,同时在设计的过程 中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢 固。 计算机是门注重实践的学科,要学好计算机必须要多多的实践。这次练习让 我更明白了这点。通过这次课程设计使我懂得了理论与实际相结合是很重要的, 只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论 中得出结论,从而提高自己的实际。 经过这段时间的上机实践学习,使我对c语言有了更进一步的认识和了解, 要想学好它要重在实践,要通过不断的上机操作才能更好地学习它,通过实践, 我也发现我的好多不足之处,首先是自己在指法上还不行,经常按错字母,通过 学习也有所改进;再有对c语言的一些标准库函数不太了解,还有对函数调用的 正确使用不够熟悉,还有对c语言中经常出现的错误也不了解,通过实践,使我 在这几个方面的认识有所提高。 课堂上要讲授许多关于c语言的语法规则,听起来十分枯燥无味,也 不容易记住,死记硬背是不可取的。然而要使用c语言这个工具解决实际问题, 又必须掌握它。通过多次上机练习,对于语法知识有了感性的认识,加深对它的 理解,在理解的基础上就会自然而然地掌握c语言的语法规定。对于一些内容自 己认为在课堂上听懂了,但上机实践中会发现原来理解的偏差,这是由于大部分 学生是初次接触程序设计,缺乏程序设计的实践所致。 学习c语言不能停留在学习它的语法规则,而是利用学到的知识编写c 语言程序,解决实际问题。即把c语言作为工具,描述解决实际问题的步骤,由 计算机帮助我们解题。只有通过上机才能检验自己是否掌握c语言、自己编写的 程序是否能够正确地解题。 一个c语言程序从编辑、编译、连接到运行,都要在一定的外部操作环境下 才能进行。所谓"环境"就是所用的计算机系统硬件、软件条件,只有学会使用这 些环境,才能进行程序开发工作。通过上机实验,熟练地掌握c语言开发环境, 为以后真正编写计算机程序解决实际问题打下基础。同时,在今后遇到其它开发 环境时就会触类旁通,很快掌握新系统的使用。 完成程序的编写,决不意味着万事大吉。你认为万无一失的程序,实际上机 运行时可能不断出现麻烦。如编译程序检测出一大堆错误。有时程序本身不存在 语法错误,也能够顺利运行,但是运行结果显然是错误的。开发环境所提供的编 译系统无法发现这种程序逻辑错误,只能靠自己的上机经验分析判断错误所在。 程序的调试是一个技巧性很强的工作,对于初学者来说,尽快掌握程序调试方法 是非常重要的。有时候一个消耗你几个小时时间的小小错误,调试高手一眼就看 出错误所在。 通过实践的学习,我认到学好计算机要重视实践操作,不仅仅是学习c语言, 还是其它的语言,以及其它的计算机方面的知识都要重在实践,所以后在学习过 程中,我会更加注视实践操作,使自己便好地学好计算机。通过这次为数不多的 几天计算机实践学习,我们了解了一些关于c语言的知识,理解巩固了我们c 语言的理论知识,着对我们将来到社会工作将会有莫大的帮助。同时它让我知道, 只要你努力,任何东西都不会太难。 第六章 致谢 感谢老师的教导,同学的帮助。 第七章参考文献 谭浩强《C程序设计(第三版)》清货华大学出版社 严蔚敏《数据结构(C语言版)》清华大学出版社 第八章 附录 算法图6中,P! =R,比较的是关键字,这里指P->num!=r->num。另图6的算法之外有个判断是否继续输入的循环,这里没有画出。 算法图5的密码确认算法,是初进系统时的算法,不是修改密码的算法。 指导教师评语: 指导教师签名:年月日 成 绩 评 定 项目 权重 成绩 1、设计过程中出勤、学习态度等方面 0.1 2、设计技术水平 0.4 3、编程风格 0.2 4、设计报告书写及图纸规范程度 0.3 总成绩展开阅读全文
咨信网温馨提示:1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:0574-28810668;投诉电话:18658249818。




职工工资管理系统设计带源码.docx



实名认证













自信AI助手
















微信客服
客服QQ
发送邮件
意见反馈



链接地址:https://www.zixin.com.cn/doc/10197354.html