




已阅读5页,还剩5页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
C 语 言 程 序 设 计课程设计报告 一、题目内容的描述:20、输入10个工人的信息,每个工人含有成员名为“工号、姓名、基本工资、补贴、奖金、水电费、房租、实发工资、工资排名”,分别编写六个函数求:(1)输入一个工人的工号,查询该工人的信息并输出,若不存在显示没找到。(2)输入一个工人的信息,按工号顺序将该工人的信息插入后输出。(3)输入一个已存在工人的姓名信息,删除该工人的信息后输出。(4)求每个工人的实发工资(实发工资=基本工资+补贴+奖金-水电费-房租);(5)求每个工资项(纵项)的总额并输出;(6)找出工资排名第一名并输出其信息。要求:10个工人的数据用文件存储,每个工人的结构体用数组或单链表,首先建立一个具有10个工人数据的单链表或数组,并程序启动后先显示“菜单”,当输入为1时,执行第(1)个函数;当输入为2时,执行第(2)个函数;当输入为3时,执行第(3)个函数;当输入为4时,执行第(4)个函数;当输入为5时,执行第(5)个函数;当输入为6时,执行第(6)个函数;当输入为7时,退出系统,当输入其他数字时,提示输入有错误。二、应用程序功能的详细说明:1. 在文件中输入工人信息,有工号、姓名、基本工资、补贴、奖金、水电费、房租等数据,保存在文件中;2. 菜单形式进行功能选择,进行需要的程序功能;3. 输入一个工号,显示出该工号的工人的信息,如果没有该工号则显示没找到;4可添加新的工人信息或者删除不需要的工人信息;5. 计算每个工人根据基本工资、补贴、奖金和水电费房租加减后的实发工资;6. 求出每个工资项的总额并输出,找出工资排名第一并输出其信息。三、输入数据类型、格式和内容: struct node定义结构名char num10; 定义工号char name10; 定义姓名float base; float sub; float wag;float water; 定义各实型float house; float real; int sort; ;struct node data10 ; int n;void real_salary();四、结束语,体会等:以前一直以为程序只是按部就班的码字,知道自己真真切切的做了一次程序才明白一个程序从成形要一直到能运行才能是完整。任何程序都不是随随便便写成的。一个程序装载着程序员所有的情绪在里面。做程序真的不是一件简单的事情。这次做程序,一次一次的调试一次一次的运行,有焦躁有烦恼,最后完成的那一刻真的难以言表的开心。以后一定要努力学程序,用心研究用心掌握。五、程序的源代码清单:#include #include struct nodechar num10; char name10; float base; float sub; float wag; float water;float house; float real; int sort; ;struct node data10 ; int n;void real_salary();void sort() int i,j;char max10;int k;struct node t;for(i=0;in-1;i+)k=i;strcpy(max,datai.num); for(j=i+1;j0) strcpy(max,dataj.num); k=j; if(i!=k) t=datai;datai=datak;datak=t; void search() int i;char num10;printf(输入工人工号:);scanf(%s,num);for(i=0;in;i+)if( strcmp(datai.num,num)=0 ) printf(工号 姓名 基本工资 补贴 奖金 水电费 房租 实发工资 工资排名nn);printf(%s %s %0.1f %0.1f %0.1f %0.1f %0.1f %0.1f %dnn,datai.num,,datai.base,datai.sub,datai.wag,datai.water,datai.house,datai.real,datai.sort);return ; printf(没有找到相关信息.nn);void add() int i;struct node hol;printf(工号:);scanf(%s,hol.num); printf(姓名:); scanf(%s,);printf(基本工资:); scanf(%f,&hol.base);printf(补贴:); scanf(%f,&hol.sub);printf(奖金:); scanf(%f,&hol.wag);printf(水电费:); scanf(%f,&hol.water);printf(房租:); scanf(%f,&hol.house); hol.real = hol.base+hol.sub+hol.wag-hol.water-hol.house;datan+=hol;printf(添加成功!nn); i=n-1;real_salary(); printf(工号 姓名 基本工资 补贴 奖金 水电费 房租 实发工资 工资排名nn); printf(%s %s %0.1f %0.1f %0.1f %0.1f %0.1f %0.1f %dnn,datai.num,,datai.base,datai.sub,datai.wag,datai.water,datai.house,datai.real,datai.sort);sort();return ;void del() int i,j;char name10;printf(输入工人姓名:);scanf(%s,name); for(i=0;in;i+)if(strcmp(,name)=0) printf(已删除!nn); printf(工号 姓名 基本工资 补贴 奖金 水电费 房租 实发工资 工资排名nn);printf(%s %s %0.1f %0.1f %0.1f %0.1f %0.1f %0.1f %dnn,datai.num,,datai.base,datai.sub,datai.wag,datai.water,datai.house,datai.real,datai.sort);for(j=i+1;jn;j+) dataj-1=dataj;n-;real_salary();return ;printf(没有找到相关信息.nn);void real_salary() int i,j;int m;for(i=0;in;i+) datai.real=datai.base+datai.sub+datai.wag-datai.water-datai.house; for(i=0;in;i+) m=0;for(j=0;jdatai.real)m+;datai.sort=m+1;return ;void each_sum() int i; float s1,s2; s1=0; s2=0; real_salary(); for(i=0;in;i+) s1=datai.base+s1; s2=datai.real+s2; printf(基本工资总额:%fn,s1); printf(实发工资总额:%fn,s2); return;int find_first() int i;real_salary();for(i=0;in;i+)if(datai.sort=1) return i;void menu() printf(1.查询工人信息.n);printf(2.添加工人信息.n);printf(3.删除工人信息.n);printf(4.求每个工人的实发工资.n);printf(5.求工资项的总额.n);printf(6.找出工资排名第一的工人.n);printf(0.退出nn);printf(选择一个菜单编号:);return ;int main() int i;int sel;FILE *fp=fopen(D:data.txt,r); FILE *wfp;if(fp=NULL)printf(打开文件失败!n);return 0;n=0;while(!feof(fp) fscanf(fp,%s,datan.num);fscanf(fp,%s,);fscanf(fp,%f,&datan.base);fscanf(fp,%f,&datan.sub);fscanf(fp,%f,&datan.wag);fscanf(fp,%f,&datan.water);fscanf(fp,%f,&datan.house);n+;real_salary();domenu();scanf(%d,&sel);switch (sel) case 1:search(); break;case 2:add(); break;case 3:del(); break;case 4:printf(工号 实发工资n); for(i=0;in;i+)printf(%s %0.2fn,datai.num,datai.real);printf(nn);break;case 5:each_sum(); break;case 6:i=find_first(); printf(工号 姓名 基本工资 补贴 奖金 水电费 房租 实发工资 工资排名nn);printf(%s %s %0.1f %0.1f %0.1f %0.1f %0.1f %0.1f %dnn,datai.num,,datai.base,datai.sub,datai.wag,datai.water,datai.house,datai.real,datai.sort);break;case 7:return 0;default:printf(请输入正确的菜单编号!nn);break;while(sel!=0);fclose(fp);wfp = fopen(D:data.txt,w+);i=n;n=0;for(n=0;ni;n+) fpri
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 第11课 短捺教学设计-2025-2026学年小学书法练习指导三年级下册湘美版
- 全球卫星导航系统说课稿-2025-2026学年中职专业课-电子商务物流-电子商务-财经商贸大类
- 2025-2030双语教育对幼儿大脑结构的重塑作用研究
- 2025-2030即烹型辣椒调料包产品设计规范
- 2025-2030南美锂矿资源开发格局演变与中国企业出海战略报告
- 2025-2030医疗行业跨境合作模式与国际化发展战略研究
- 2025-2030医疗人工智能在病理诊断中的精准度提升报告
- 2025-2030医用高分子材料创新应用与市场前景预测报告
- 2025-2030医用吸附材料检测技术及环保应用前景预测
- Unit 2 Learning English is fun Lesson 2 说课稿2024-2025学年冀教版(2024)七年级英语上册
- 2025自考行政管理模拟考试试题及答案
- 《胸外心脏按压操作》课件
- 居家陪护免责合同协议
- 承台大体积砼浇筑方案
- 宣传片管理制度
- 食堂不合格食品处置制度
- 驻场人员管理办法及流程
- 2025年护士执业资格考试题库-护理质量管理与评价案例分析题库深度解析
- 疼痛管理多学科协作模式-洞察分析
- 考研动员讲座
- 《设备基础知识培训》课件
评论
0/150
提交评论