欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    课程设计工资管理系统设计.doc

    • 资源ID:35207159       资源大小:63.50KB        全文页数:12页
    • 资源格式: DOC        下载积分:15金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要15金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    课程设计工资管理系统设计.doc

    高级语言程序设计课程设计设计题目:工资管理系统设计目录1设计任务12正文需求分析1系统模块图1模块说明1用户使用说明2测试结果33设计小结44参考文献55附录(源程序)6设计任务做一个工资管理系统,要能按照姓名和卡号查找员工的工资信息,以及员工工资信息的插入,删除。同时这些信息要存储在TXT文件中还要可以按照一定顺序输出所有员工工资的信息分析工资信息存放在文件中,提供文件的输入、输出等操作;要实现浏览功能,提供显示、排序操作;而查询功能要求实现查找操作;另外还应该提供键盘式选择菜单以实现功能选择。 系统模块图2、总体设计:整个系统可以分为信息输入、信息添加、信息浏览、信息排序、信息查询和信息统计模块。 3、详细设计 工资信息采用结构体数组: struct mygz /*m每月工资*/ int yuefen; float yfgz; float sf; float df; float sj; float sfgz;struct worker /*工人信息*/ int kahao; char xingming20; struct mygz m12; float zsfgz;模块说明(1)主函数提供输入、处理和输出部分的函数调用,各功能模块采用菜单方式选择。 (2)输入模块 按照工资卡号、姓名、月份、应发工资、水费、电费的顺序输入信息。 (3)添加模块 增加新的职工工资信息, 从键盘输入并逐条写到原来的输入文件中, 采用追加而不是覆 盖的方式。 (4)浏览模块 通过菜单选择按照工资卡号还是姓名浏览。 如果按照卡号浏览, 则显示的记录按照卡号 升序输出;按照姓名浏览则按照字典序输出(调用排序模块的排序功能)。 (5)排序模块 排序模块提供菜单选择,实现按照工资卡号升序、实发工资降序以及姓名字典序排序。排序方法可以选择冒泡排序、插入排序、选择排序等。 (6)查询模块 实现按照工资卡号和姓名的查询,采用基本的查找方法即可。职工工资管理系统查询个人工资情况录入工资信息删除职工记录浏览员工工资信息个人工资排序情况退出系统用户使用说明启动后屏幕上显示下面菜单 1查询个人工资情况2录入工资信息3删除个人工资情况4浏览员工工资信息5个人工资排序情况6退出系统如果你要执行某一功能,就按下该功能所对应的数字即可。查询个人工资情况:在主菜单中输入1 则进入查询子菜单界面,。系统会提示你选择菜单。输入1后则进入按姓名查询职工信息,此时系统会自动提示你输入要查询的职工姓名。输入职工号后会出现该职工的信息。输入错误职工号,要求重新输入;输入2后则进入按卡号查询职工信息,此时系统会自动提示你输入要查询的职工卡号。输入0则返回主菜单录入工资信息:在主菜单中输入2则系统会进入新界面并自动提示你输入建立的月份,输入完成后按回车键系统会逐一提示输入 卡号,如没有记录,根据提示按1 新建,系统会逐一提示出入 姓名,工资,水费,电费,输入完成后会继续提示输入下一个职工的职工号。删除个人工资情况:在主菜单中输入3系统界面是删除菜单。系统会提示你选择(0-1)。输入1则按职工号删除记录,系统会自动提示你输入要删除的职工信息,进入新界面后系统会提示你删除前该职工的卡号。输入错误职工号,显示没有该职工号的职工一个记录已经删除了时系统会提示删除后的职工信息。根据菜单提示,输入1继续删除,输入2则返回主菜单。浏览员工工资信息:在主菜单中输入4系统界面是输出菜单界面,按照输入格式:职工号、 姓名 、性别 、年龄、 工资,逐个的输出职工的信息,输出所有职工信息后系统自动退出。个人工资排序情况:在主菜单中输入5系统界面是统计菜单界面,输入工资数,显示大于该工资的职工的所有信息。关闭文件。退出系统:在使用各个功能后输入6则返回主菜单。在主菜单中输入6则退出系统。测试结果浏览界面排序界面设计小结通过这段时间的实习, 我收获颇多。这次实习是真正意义上的将所学知识运用到实际中去。我进一步理解和运用了结构化程序的思想和方法,初步掌握了开发一个小型实用系统的基本方法,学会了调试一个较长程序的基本方法,学会利用流程图表示算法,进一步掌握和提高了利用C语言进行程序设计的能力.具备了一定的编程能力. 接到C语言课程设计的作业我十分高兴,终于学到的东西可以运用了。在老师的指导和大家的共同努力下,我们终于完成了程序的大体编制。程序中包括主函数、输入模块、查询模块、修改模块、删除模块、统计模块、输出模块、追加模块。其中在输入模块中指针文件运用的比较好,因为指针是C的一个特色,它能有效的表示复杂的数据结构,动态的分配内存,方便的使用字符串、数组,可谓是C的精华。在程序设计中我们最大的收获就是:我们真正从实践的角度体会到了C语言在实际生活中的作用,也深刻体会到了它带来的方便快捷。不但使我们对C语言有更进一步的巩固和认识还使我们懂得了团队协作的重要!让我们将一年所学的C语言知识学为所用,让我们感觉到了它的神奇魅力。美中不足的就是:由于我们知识的不足以及条件的限制,本系统还有许多漏洞与不足,希望老师给以批评与帮助,我们会积极改正。而且本程序还处于初级阶段的职工工资管理功能中,只实现了对职工工资的录入、删除、修改、查询、统计、显示等简单功能,功能较简单,不一定在实际中有大的用途,程序编排中可能有烦琐之处有待进一步简化。参考文献姜灵芝 著.C语言课程设计案例精编.清华大学出版社,2008C语言程序设计教程第3版 谭浩强百度文库百度贴吧:C语言吧附录(源程序)显示一系列功能选项输入n,判断n是否是06根据n的值调用各功能模块函数#include<stdio.h>#include<string.h>#include<stdlib.h>#define N 100struct mygz /*m每月工资*/ int yuefen; float yfgz; float sf; float df; float sj; float sfgz;struct worker /*工人信息*/ int kahao; char xingming20; struct mygz m12; float zsfgz;int sm;struct worker aN;float shuijin(float m)/_个人所得税_*/float shui1,shui2; float tmp;shui1=0;shui2=0;if(m>=4500) shui1=(m-4500)*0.1; shui2=50;else if(m>=3500 && m<4500) shui2=(m-3500)*0.05;tmp=shui1+shui2;return(tmp);float shifazsfgz(float a,float b,float c,float d) float e=a-b-c-d; return(e);/*_读取模块_*/void duqu() FILE *fp; if(fp=fopen("D:工资信息.txt","r")=NULL) printf("无法读取文件"); ;return; while(!feof(fp) fread(&asm,sizeof(struct worker),1,fp); sm+;/*_排序模块_*/排序按照卡号或姓名升序排列按照实发工资降序排列快速排序法选择其他排序或返回冒泡排序法选择其他排序或返回typedef struct worker stu; sortbykahao(const void *,const void *); sortbyxingming(const void *,const void *); void paixu() int i; int choice; int (*p)(const void * ,const void *); printf("choice_1: 按卡号排序n"); printf("choice_2: 按姓名排序n"); printf("choice_3: 按工资排序n"); printf("choice_4: 返回主菜单n"); scanf("%d",&choice); while(choice!=0) if(choice=1) p=sortbykahao; if(choice=2) p=sortbyxingming; if(choice=3) int j;floattemp; for(j=0;j<sm-2;j+)for(i=0;i<=sm-j-i;i+)if(ai.zsfgz>ai+1.zsfgz)temp=ai.zsfgz;ai.zsfgz=ai+1.zsfgz;ai+1.zsfgz=temp;for(i=0;i<=sm-1;i+)printf("%10f %-10d %-20s n",ai.zsfgz,ai.kahao,ai.xingming); if(choice=4) return; qsort(a,sm,sizeof(stu),p); if(choice=1) for(i=0;i<sm;i+) printf("n%dt%st%d",ai.kahao,ai.xingming,ai.zsfgz); if(choice=2) for(i=0;i<sm;i+) printf("n%st%dt%d",ai.xingming,ai.kahao,ai.zsfgz); printf("n"); scanf("%d",&choice); sortbykahao(const void *p,const void *q) stu *x,*y; x=(stu*)p; y=(stu*)q; return (*x).kahao-(*y).kahao); sortbyxingming(const void *p,const void *q) stu *x,*y; x=(stu*)p; y=(stu*)q; return strcmp(*x).xingming,(*y).xingming); /*_查询模块_*/查找模块卡号查找姓名查找void chaxun() int b,i,j;输出按姓名查询·输入b结束判断b是否是1到2 按卡号查询开始 system("cls"); label_3: b=0; while(b!=1&&b!=2) printf("1,选择姓名查询.n2,选择卡号查询.n"); scanf("%d",&b); if(b=1) char c20; printf("请输入您的姓名:n"); scanf("%s",c); i=0; while(!(strcmp(ai.xingming,c)=0)&&i<sm) i+; if(i=sm) printf("您查找的名字不存在,请正确输入您的名字或用卡号查询n"); return; printf("%-10d %-20s n",ai.kahao,ai.xingming); for(j=0;ai.mj.yuefen!=NULL;j+) printf("月份:%5d,应发工资:%10.2f,水费:%7.2f,电费:%7.2f,税金:%7.2f,实发工资:%10.2f.n", ai.mj.yuefen,ai.mj.yfgz,ai.mj.sf,ai.mj.df,ai.mj.sj,ai.mj.sfgz); printf("总实发工资:%10fn",ai.zsfgz); b=0; while(b!=1&&b!=2) printf("1,继续查询.n2,返回主菜单.n"); scanf("%d",&b); if(b=1) goto label_3; else ;return; else int d=0; while(!(d>=10001&&d<=32767) printf("请输入您的卡号(五位数字),例如:10001n"); scanf("%d",&d); i=0; while(ai.kahao!=d&&i<sm) i+; if(i=sm) printf("您查找的名字不存在,请正确输入您的名字或用卡号查询n"); return; printf("%-10d %-20s n",d,ai.xingming); for(j=0;ai.mj.yuefen!=NULL;j+) printf("月份:%5d,应发工资:%10.2f,水费:%7.2f,电费:%7.2f,税金:%7.2f,实发工资:%10.2f.n", ai.mj.yuefen,ai.mj.yfgz,ai.mj.sf,ai.mj.df,ai.mj.sj,ai.mj.sfgz); printf("总实发工资:%10fn",ai.zsfgz); b=0; while(b!=1&&b!=2) printf("1,继续查询.n2,返回主菜单.n"); scanf("%d",&b); if(b=1) goto label_3; else ;return; /*_浏览模块_*/void liulan() struct worker x; int c; float d; int i,j,k; system("cls"); for(i=0;i<sm;i+) c=ai.kahao; k=i; for(j=i+1;j<sm;j+) if(c>aj.kahao) c=aj.kahao; k=j; x=ai; ai=ak; ak=x; for(i=0;i<sm;i+) printf("%-10d %-20s n",ai.kahao,ai.xingming); for(j=0;ai.mj.yuefen!=NULL;j+) printf("月份:%5d,应发工资:%10.2f,水费:%7.2f,电费:%7.2f,税金:%7.2f,实发工资:%10.2f.n", ai.mj.yuefen,ai.mj.yfgz,ai.mj.sf,ai.mj.df,ai.mj.sj,ai.mj.sfgz); printf("总实发工资:%10fn",ai.zsfgz); for(i=0;i<40;i+) printf("n"); for(i=0;i<sm;i+) d=ai.zsfgz; k=i; for(j=i+1;j<sm;j+) if(d<aj.zsfgz) d=aj.zsfgz; k=j; x=ai; ai=ak; ak=x; for(i=0;i<sm;i+) printf("%-20s %-10d n",ai.xingming,ai.kahao); for(j=0;ai.mj.yuefen!=NULL;j+) printf("月份:%5d,应发工资:%10.2f,水费:%7.2f,电费:%7.2f,税金:%7.2f,实发工资:%10.2f.n", ai.mj.yuefen,ai.mj.yfgz,ai.mj.sf,ai.mj.df,ai.mj.sj,ai.mj.sfgz); printf("总实发工资:%10fn",ai.zsfgz);/*_删除模块_*/void shanchu() FILE *fp; int b,c,i,j; system("cls"); label_4: printf("请输入要删除信息的卡号:n"); scanf("%d",&b); for(i=0;i<sm;i+) if(ai.kahao=b) j=i; for(i=j+1;i<sm;i+) ai-1=ai; sm-; fp=fopen("D:工资信息.txt","w"); for(i=0;i<sm;i+) fwrite(&ai,sizeof(struct worker),1,fp); fclose(fp); c=0; while(c!=1&&c!=2) printf("1.继续删除n2 返回主菜单n"); scanf("%d",&c); if(c=1) goto label_4; else return; /*_录入模块_*/void luru() FILE *fp; int k,i,j,b,c,d; system("cls"); if(fp=fopen("D:工资信息.txt","w")=NULL) printf("无法找到目标文件n"); return; label_1: b=0; while(!(b>=1&&b<=12) printf("请您输入您要建立的月份n"); scanf("%d",&b); b=b-1; d=0; while(!(d>=10001&&d<=32767) printf("请输入您要录入工资的卡号(五位数字),例如:10001n"); scanf("%d",&d); for(i=0;i<sm&&ai.kahao!=d;i+); if(ai.kahao!=d) c=0; while(c!=1&&c!=2) printf("没有该卡号记录.n1 新建n2 返回上一级n"); scanf("%d",&c); if(c=2) goto label_1; if(c=1) ai.kahao=d; printf("请输入姓名:n"); scanf("%s",ai.xingming); printf("请输入此人该月的应发工资,水费,电费(空格分开):n"); scanf("%f%f%f",&ai.mb.yfgz,&ai.mb.sf,&ai.mb.df); ai.mb.yuefen=b+1; ai.mb.sj=shuijin(ai.mb.yfgz); ai.mb.sfgz=shifazsfgz(ai.mb.yfgz,ai.mb.sf,ai.mb.df,ai.mb.sj); ai.zsfgz=0; for(k=0;k<12;k+) ai.zsfgz+=ai.mk.sfgz; sm+; c=0; while(c!=1 && c!=2) printf("1 继续n2 返回主菜单n"); scanf("%d",&c); if(c=1) goto label_1; if(c=2) goto label_2; else if(ai.mb.yuefen=b+1) c=0; while(c!=1 && c!=2) printf("已有该月记录n1 覆盖原有记录n2 返回上级n"); scanf("%d",&c); if(c=1) printf("请输入此人该月的应发工资,水费,电费:n"); scanf("%d%d%d",&ai.mb.yfgz,&ai.mb.sf,&ai.mb.df); ai.mb.sj=shuijin(ai.mb.yfgz); ai.mb.sfgz=shifazsfgz(ai.mb.yfgz,ai.mb.sf,ai.mb.df,ai.mb.sj); ai.zsfgz=0; for(k=0;k<12;k+) ai.zsfgz+=ai.mk.sfgz; while(c!=1 && c!=2) printf("1 继续n2 返回主菜单n"); scanf("%d",&c); if(c=1) goto label_1; if(c=2) goto label_2; else goto label_1; if(ai.mb.yuefen=NULL) ai.mb.yuefen=b+1; printf("请输入此人该月的应发工资:n"); scanf("%f",&ai.mb.yfgz); printf("请输入此人该月所用水费:n"); scanf("%f",&ai.mb.sf); printf("请输入此人该月所用电费n"); scanf("%f",&ai.mb.df); ai.mb.sj=shuijin(ai.mb.yfgz); ai.mb.sfgz=shifazsfgz(ai.mb.yfgz,ai.mb.sf,ai.mb.df,ai.mb.sj); ai.zsfgz=0; for(k=0;k<12;k+) ai.zsfgz+=ai.mk.sfgz; c=0; while(c!=1 && c!=2) printf("1 继续n2 返主主菜单n"); scanf("%d",&c); if(c=1) goto label_1; if(c=2) goto label_2; c=0; while(c!=1 && c!=2) printf("1 继续n2返回主菜单n"); scanf("%d",&c); if(c=1) goto label_1; if(c=2) goto label_2; label_2: fp=fopen("D:工资信息.txt","r+"); for(j=0;j<sm;j+); fwrite(&ai,sizeof(struct worker),1,fp); fclose(fp); /*_主函数_*/void main() int a=0; duqu();while(a!=6) printf("/*欢迎使用*/n"); printf("/* 请按菜单选项进行选择 */n"); printf("/* 1.查询个人工资情况 */n"); printf("/* 2.录入工资信息 */n"); printf("/* 3.删除个人工资信息 */n"); printf("/* 4.浏览员工工资信息 */n"); printf("/* 5.个人工资排序信息 */n");printf("/* 6.退出工资管理系统 */n"); printf("/*_ _ _*/n"); scanf("%d",&a); switch(a) case 1:chaxun();break; case 2:luru();break; case 3:shanchu();break; case 4:liulan();break; case 5:paixu();break; default :break;

    注意事项

    本文(课程设计工资管理系统设计.doc)为本站会员(叶***)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开