




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、课程设计服务课程名称:C语言系:能源与动力工程专业:热能与动力工程班级:集控本112学号:01姓名:薛小可指导教师:许薇薇、范彬课程设计周次:15周起始日期:2012.6.4至201268目录C语言课程设计成绩评定表1C语言课程设计任务书2程序设计思路3程序基本框架结构图4系统运行界面截图5源代码清单7课程设计总结17C语言课程设计成绩评定表班级集控本112学号01姓名薛小可项目组第五组项目组长李振华项目组组员于丙洋李振国安宁薛小可本人工作简介:在这一周的课设实训中,我主要负责的是职工工资管理系统程序中的排序部分,结合平时所学的c语言知识和老师、同学、教材的帮助,比较圆满的完成了自己的任务。通
2、过这一周的努力设计,使我对C语言有了更深刻的认识。组长评语:该组员积极参加分配任务,遵守老师的要求,态度认真,爱思考,能独立完成分配的所属任务,并且与其他组员多次进行共同调试,最终使程序运行起来。成绩评定标准ABcDE理论基础很好好比较好一般不好报告完成情况很好好比较好一般不好纪律表现很好好比较好一般不好程序创意很好好比较好一般不好所选模块完成情况很好好一般较差不好所选算法难易程度复杂比较复杂一般简单很简单程序可操作性很好好一般较差不好答辩表现很好好一般较差不好最后成绩优秀A>=5B<=3C<=0D=0良好A>=3B<=4C<=1D=0中等A>=1B&
3、gt;=20=4D<=1及格A=0B=0C<=4D>=4不及格A=0B=0C=0D<=4负责指导教师:(签名)指导教师:(签名)集控本112c语言课程设计任务书一、设计目的通过本次课程设计使学生进一步加深对c语言课程内容的理解,初步掌握一般应用程序的开发方法和步骤,进一步了解与掌握c语言的编程方法和技巧,提高学生用C语言解决实际问题的能力。二、设计要求1、认真查阅参考书、资料3、按时上机,认真调试程序三、课设报告装订内容及顺序1、课程设计封皮3、课程设计成绩评定表5、程序基本框架图7、源代码清单四、设计题目职工工资管理系统五、时间安排(一周:从五月1、查阅资料及程序设计
4、(1天)3、成绩评定(0.5天)六、参考文献2、遵守课程设计时间安排4、认真完成课程设计报告2、目录4、课程设计任务书6、程序设计说明书8、课设总结与心得L日到6月8日)2、程序编制及调试(3天)3、打印报告(0.5天)1、C语言程序设计李淑华/李贞编大连理工大学出版社2、C语言程序设计孙连科/姚大鹏编辽海出版社3、C+时尚编程百例网冠科技编.机械工业出版社4、TURBOC实用大全徐金梧等编.机械工业出版社程序设计思路在这次课设中,我的任务是编写职工工资管理系统的排序职工工资信息这块。“心我而思路是:首先,添加#include“stdio.h”等头文件使其正常运行。定义结构体变量structp
5、eople,里面用数组存放职工的各种信息。如charnum20,charname9,floatjbgz,floatgwgz,floatgxkkhj,floatsfgZo接着定义一个排序函数,定义文件指针structpeople*p_people指向之前定义的结构体变量,即structpeople*p_people=STUo还定义了实型的总数inttotals,inti,int用于标记有要排序的职工在文件中的位置。然后编写排序的职工姓名,工号.这里用了if语句while循环以及打开文件的fopen函数和在磁盘文件中读取块数据的fread函数。然后将结构体STU送给ppeople,用输出函数输出“
6、请输入排序职工的方法”.最后用fclose函数关闭文件,显示排序成功的信息。在这个程序中运用了文件指针,结构体变量,for循环,while循环if语句,其中文件这块涉及很多,包含了fread函数,fopen函数,fclose函数,fwrite函数等等。整个程序除了主函数外,再加菜单函数int(),显示函数void(),查询函数void,排序函数,修改函数。既而实现了录入、显示、追加、查询、修改、排序儿大功能。程序基本框架结构系统运行界面截请选择欢迎访I可职工工资管理系统oT*C:Prox«FileaVlicr«so£Sludici7Pxojecta77TTDeLu
7、C777T.exe*-|n|x编号姓名基本工资岗位工资各项扣款含计实发工资681239.0000006.0000001.000000i4.0000g|4878907889.00000045.0000008?.00060045.80006,878y58.U9U0U978.U9WU。0卢庄Ar上Lk2方1Q!<*IIS*X177XAX-.1r:EiLecMierocoftViStudioXiyProjttct%777TDftbngX7777t按实际工资排序的结果如下:职工号姓名基本工资两位工资各项扣款合计实发工资4789.0000008.0000006.00000011.0008019161
8、239.0000006.0000001.00000014.00000V9788,佻咏股4UWUU89-UUUU45.suuagKJ828958.MMU。96口晒所78.(dUUkJk)y76.UMU990请按任意窿垂级.|oa:Pror«*FiLcslicr«so£t.Viz««lStudioiTProjectS7777kDel>xiC777T.ce-按职工号排序的结果如下;职工号姓名基本工资岗位工资各项扣款合计巨发丁党,9?889.00000045.0000008?.00060045.O0000BU878958.00000096.000
9、00078.00000076.80068,|r>G1239.0000006.0000001.00000014.00000|VJ4789.0000008.0000006.000000ii.oeaeol;请按任意槎继续.源代码清单include"stdio.h"#include"stdlib.h"#include"string,h”structpeoplecharnum20;charname9;floatjbgz;floatgwgz;floatgxkkhj;floatsfgz;STU100;/*/void input ()/*录入职工工资信息
10、*/inti,n;structpeopleSTU;FILE*fp;system("cls");if(fp=fopenCe:filei”,wb)二二NULL)printf("error!n");exit(0);)printf(wnt请输入职工人数:”);scanf(飞d',&n);printf(nt请按下而提示输入职工数据n");for(i=0;i<n;i+)printf(nt第加个职工号:",i+1);scanf(飞s”,STU.num);printf("t姓名:”);scanfSTU.name);pr
11、intf("t基本工资(大于0):scanf(飞f”,&STU.jbgz);if(STU.jbgz<0)printf(t输入有误!请重新输入:);scanf(""f”,&STU.jbgz);printf(t岗位工资(大于0):);scanf(飞f”,&STU.gwgz);if(STU.gwgz<0)printf("输入有误!请重新输入:“);scanf(""f”,&STU.gwgz);printf(t各项扣款合计(大于0):”);scanf(飞f”,&STU.gxkkhj);if(S
12、TU.gxkkhj<0)printf(t输入有误!请重新输入:");scanf(飞f,&STU.gxkkhj);printf("t实发工资:);STU.sfgz=STU.gwgz+STU.jbgz-STU.gxkkhj;printf(飞f”,STU.sfgz);fwrite(&STU,sizeof(STU),1,fp);)fclose(fp);/*/*职工工资显示*/voidshowa11()structpeopleSTU;FILE*fp;system("cls");if(fp=fopenCe:Wfilel","
13、rb")=NULL)printf("文件有错误不能打开!”);exit(O);)printf(*nt编号t姓名t基本工资t岗位工资t各项扣款合计t实发工资n);while(fread(&STU,sizeof(STU),1,fp)printfCznt%st%st%ft%ft%ft%ftn/z,STU.num,STU.name,STU.jbgz,STU.gwgz,STU.gxkkhj,STU.sfgz);fclose(fp);systempause");)/*voidappend()/*追加职工信息*/inti,n;structpeopleSTU;FILE*f
14、p;system(cls");if(fp=fopenCe:Wfilel","ab")=NULL)printf("error!n");exit(0);)printf(?/nnt请输入追加的职工人数:");scanf&n);printf("nt请按下而提示输入职工数据n");for(i=0;i<n;i+)printf("nt第加个职工号:",i+1);scanf(线s”,STU.num);printf("t姓名:“);scanf(飞s”,STU.name);prin
15、tf("t基本工资(大于0):”);scanf("%f”,&STU.jbgz);if(STU.jbgz<0)printf(t输入有误!请重新输入:);scanf&STU.jbgz);printf(?,t岗位工资(大于0):);scanf(""f”,&STU.gwgz);if(STU.gwgz<0)printf("t输入有误!请重新输入:");scanf(飞&STU.gwgz);printf("t各项扣款合计(大于0):”);scanf(飞f”,&STU.gxkkhj);if
16、(STU.gxkkhj<0)printf(t输入有误!请重新输入:");scanf(""f,&STU.gxkkhj);printf("t实发工资:”);STU.sfgz=STU.gwgz+STU.jbgz-STU.gxkkhj;printf(“%f”,STU.sfgz);fwrite(&STU,sizeof(STU),1,fp);)fclose(fp);)/*/void searchbyhao() FILE *fp;struct people STU;/*职工工资查询*/chars20;intb=0;systemC'cls&
17、#39;");if(fp二fopenCe:filei","rb)=NULL)printf("文件有错误,不能打开!");exit(0);)printf(n请输入要查询的工号:");scanf(/z%s,z,s);while(fread(&STU,sizeof(STU),1,fp)if(strcmp(STU.num,s)=0)b=l;break;)if(b=0)printf("n不存在工号为%s的职工”,s);system(zzpause/,);)fclose(fp);if(b=l));printf(zzn=:prin
18、tfC?n查询成功n");printf(要查询的职工信息为:);printf("nt编号t姓名t基本工资t岗位工资t各项扣款合计t实发工资、);printf(,/nt%st%st%ft%ft%ft%ftnzz,STU.num,STU.name,STU.jbgz,STU.gwgz,STU.gxkkhj,STU.sfgz);rewind(fp);systemC'pause'7);)voidsearchbyname()FILE*fp;charb9;inti=0;structpeopleSTU;system("cls");if(fp=fopenC
19、e:filel"rb")=NULL)printf("error!n");exit(0);)printf(n请输入要查询到职工姓名:”);scanf(与s',b);while(fread(&STU,sizeof(STU),1,fp)if(strcmp(STU.name,b)=0)i=l;break;)fclose(fp);if(i=0)printf("n不存在职工姓名为如的职工”,b);system(z,pause,/);)if(i=l)printfCjn-=v);printf(Xn查询成功n");printf(要查询的
20、职工信息为:);printf("nt编号t姓名t基本工资t岗位工资t各项扣款合计t实发工资n");printfC/nt%st%st%ft%ft%ft%ftnz",STU.num,STU.name,STU.jbgz,STU.gwgz,STU.gxkkhj,STU.sfgz);rewind(fp);systemC?pause/Z);)voidsearch()(system("cls");printf('t*欢迎使用职工工资查询系统*tn");printfCzttl.按职工号查询nntt2.按职工姓名查询nntt0.退出程序nn);
21、printf("请选择”);inti;scanf("$;while(i<0|i>3)printf("输入有误,请从新输入!n");printf("请选择);scanf(飞;)switch(i)case1:searchbyhao();break;casecase )2:searchbyname0;break;0:exit(0);)/*/void xiugai()/*修改职工工资信息*/structpeople*p_people=STU;structpeoplepeople_edit;/*记录修改后的信息*/FILE*fp;int in
22、t int inttotal=0;1;locate;flag=0;/*用于标记有要修改的职工在文件中的位置*/*标记职工信息中是否存在要修改信息的职工,0表示不存在,1表示存在*/charname_edit18;/*要修改信息的职工的姓名*/system(cls");if(fp=fopenCe:filei”,rb+")=NULL)printfCerror!n");exit(0);)while(fread(p_people,sizeof(structpeople),1,fp)p_people+;total+;)p_people=STU;printf(n请输入要修改信
23、息的职工的姓名:”);scanfC%sz,,name_edit);for(i=0;i<total;i+)(if(strcmp(p_people->name,name_edit)=O)locate"flag=l;break;)elsep_people+;)if(flag=0)printf(n信息表中不存在该姓名的职工!n");system(/?pause/z);)if(flag=l)printf("n=);printf("ri请输入职工号:”,p_people->num);scanf(“$s”,people_edit.num);print
24、fC?n请输入职工的姓名:",p_people->name);scanf(“$s”,people_);printf(wn请输入职工的基本工资:",p_people->jbgz);scanfC%f"9&people_edit.jbgz);printf(z/n请输入职工的岗位工资:",p_people->gwgz);scanf(“%f”,&people_edit.gwgz);printf(Xn请输入职工的各项扣款合计:”,p_people->gxkkhj);scanfC%f"9&pe
25、ople_edit.gxkkhj);printf(*n请输入职工的实发工资:”,p_people->sfgz);scanfC%f"9&people_edit.sfgz);fseek(fp,locate*sizeof(structpeople),SEEK_SED;/*将文件指针定位到文件中原信息的位置*/fwrite(&people_edit,sizeof(structpeople),1,fp);fclose(fp);printfC7n成功修改该职工信息!n);rewind(fp);system(,zpausez,);)/*/voidsortbysfgz0/*职工
26、工资排序*/structpeopleSTUtlOO,t;FILE*fp;inttotal=0;inti>j;system(cls*);if(fp=fopen("e:filel","rb")=NULL)printf("文件有错误不能打开!");cxit(O);)while(fread(&STUtotal,sizeof(structpeople),1,fp)!=0)total+;for(i=0;i<total;i+)for(j=total-l;j>i;j-)if(STUj.sfgz<STUj-l.sfgz)
27、t=STUj;STUj=STUj-l;STUj-l=t;printf(*nnnt按实际工资排序的结果如下;n");printf(*nt职工号t姓名t基本工资t岗位工资t各项扣款合计t实发工资nn");for(i=0;i<total;i+)printf("nt%st%st%ft%ft%ft%ft',STUi.num,STU,STUi.jbgz,STUi.gwgz,STUi.gxkkhj,STUi.sfgz);system("pause");voidsortbynum0structpeopleSTU100;structpe
28、oplet;FILE*fp;inttotal=0;inti,j;system(*cls*);if(fp=fopenCe:filel","rb")=NULL)printf("文件有错误不能打开!”);exit(0);)while(fread(&STUtotal,sizeof(structpeople),1,fp)!=0)total+;for(i=0;i<total;i+)for(j=total-l;j>i;j-)if(strcmp(STUj.num,STUj-l.num)>0)t=STUj;STUj=STUj-l;STUj-l=t
29、:printf(*nnnt按职工号排序的结果如下;n");printf("nt职工号t姓名t基本工资t岗位工资t各项扣款合计t实发工资nn");for(i=0;i<total;i+)printf(*nt%st%st%ft%ft%ft%ftSTUi.num,STU,STUi.jbgz,STUi.gwgz,STUi.gxkkhj,STUi.sfgz);printf(*ntpressanykeytocontinue;system("pause");)voidsort0(systemCclsO;printfCt*欢迎使用职工工资排序系
30、统*tn");printf(*nttl.按职工号排序nntt2.按职工实际工资排序nnttO.退出程序nn");printf("请选择”);inti;scanf&i);while(i<0|i>2)printf("输入有误,请从新输入In");printf("请选择”);scanf&i);switch(i)case1:sortbysfgz0;break;case2:sortbynum();break;case0:exit(0);)mainO/*/*主函数*/inti;charss='Y'while(ss=,Y'ssy')system("cls");printf(/znnnnnnnttt欢迎访问职工工资管理系统n");printf('t*n");printfCtttl一一录入职工信息)printfCttt2一一显示职工信息n")printfCttt3一一追加职工信息n&q
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 机电工程师的职业素养与试题及答案
- 网络技术在新兴行业中的运用试题及答案
- 电竞场馆与管理企业制定与实施新质生产力项目商业计划书
- 电视台运营AI应用行业跨境出海项目商业计划书
- 汽车内饰与外观设计企业制定与实施新质生产力项目商业计划书
- 环保主题公益摄影行业跨境出海项目商业计划书
- 华北房地产AI应用行业跨境出海项目商业计划书
- 机械原理讲解短视频企业制定与实施新质生产力项目商业计划书
- 电解质补充片剂企业制定与实施新质生产力项目商业计划书
- 结构设计原理课件交通工程专业群44课件
- 基础有机化学实验智慧树知到期末考试答案章节答案2024年浙江大学
- (高清版)JCT 864-2008 聚合物乳液建筑防水涂料
- ZXB∕T 0202-2013 球墨铸铁给排水管道工程施工及验收规范 技术要求
- 老年专科护理考试试题
- 语法大全之一般现在时动词三单变化练习题-(答案)
- 建筑保温工程包工包料合同协议书范本
- 中医病历书写基本规范
- MOOC 美术鉴赏-河南理工大学 中国大学慕课答案
- 页岩气及其成藏特征
- 旅行社挂靠合同协议书模板
- 植物生理学课件(王小菁-第8版)-第五章-植物同化物的运输
评论
0/150
提交评论