/***********************************************************
我的信息: *
姓名: 汪建林 生日:1985年2月26日 *
毕业学校: 2007年于成都理工大学 *
家乡地址: 四川渠县望溪乡包山村5组 *
联系QQ: 287307421 联系电话: 13558690869 *
联系Email: [email protected] 287307421 *
双鱼林程序淘宝店: http://shop34864101.taobao.com *
双鱼林程序拍拍店: http://287307421.paipai.com *
网站: http://www.shuangyulin.com *
*
需要更多程序可以联系我,保证运行! *
***********************************************************/
#include "stdio.h"
#include "string.h"
#include "stdlib.h"
#define FILENAME "worker.bin"
#define N 20
struct worker
{
int number; /*工号*/
char name[10]; /*姓名*/
char sex; /*性别*/
int age; /*年龄*/
int cult; /*学历*/
int income; /*工资*/
char address[20]; /*住址*/
int phone; /*电话*/
int counts; /*数量*/
int grade; /*等级*/
};
/*******************************************************
定义
*******************************************************/
void xinxi()
{
printf("\n+++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n");
printf("+ 职工工作量统计系统2.0 +\n");
printf("+ +\n");
printf("+ 1. 职工基本信息输入 +\n");
printf("+ 2. 输出信息 +\n");
printf("+ 3. 工作量输入 +\n");
printf("+ 4. 按工作量排序 打印出职工名次 +\n");
printf("+ 5. 按职工工号查询 +\n");
printf("+ 6. 按职工姓名查询 +\n");
printf("+ 7. 按职工工号进行信息删除 +\n");
printf("+ 8. 程序结束 +\n");
printf("+ +\n");
printf("+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\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;
}
/*******************************************************
从文件读信息到结构体数组中
*******************************************************/
void output(struct worker w[],int length)
{
int i=0;
if(length==0)
{
printf("系统中没有职工信息,请先初始化!\n\n");
return;
}
printf("%s %s %s %s %s %s %s %s","职工号","姓名","性别","年龄","学历","工资","住址","电话");
for(i=0;i<length;i++)
{
printf("\n %d %5s %5c %5d %3d %5d %5s %5d\n",w[i].number,w[i].name,w[i].sex,w[i].age,w[i].cult,w[i].income,w[i].address,w[i].phone);
printf("\n");
}
}
/*******************************************************
信息显示到屏幕
*******************************************************/
int f(struct worker w[],int length)
{
int i=length;
while(i<N)
{
printf("第%d个职工\n",i);
printf("\n");
printf("请你输入工号(以职工号为0结束):\n");/*输入工号*/
scanf("%d",&w[i].number);
if(w[i].number==0)
break;
printf("\n");
printf("\n");
printf("请你输入姓名:\n");/*输入姓名*/
scanf("%s",w[i].name);
printf("\n");
printf("请你输入性别以m为男f为女:\n");/*输入性别*/
scanf("%s",&w[i].sex);
printf("\n");
printf("请你输入学历:\n");/*输入学历*/
printf("1为大专2为本科3为其他\n");
scanf("%d",&w[i].cult);
printf("\n");
printf("请你输入年龄:\n");/*输入年龄*/
scanf("%d",&w[i].age);
printf("\n");
printf("请你输入工资:\n");/*输入工资*/
scanf("%d",&w[i].income);
printf("\n");
printf("请你输入住址:\n");/*输入地址*/
scanf("%s",w[i].address);
printf("\n");
printf("请你输入电话:\n");/*输入电话*/
scanf("%d",&w[i].phone);
printf("\n");
printf("请你输入数量:\n");/*输入数量*/
scanf("%d",&w[i].counts);
printf("\n");
i++;
}
return i;
}
/*******************************************************
功能:输入职工基本信息
*******************************************************/
void input(struct worker w[],int length)
{
int i=1;
int number,counts;
printf("请输入工号:");
scanf("%d",&number);
while(number!=0)
{
printf("请输入完成数量:\n");
scanf("%d",&counts);
for(i=0;i<length;i++)
if(w[i].number==number)
{
w[i].counts+=counts;
break;
}
if(i>=length)
printf("工号不存在:\n");
printf("请输入工号:");
scanf("%d",&number);
}
}
/*******************************************************
功能:工作量输入并累加
*******************************************************/
void sortCounts(struct worker w[],int length)
{
int i=0,j=0,k=0;
struct worker s;
for(i=0;i<length;i++)
{
k=i;
for(j=i+1;j<length;j++)
if(w[j].counts>w[k].counts)
k=j;
/* 交换 w[i] and w[k] */
s = w[k];
w[k] =w[i];
w[i] = s;
}
if(length>0)
w[0].grade =1;
for(i=1;i<length;i++)
if(w[i].counts==w[i-1].counts)
w[i].grade=w[i-1].grade;
else
w[i].grade=w[i-1].grade+1;
}
////////////////////////////////////////////////////////////////////////////////
/* 按工作量从大到小排序并标上名次 */
////////////////////////////////////////////////////////////////////////////////
void sortNumber(struct worker w[],int length)
{
int i=0;
int grade,count;
if(length>0)
{ while(i<length)
{
count=0;
grade=w[i].grade;
printf("名次:%d ", grade);
printf(" 工作量:%d\n",w[i].counts);
printf("%s %s","工号","姓名\n");
while(i<length)
{
if(grade==w[i].grade)
{
printf("%2d %6s\n",w[i].number,w[i].name);
count++;
}
else
break;
i++;
}
printf("人数:%d\n",count);
}
}
else
printf("职工数据不存在!\n");
}
////////////////////////////////////////////////////////////////////////////////
/* 打印出职工名次输出名次、同一名次的职工人数及他们的工号,姓名*/
////////////////////////////////////////////////////////////////////////////////
void queryInfo(struct worker w[],int length,int stuNum)
{
int i=0;
for(i=0;i<length;i++)
{
if(stuNum==w[i].number)
{
printf("找到啦!它的下标是:%d\n", i);
printf("%s %s %s %s %s %s %s %s","职工号","姓名","性别","年龄","学历","工资","住址","电话");
printf("\n %d %5s %5c %5d %3d %5d %5s %5d\n",w[i].number,w[i].name,w[i].sex,w[i].age,w[i].cult,w[i].income,w[i].address,w[i].phone);
break;
}
}
if(i>=length)
printf("\n输入有误!\n");
}
/*******************************************************
按职工工号查询
*******************************************************/
void cha(struct worker w[],int length,char stuName[])
{
int i=0;
int found=0;
for(i=0;i<length;i++)
{
if(strcmp(stuName,w[i].name)==0)
{ found++;
if(found==1)
{
printf("找到啦\n");
printf("%s %s %s %s %s %s %
没有合适的资源?快使用搜索试试~ 我知道了~
c&c++课程设计-职工工作量统计系统

共13个文件
pdb:2个
plg:1个
exe:1个

需积分: 1 0 下载量 178 浏览量
2024-10-17
10:03:13
上传
评论
收藏 228KB ZIP 举报
温馨提示
c&c++课程设计-职工工作量统计系统c&c++课程设计-职工工作量统计系统c&c++课程设计-职工工作量统计系统c&c++课程设计-职工工作量统计系统c&c++课程设计-职工工作量统计系统c&c++课程设计-职工工作量统计系统c&c++课程设计-职工工作量统计系统c&c++课程设计-职工工作量统计系统c&c++课程设计-职工工作量统计系统c&c++课程设计-职工工作量统计系统c&c++课程设计-职工工作量统计系统c&c++课程设计-职工工作量统计系统c&c++课程设计-职工工作量统计系统c&c++课程设计-职工工作量统计系统c&c++课程设计-职工工作量统计系统c&c++课程设计-职工工作量统计系统c&c++课程设计-职工工作量统计系统c&c++课程设计-职工工作量统计系统c&c++课程设计-职工工作量统计系统c&c++课程设计-职工工作量统计系统c&c++课程设计-职工工作量统计系统c&c++课程设计-职工工作量统计系统c&c++课程设计-职工工作量统计系统c&c++课程设计-职工工作量统计系统c&c++课程设计-职工工作量统计系统c&c++课程设计-职工工作量统计系统c&c++课
资源推荐
资源详情
资源评论





















收起资源包目录
















共 13 条
- 1
资源评论



公版JAVA开发
- 粉丝: 8147
上传资源 快速赚钱
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助


最新资源
- 工程的项目管理系统解决方案设计.doc
- 自动喷泉PLC-控制系统.doc
- 校园无线网络技术及应用发展(英文版).pptx
- 综合实践活动课《网络的利与弊》分析PPT课件.ppt
- LED显示屏控制软件操作手册Wifi精简版.doc
- 项目管理文档规格表样本.doc
- 计算机技术系请假条存根.doc
- 完美版课件单片机原理与接口技术复习重点.ppt
- 基于JEE的猪肉质量安全可追溯网络化系统研究基于We.pptx
- 企业大数据架构图网络拓扑.pptx
- 极限运算法则07278.pptx
- 银行ATM机无线网络组网解决方案.doc
- 弱电工程师培训资料-第三章-分类设计要求-7机房-综合布线系统的电气防护原则.doc
- 动漫网站策划书.doc
- 互联网环境下内部审计的华丽转身[会计实务优质文档].doc
- 网络系统施工报告.doc
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈



安全验证
文档复制为VIP权益,开通VIP直接复制
