职工工作量统计系统源程序

合集下载
相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

#include "stdio.h"

#include "string.h"

#include "stdlib.h"

#define FILENAME "worker.bin"

#define N 20

struct worker

{

int number; /*工号*/

int counts; /*数量*/

int grade; /*等级*/

};

/*******************************************************

定义

*******************************************************/

void xinxi()

{

printf("\n++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +\n");

printf("+ 职工工作量统计系统+\n");

printf("+ +\n");

printf("+ 1. 职工基本信息输入+\n");

printf("+ +\n");

printf("+ 2. 工作量输入+\n");

printf("+ +\n");

printf("+ 3. 按工作量排序+\n");

printf("+ +\n");

printf("+ 4. 按职工工号进行信息删除+\n");

printf("+ +\n");

printf("+ 5. 结束程序+\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;

}

/*******************************************************

信息显示到屏幕

*******************************************************/

int f(struct worker w[],int length)

{

int i=length;

while(i

{

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("%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

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

{

k=i;

for(j=i+1;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;

相关文档
最新文档