版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、课 程 设 计服务课程名称: c语言 系: 能源与动力工程 专业: 热能与动力工程 班级: 集控本112 学号: 01 姓名: 指导教师: 课程设计周次: 15周 起始日期:2012.6.4 至 2012.6.8 目 录c语言课程设计成绩评定表1c语言课程设计任务书2程序设计思路3程序基本框架结构图4系统运行界面截图5源代码清单7课程设计总结17职工工资管理系统c语言课程设计成绩评定表班级集控本112学号01姓名项目组项目组长项目组组员 本人工作简介:在这一周的课设实训中,我主要负责的是职工工资管理系统程序中的排序部分,结合平时所学的c语言知识和老师、同学、教材的帮助,比较圆满的完成了自己的任
2、务。通过这一周的努力设计,使我对c语言有了更深刻的认识。组长评语: 该组员积极参加分配任务,遵守老师的要求,态度认真,爱思考,能独立完成分配的所属任务,并且与其他组员多次进行共同调试,最终使程序运行起来。成绩评定标准abcde理论基础很好好比较好一般不好报告完成情况很好好比较好一般不好纪律表现很好好比较好一般不好程序创意很好好比较好一般不好所选模块完成情况很好好一般较差不好所选算法难易程度复杂比较复杂一般简单很简单程序可操作性很好好一般较差不好答辩表现很好好一般较差不好最后成绩优秀a=5b=3c=3b=4c=1b=2c=4d=1e=0及格a=0b=0c=4不及格a=0b=0c=0d=4负责指导
3、教师: (签名)指导教师: (签名)集控本112c语言课程设计任务书一、设计目的通过本次课程设计使学生进一步加深对c语言课程内容的理解,初步掌握一般应用程序的开发方法和步骤,进一步了解与掌握c语言的编程方法和技巧,提高学生用c语言解决实际问题的能力。二、设计要求1、认真查阅参考书、资料2、遵守课程设计时间安排3、按时上机,认真调试程序4、认真完成课程设计报告三、课设报告装订内容及顺序1、课程设计封皮2、目录3、课程设计成绩评定表4、课程设计任务书5、程序基本框架图 6、程序设计说明书7、源代码清单8、课设总结与心得四、设计题目职工工资管理系统五、时间安排(一周:从 6 月 4 日到 6 月 8
4、 日 )1、查阅资料及程序设计(1天)2、程序编制及调试(3天)3、成绩评定(0.5天)3、打印报告(0.5天)六、参考文献1、c语言程序设计李淑华/李贞编 大连理工大学出版社2、c语言程序设计孙连科/姚大鹏编 辽海出版社3、c+时尚编程百例网冠科技编.机械工业出版社4、turbo c 实用大全徐金梧等编. 机械工业出版社- 17 -程序设计思路在这次课设中,我的任务是编写职工工资管理系统的排序职工工资信息这块。我的思路是:首先,添加#include“stdio.h”等头文件使其正常运行。定义结构体变量struct people,里面用数组存放职工的各种信息。如char num20,char
5、name9,float jbgz,float gwgz,float gxkkhj,float sfgz。接着定义一个排序函数,定义文件指针struct people *p_people指向之前定义的结构体变量,即struct people *p_people=stu。还定义了实型的总数int total=0,int i,int用于标记有要排序的职工在文件中的位置。然后编写排序的职工姓名,工号.这里用了if 语句while循环以及打开文件的fopen函数和在磁盘文件中读取块数据的fread函数。然后将结构体stu送给p people,用输出函数输出“请输入排序职工的方法”. 最后用fclose函
6、数关闭文件,显示排序成功的信息。在这个程序中运用了文件指针,结构体变量,for循环,while循环if语句,其中文件这块涉及很多,包含了fread函数,fopen函数,fclose函数,fwrite函数等等。整个程序除了主函数外,再加菜单函数int(),显示函数void(),查询函数void,排序函数,修改函数。既而实现了录入、显示、追加、查询、修改、排序几大功能。程序基本框架结构图职工工资管理系统管理系统退出系统数据排序数据修改数据查询数据显示数据录入按工号排序按姓名排序返回系统运行界面截图源代码清单#include stdio.h#include stdlib.h#include stri
7、ng.h struct people char num20; char name9; float jbgz; float gwgz; float gxkkhj; float sfgz;stu100;/*/void input() /*录入职工工资信息*/int i,n;struct people stu;file *fp;system(cls);if(fp=fopen(e:file1,wb)=null) printf(error!n);exit(0);printf(nt请输入职工人数: );scanf(%d,&n);printf(nt请按下面提示输入职工数据n);for(i=0;in;i+)
8、printf(nt第%d个职工号: ,i+1); scanf(%s,stu.num); printf(t姓名: ); scanf(%s,stu.name); printf(t基本工资(大于0): ); scanf(%f,&stu.jbgz); if(stu.jbgz0) printf(t输入有误!请重新输入:); scanf(%f,&stu.jbgz); printf(t岗位工资(大于0): ); scanf(%f,&stu.gwgz); if(stu.gwgz0) printf(输入有误!请重新输入:); scanf(%f,&stu.gwgz); printf(t各项扣款合计(大于0): )
9、; scanf(%f,&stu.gxkkhj); if(stu.gxkkhj0) 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 showall() /*职工工资显示*/ struct people stu; file *fp;system(cls); if(fp=fopen(e:file1,rb)=nu
10、ll) printf(文件有错误不能打开!); exit(0); printf(nt编号 t姓名 t基本工资 t岗位工资 t各项扣款合计 t实发工资n); while(fread(&stu,sizeof(stu),1,fp) printf(nt%st%st%ft%ft%ft%ftn,stu.num,stu.name,stu.jbgz,stu.gwgz,stu.gxkkhj,stu.sfgz); fclose(fp); system(pause);/*/void append() /*追加职工信息*/ int i,n;struct people stu;file *fp;system(cls);
11、if(fp=fopen(e:file1,ab)=null) printf(error!n);exit(0);printf(nnt请输入追加的职工人数: );scanf(%d,&n);printf(nt请按下面提示输入职工数据n);for(i=0;in;i+) printf(nt第%d个职工号: ,i+1); scanf(%s,stu.num); printf(t姓名: ); scanf(%s,stu.name); printf(t基本工资(大于0): ); scanf(%f,&stu.jbgz); if(stu.jbgz0) printf(t输入有误!请重新输入:); scanf(%f,&st
12、u.jbgz); printf(t岗位工资(大于0): ); scanf(%f,&stu.gwgz); if(stu.gwgz0) printf(t输入有误!请重新输入:); scanf(%f,&stu.gwgz); printf(t各项扣款合计(大于0): ); scanf(%f,&stu.gxkkhj); if(stu.gxkkhj0) printf(t输入有误!请重新输入:); scanf(%f,&stu.gxkkhj); printf(t实发工资: ); stu.sfgz=stu.gwgz+stu.jbgz-stu.gxkkhj; printf(%f,stu.sfgz); fwrite
13、(&stu,sizeof(stu),1,fp);fclose(fp);/*/void searchbyhao() /*职工工资查询*/file *fp;struct people stu;char s20;int b=0;system(cls);if(fp=fopen(e:file1,rb)=null) printf(文件有错误,不能打开!);exit(0);printf(n请输入要查询的工号:);scanf(%s,s);while(fread(&stu,sizeof(stu),1,fp)if(strcmp(stu.num,s)=0)b=1;break;if(b=0)printf(n不存在工号
14、为%s的职工,s);system(pause);fclose(fp);if(b=1)printf(n=);printf(n查询成功n);printf(要查询的职工信息为:);printf(nt编号 t姓名 t基本工资 t岗位工资 t各项扣款合计 t实发工资n);printf(nt%st%st%ft%ft%ft%ftn,stu.num,stu.name,stu.jbgz,stu.gwgz,stu.gxkkhj,stu.sfgz);rewind(fp);system(pause);void searchbyname()file *fp;char b9;int i=0;struct people s
15、tu;system(cls);if(fp=fopen(e:file1,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=1;break;fclose(fp);if(i=0)printf(n不存在职工姓名为%s的职工,b);system(pause);if(i=1)printf(n=);printf(n查询成功n);printf(要查询的职工信息为:);printf(nt编号 t姓名 t基本
16、工资 t岗位工资 t各项扣款合计 t实发工资n);printf(nt%st%st%ft%ft%ft%ftn,stu.num,stu.name,stu.jbgz,stu.gwgz,stu.gxkkhj,stu.sfgz);rewind(fp);system(pause);void search() system(cls);printf(t*欢迎使用职工工资查询系统*tn);printf(tt1.按职工号查询nntt2.按职工姓名查询nntt0.退出程序nn);printf(请选择 );int i;scanf(%d,&i);while(i3)printf(输入有误,请从新输入!n);printf(
17、请选择 );scanf(%d,&i);switch(i) case 1:searchbyhao();break;case 2:searchbyname();break; case 0:exit(0);/*/void xiugai() /*修改职工工资信息*/struct people *p_people=stu;struct people people_edit;/*记录修改后的信息*/file *fp;int total=0;int i;int locate; /*用于标记有要修改的职工在文件中的位置*/int flag=0; /*标记职工信息中是否存在要修改信息的职工,0表示不存在,1表示
18、存在*/char name_edit8; /*要修改信息的职工的姓名*/system(cls);if(fp=fopen(e:file1,rb+)=null) printf(error!n);exit(0);while(fread(p_people,sizeof(struct people),1,fp)p_people+;total+;p_people=stu;printf(n请输入要修改信息的职工的姓名: );scanf(%s,name_edit);for(i=0;iname,name_edit)=0)locate=i;flag=1;break;else p_people+;if(flag=0
19、)printf(n信息表中不存在该姓名的职工!n);system(pause);if(flag=1)printf(n=);printf(n请输入职工号:,p_people-num);scanf(%s,people_edit.num);printf(n请输入职工的姓名:,p_people-name);scanf(%s,people_);printf(n请输入职工的基本工资:,p_people-jbgz);scanf(%f,&people_edit.jbgz);printf(n请输入职工的岗位工资:,p_people-gwgz);scanf(%f,&people_edit.gwg
20、z);printf(n请输入职工的各项扣款合计:,p_people-gxkkhj);scanf(%f,&people_edit.gxkkhj);printf(n请输入职工的实发工资:,p_people-sfgz);scanf(%f,&people_edit.sfgz);fseek(fp,locate*sizeof(struct people),seek_set);/*将文件指针定位到文件中原信息的位置*/fwrite(&people_edit,sizeof(struct people),1,fp);fclose(fp);printf(/n成功修改该职工信息!n);rewind(fp);syst
21、em(pause);/*/void sortbysfgz() /*职工工资排序*/ struct people stu100,t; file *fp; int total=0; int i,j; system(cls); if(fp=fopen(e:file1,rb)=null) printf(文件有错误不能打开!); exit(0); while(fread(&stutotal,sizeof(struct people),1,fp)!=0)total+; for(i=0;ii;j-) if(stuj.sfgzstuj-1.sfgz) t=stuj;stuj=stuj-1;stuj-1=t;p
22、rintf(nnnt按实际工资排序的结果如下;n);printf(nt职工号t姓名t基本工资t岗位工资t各项扣款合计t实发工资nn);for(i=0;itotal;i+)printf(nt%st%st%ft%ft%ft%ft,stui.num,stu,stui.jbgz,stui.gwgz,stui.gxkkhj,stui.sfgz); system(pause);void sortbynum() struct people stu100; struct people t; file *fp; int total=0; int i,j; system(cls); if(fp=fop
23、en(e:file1,rb)=null) printf(文件有错误不能打开!); exit(0); while(fread(&stutotal,sizeof(struct people),1,fp)!=0)total+; for(i=0;ii;j-) if(strcmp(stuj.num,stuj-1.num)0) t=stuj;stuj=stuj-1;stuj-1=t;printf(nnnt按职工号排序的结果如下;n);printf(nt职工号t姓名t基本工资t岗位工资t各项扣款合计t实发工资nn);for(i=0;itotal;i+)printf(nt%st%st%ft%ft%ft%ft,
24、stui.num,stu,stui.jbgz,stui.gwgz,stui.gxkkhj,stui.sfgz); printf(ntpress any key to continue.); system(pause);void sort()system(cls);printf(t*欢迎使用职工工资排序系统*tn);printf(ntt1.按职工号排序nntt2.按职工实际工资排序nntt0.退出程序nn);printf(请选择);int i;scanf(%d,&i);while(i2)printf(输入有误,请从新输入!n);printf(请选择);scanf(%d,&i);swi
25、tch(i) case 1:sortbysfgz();break;case 2:sortbynum();break;case 0:exit(0);/*/main() /*主函数*/ int i; char ss=y; while(ss=y|ss=y) system(cls); printf(nnnnnnnttt 欢迎访问职工工资管理系统n); printf( t*n); printf(ttt1-录入职工信息n ); printf(ttt2-显示职工信息n ); printf(ttt3-追加职工信息n ); printf(ttt4-查询职工信息n ); printf(ttt5-修改职工信息n ); printf(ttt6-排序职工信息n ); printf(ttt0-退出系统n); printf( t*n); printf(nnttt请选择(0-6) ); scanf(%d,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 公司领导工作考核制度
- 卫生院对村医考核制度
- 村民小组绩效考核制度
- 民爆行业目标考核制度
- 一汽大众回访考核制度
- 研发机构绩效考核制度
- 水处理员绩效考核制度
- 公司内部打架考核制度
- 国防教育评价考核制度
- 财务内部日常考核制度
- 洞口县城自来水引水及第三水厂工程建设可行性研究报告
- 2024天津高考英语试题及答案
- 高一至高二年级 花城版 舞蹈表演 第一单元《维吾尔族舞蹈》课件
- T-CCAATB0007-2023民用机场旅客服务质量
- 钣金与铆接铆接操作
- 2024年四川省眉山市中考地理+生物试卷(含答案)
- 《数字贸易学》教学大纲
- 教学课件-思想政治教育心理学-杨芷英
- 阿里斯托芬喜剧集
- 隧道工程临时设施标准化图册
- 高危急性胸痛及ACS早期症状识别64张课件
评论
0/150
提交评论