版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、C语言课程设计报告题目:职工工作量统计系统班级:学号:姓名:指导老师:成绩:目录1 课程设计的目的和意义12.总体设计思路(功能模块图)23详细设计34课程设计总体会155教师评语15亠、课程设计目的和意义通过课程设计的实践环节的教学, 可以加深对课堂所学 基础知识的掌握与理解,提高所学容的综合运用能力;同时 也可以通过查询相关资料,培养学生自学能力、接受新知识 的能力,提高学习兴趣;增强学生程序设计能力,掌握编程 技巧,并可培养学生实际上机调试程序的能力。“理论与实 践”相结合,使学生得到很好的锻炼,为以后学习、工作打 下坚实的基础。1、总体设计思路(功能模块图)三、详细设计1、模块功能介绍
2、一.输入职工基本信息开始输入工号输入工作量结束.工作量输入并累加.按工作量从大到小排序并标上名次开始通过选择或冒泡排序,将职工按工作量从大到小排序,并 判断第I名职工的工作量是否与第1-1名职工工作量相等, 若相等,将第I-1名职工的名次附值给第I名职工,若不 相等,则把地I-1名职工的名次加1附值给I。依次给所 有职工排名四.按职工号删除职工信息开始输入欲删除职工号幅I 不存在判断工号是否存在 存在确认删除将删掉信息的职工之后的职工 依次向前附值结束2、程序清单#i nclude stdio.h#i nclude stri ng.h#include stdlib.h#defi ne FILE
3、NAME worker.bi n#defi ne N 20struct workerint number; /*工号 */int counts; /*数量 */in t grade;/*等级 */ ;/*定义*void xi nxi() prin tf(n+n);printf(+职工工作量统计系统+n);prin tf(+n);printf(+1.职工基本信息输入+n);prin tf(+n);prin tf(+2. 工作量输入+n);prin tf(+n);printf(+3. 按工作量排序+n);prin tf(+n);printf(+4.按职工工号进行信息删除+n);prin tf(+5
4、. 结束程序+n);prin tf(+ +n);prin tf(+n);/*显示菜单*/int readFromFile(struct worker w)FILE *fp=NULL;int i=0;fp=fopen(FILENAME,rb); /* 打开文件 */if(fp!=NULL)while(!feof(fp) /*从文件中读入学生*/if(i=N)break;if(fread(w+i,sizeof(worker),1,fp)=1)i+;fclose(fp);return i;/*信息显示到屏幕*/int f(struct worker w,i nt le ngth)in t i=le
5、ngth;while(iN)printf(第(个职工 n,i);输入工号*/prin tf(n);printf(”请你输入工号(以职工号为0结束):n);/*scan f(%d,&wi. number);if(wi. nu mber=0)break;prin tf(n);prin tf(n);printf(请你输入数量:n);/* 输入数量*/scan f(%d,&wi.cou nts);prin tf(n);i+;return i;/* 功能:输入职工基本信息*/void in put(struct worker w,i nt len gth)int i=1;int nu mber,co u
6、n ts; printf(请输入工号:);sca nf(%d,&nu mber);while( nu mber!=0)printf(请输入完成数量:n);sca nf(%d,&cou nts);for(i=0;i=le ngth)printf(工号不存在:n);printf(请输入工号:);sca nf(%d,&nu mber);/*功能:工作量输入并累加*/void sortCo un ts(struct worker w,i nt len gth)int i=O,j=O,k=O;struct worker s;for(i=0;ile ngth;i+)k=i;for(j=i+1;jwk.co
7、 unts) k=j;/*交换 wi a nd wk */s = wk;wk =wi;wi = s;if(le ngth0)w0.grade =1;for(i=1;i0) while(ile ngth)coun t=0;grade=wi.grade;printf( 名次:%d , grade);printf( 工作量:%d ,wi.counts);prin tf(%s, 工号:);while(ile ngth)if(grade=wi.grade) printf(%d ”,wi.number); coun t+;elsebreak;i+;printf(人数:%dn,count);elseprin
8、tf(职工数据不存在!n);/*输出名次、同一名次的职工人数及他们的工号,*/int delet(struct worker w,i nt len gth,i nt stuNum)int i,j;char choice;for(i=0;ile ngth;i+) if(stuNum=wi. nu mber)prin tf(%s,欲删除职工号为:);prin tf(%dn,wi. number); break;if(ile ngth)prin tf(你确实要删除这个职工吗 ?(Y/N);sca nf(%c,&choice); if(choice=Y|choice=y)for(j=i;jle ngt
9、h;j+)wj=wj+1;len gth-;printf( 删除成功!n); elseprin tf(n指定的职工不存在!n);return len gth;/*按职工号删除职工信息*/void writeToFile(struct worker w,i nt len gth)FILE *fp=NULL;int i=0;fp=fope n(FILENAME,wb);if(fp=NULL)prin tf(打开文件出错!n);exit(0);for(i=0;ile ngth;i+) fwrite(w+i,sizeof(worker),1,fp);fclose(fp);/*结构体数组中的职工信息输出
10、到文件*/void mai n ()int choice;struct worker wN;int NUM;char stuName100;int stuNum;in t le ngth=O;len gth=readFromFile(w);读入do xin xi();scan f(%d,&choice);switch(choice) case 1:len gth=f(w,le ngth);break;case 2:in put(w,le ngth);break;case 3:sortCo un ts(w,le ngth);sortNumber(w,le ngth);break;case 4:p
11、rin tf(请输入欲删除的职工号);scan f(%d, &stuNum);len gth=delet(w,le ngth,stuNum);break;case 5:writeToFile(w,le ngth);/保存printf(程序使用以结束n);exit(0);default:n);printf(输入有错误请重新输入while(1);3、系统运行结果显示菜单ct *C; Docments mid Settints黄験、桌面、耳(C+鼠。创夭中文蒂简绿色+ + + +1-II- + - + + + + + + + + + + + + + + + + +4-F + -I-4 + + + +
12、 + +4*- + + + + + + + +-F+职工工作星统计系址+1.职工基本信息输人羅工佯量输入3 -按工作量排序4. 按职工工号进行信息別除5. 结來程序职工信息输入XVouuacnt s and Sell呆014*4个購工情你输人工吕沙MRT号为诞吉束:5请你输入数睪;14第5个职工请佩输人工号卩!职工号为喘束:6请饥输入数量;14希个职工请擁输人工号(以职工号为琏吉束:工作量输入按工作量排序K2:1熱:!;数人数数数人勺人人人6 4 3 2 13SS_工工工工工5 4 3 2 011111量量星星* h,lEEE Aup.nuu-r次次次次次按工号删除信息e *C; Bociment s and Sett ings黄皺*+ + +肛号欲删除职工号为:5 职工吗删際成功!+结束程序+ +- + *-+-+- + + +*+4+ +f+*-+*+ +曜序使用以结朿tPi*ess ansi k牡y to cont inu&四、课程设计总结体会经过一个星期的上机实践学习,使我对C语言有了更进一步的认识和了解,要想学好它要重在实践,要通过不 断的上机操作才能更好地学习它,这
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 疾病保险课件教学课件
- 2024年度影视版权许可协议
- 04年影视制作委托合同
- 2024年度办公楼照明系统灯具更换外包协议
- 2024年度“生态修复”工程咨询服务合同
- 制作课件教学课件
- 2024年广告发布与装修施工合同协议
- 2024在熔盛重工与淡水河谷砂石船建造合同签约仪式上的致辞熔盛重工朱文花
- 2024年度暖通设备安装及调试合同
- 2024土地使用权转让合同(含开发权)
- 黄河商品交易市场介绍稿
- Unit 3 My friends Part C Story time(教学设计)-2024-2025学年人教PEP版英语四年级上册
- 2024中国海油校园招聘2024人(高频重点提升专题训练)共500题附带答案详解
- 孙中山诞辰纪念日主题班会主题班会
- 2024年安徽省合肥市中考语文题卷(含答案)
- G -B- 43630-2023 塔式和机架式服务器能效限定值及能效等级(正式版)
- 24春国开电大《工具书与文献检索》平时作业1-4答案
- 文艺复兴经典名著选读 知到智慧树网课答案
- 2024年北京出版集团有限责任公司招聘笔试冲刺题(带答案解析)
- 2022-2023学年福建省厦门一中九年级(上)期中物理试卷
- 足球球性球感练习教案
评论
0/150
提交评论