You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

124 lines
3.0 KiB

6 years ago
#include "stdio.h"
6 years ago
#include "stdlib.h"
#define FILENAME "worker.bin"
6 years ago
#define N 20
6 years ago
/*******************************************************
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
*******************************************************/
6 years ago
struct worker
{
int number; /*<2A><><EFBFBD><EFBFBD>*/
int counts; /*<2A><><EFBFBD><EFBFBD>*/
6 years ago
int grade; /*<2A><><EFBFBD><EFBFBD>*/
6 years ago
};
/*******************************************************
6 years ago
<EFBFBD><EFBFBD>ʾ<EFBFBD>˵<EFBFBD>
6 years ago
*******************************************************/
void xinxi()
{
printf("\n+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n");
printf("+ ְ<><D6B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͳ<EFBFBD><CDB3>ϵͳ +\n");
printf("+ +\n");
printf("+ 1. ְ<><D6B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD> +\n");
printf("+ +\n");
printf("+ 2. <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> +\n");
printf("+ +\n");
printf("+ 3. <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> +\n");
printf("+ +\n");
printf("+ 4. <20><>ְ<EFBFBD><D6B0><EFBFBD><EFBFBD><EFBFBD>Ž<EFBFBD><C5BD><EFBFBD><EFBFBD><EFBFBD>Ϣɾ<CFA2><C9BE> +\n");
printf("+ +\n");
printf("+ 5. <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> +\n");
printf("+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n");
6 years ago
}
/*******************************************************
<EFBFBD><EFBFBD>Ϣ<EFBFBD><EFBFBD>ʾ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ļ
*******************************************************/
readFromFile(struct worker w[])
{
FILE *fp=NULL;
int i=0;
fp=fopen(FILENAME,"rb"); /*<2A><><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>*/
if(fp!=NULL)
{
while(!feof(fp)) /*<2A><><EFBFBD>ļ<EFBFBD><C4BC>ж<EFBFBD><D0B6><EFBFBD>ѧ<EFBFBD><D1A7>*/{
if(i>=N)
break;
if(fread(w+i,sizeof(worker),1,fp)==1)
i++;
}
fclose(fp);
}
return i;
}
/*******************************************************
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>:<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ְ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
*******************************************************/
int f(struct worker w[],int length)
{
int i=length;
while(i<N){
printf("<EFBFBD><EFBFBD>%d<><64>ְ<EFBFBD><D6B0>\n",i);
printf("\n");
printf("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(<28><>ְ<EFBFBD><D6B0><EFBFBD><EFBFBD>Ϊ0<CEAA><30><EFBFBD><EFBFBD>):\n");/*<2A><><EFBFBD><EFBFBD><EBB9A4>*/
scanf("%d",&w[i].number);
if(w[i].number==0)
break;
printf("\n");
printf("\n");
printf("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>:\n");/*<2A><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>*/
scanf("%d",&w[i].counts);
printf("\n");
i++;
}
return i;
}
/*******************************************************
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>:<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ۼ<EFBFBD>
*******************************************************/
void input(struct worker w[],int length)
{
int i=1;
int number,counts;
printf("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>:");
scanf("%d",&number);
while(number!=0)
{
printf("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>:\n");
scanf("%d",&counts);
for(i=0;i<length;i++)
if(w[i].number==number)
{
w[i].counts+=counts;
break;
}
if(i>=length)
printf("<EFBFBD><EFBFBD><EFBFBD>Ų<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>:\n");
printf("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>:");
scanf("%d",&number);printf("<EFBFBD><EFBFBD><EFBFBD>Ų<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>:\n");
printf("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>:");
scanf("%d",&number);
}
}
6 years ago
int main (){
6 years ago
int choice;
struct worker w[N];
int NUM;
char stuName[100];
int stuNum;
int length=0;
length=readFromFile(w);//<2F><><EFBFBD><EFBFBD>
6 years ago
do
{ xinxi();
scanf("%d",&choice);
6 years ago
switch(choice)
{ case 1:
length=f(w,length);
break;
case 2:
input(w,length);
break;
}
6 years ago
}while(1);
}