當前位置:編程學習大全網 - 編程語言 - 請用C語言編寫壹個:職工工作量統計系統

請用C語言編寫壹個:職工工作量統計系統

#include <stdio.h>

#include <string.h>

#include <header.h>

/*

編寫壹個程序,該程序輸入職工工號和完成的產品數量,

程序允許同壹職工有多次輸入,由程序對其完成的產品數量實現累計。

程序按完成數量對他們排序,並確定他們的名次。按完成產品數量由多到少的順序,

輸出名次、同壹名次的職工人數及他們的工號(工號由小到大順序輸出)。

信息:職工編號(nEmployId,nProductNumber)

要求:1.允計同壹人多次輸入,對產品實行累計

*/

const int nPerson = 10;//車間工人數

char *arr_personId[] = {"001", "002", "003", "004", "005", "006", "007", "008", "009", "010"};

int arr_proNumber[nPerson] = {0};

/*

某個員工的產品數量

*/

void PersonOne(int index)

{

int nProCount, nClear;

scanf("%d", &nProCount);

while(nProCount < 0)

{

printf("您輸入的計件數量不符合標準,請輸入數字:\n");

while((nClear = getchar()) != '\n' && nClear != EOF);

scanf("%d", &nProCount);

}

arr_proNumber[index] += nProCount;

}

/*

所有員工計量統計

*/

void AllPersonPro()

{

int i =0;

while(i < nPerson)

{

char nPerId[nPerson];

memset(nPerId, '\0', nPerson);

printf("請輸入您的編號及完成的產品數量:\n");

scanf("%s", nPerId);

int j = 0, index = 0, flag = 0;

for(j = 0;j < nPerson;++j)

{

if(!strcmp(nPerId, arr_personId[j]))

{

index = j;

++flag;

}

}

j = 0;

while(flag == 0)

{

printf("對不起,您輸入的編號不正確,請確認後重新輸入:\n");

scanf("%s", nPerId);

while(j < nPerson)

{

if(!strcmp(nPerId, arr_personId[j]))

{

index = j;

++flag;

break;

}

++j;

}

}

if(arr_proNumber[index] == 0)

{

++i;

}

PersonOne(index);

}

}

struct Employ

{

char cEmpNum[nPerson];

int nNumber;

};

/*

員工計件排名

*/

void sort()

{

AllPersonPro();

struct Employ p[nPerson];

int i = 0;

for(i = 0;i < nPerson;++i)

{

strcpy(p[i].cEmpNum, arr_personId[i]);

p[i].nNumber = arr_proNumber[i];

}

//對員工作進行排名

for(i = 0;i < nPerson;++i)

{

for(int j = i; j > 0;--j)

{

//根據計件數排名

if(p[j].nNumber > p[j-1].nNumber)

{

struct Employ temp = p[j];

p[j] = p[j-1];

p[j-1] = temp;

}

//如果計件數相同,根據工號排名

if(p[j].nNumber == p[j-1].nNumber)

{

if(strcmp(p[j].cEmpNum, p[j-1].cEmpNum) < 0)

{

struct Employ temp = p[j-1];

p[j-1] = p[j];

p[j] = temp;

}

}

}

}

for(i = 0;i < nPerson;++i)

{

printf("編號:%s 計件數:%d\n", p[i].cEmpNum, p[i].nNumber);

}

}

  • 上一篇:PASCAL試卷小學組
  • 下一篇:小學英語主要學什麽?
  • copyright 2024編程學習大全網