简单的职工管理系统#include<stdio.h>#include<stdlib.h>#include<ctype.h>#include<string.h>typedef struct //,,,,?,,?,,,,壬(,,,,,,,,,,,,,,?,,,,,,,,?,,?,?,,,?,,,, {char name[20];//,,,,char sex[4]; //,,,int birthday; //,,,,,,,,int year; //,,,,,,,,char degree[8]; // ,,///,,,?,,?,?,,,,,char position[30]; //?,,///,,,?,,,?,?,,,,,,,?,,char address[30]; // ,,?///?,,,?,,,ô,,,,,?,,,,,,char phone[15]; //,,///}employee;employee emp[80]; ///,,,,,,,,,,,,,"struct"?int menu_select() //,,,,,,,{char c;do{printf("?,,,,,,,\n"); //,,,,,??printf(" | 1. Input Records \n");printf(" | 2. Display All Records |\n");printf(" | 3. Sort |\n");printf(" | 4. Insert a Record |\n");printf(" | 5. Delete a Record |\n");printf(" | 6. Query |\n");printf(" | 7. Change |\n");printf(" | 0. Quit |\n");printf("Give your Choice(0-7):");c=getchar(); //,,,,,, ?}while(c<'0'||c>'7');return(c-'0'); //,,,,,,?}int Input(employee emp[],int n) //,,,,,,,,,,?{int i=0;char sign;do{printf("employee's name:\n"); //,,,,,,,,scanf("%s",&emp[i].name);///û"employee",,,,?,,"emp",,,,,,,?,,,,,,,,,,,, printf("employee's sex:\n");scanf("%s",&emp[i].sex); ///printf("employee's birthday:\n");scanf("%d",&emp[i]. birthday);///printf("employee's year:\n");scanf("%d",&emp[i].year); ///printf("employee's degree:\n");scanf("%s",&emp[i].degree);///printf("employee's position:\n");scanf("%s",&emp[i].position);///printf("employee's address:\n");scanf("%s",&emp[i].address);///printf("employee's phone:\n");scanf("%s",&emp[i].phone);///printf("any more records?(Y/N)\n");getchar();sign=getchar();//,,,,,ж,///,,?,,,,,У,,,,,,,,,,,,,,4,, i++;} while(sign!='n'&&sign!='N'); //,ж,return n+i;}Display(employee emp[],int n)//,,,,,,м,?{int i;printf(",,,,,?\n");for(i=0;i<n;i++)//,,,,,,///,,,,,,,,,,,,,,?,,,,{printf("num:\t\t%d\n",i+1);printf("name:\t\t%s\n",emp[i].name);printf("sex:\t\t%s\n",emp[i].sex);printf("birthday:\t%d\n",emp[i].birthday);printf("year:\t\t%d\n",emp[i].year);printf("degree:\t\t%s\n",emp[i].degree);printf("position:\t%s\n",emp[i].position);printf("phone:\t\t%s\n",emp[i].phone);}}void Sort_by_name(employee emp[],int n) /*,,,,,,,,*/ ? {int i,j;employee t;///,м,,,?,,,,?,,,,,,,??for(i=0;i<n-1;i++) /*ð,,,,,,,*/for(j=0;j<n-1-i;j++)if(strcmp(emp[j].name,emp[j+1].name)>0){strcpy(,emp[j+1].name); //,,,,,,,,strcpy(emp[j+1].name,emp[j].name);strcpy(emp[j].name,);strcpy(t.sex,emp[j+1].sex); //,,,,,,,strcpy(emp[j+1].sex,emp[j].sex);strcpy(emp[j].sex,t.sex);t.birthday=emp[j+1]. birthday;//,,,,,,,,,,,emp[j+1].birthday=emp[j].birthday;emp[j].birthday=t.birthday;t.year=emp[j+1].year; //,,,,,,,,emp[j+1].year=emp[j].year;emp[j].year=t.year;strcpy(t.degree,emp[j+1].degree); //,,?strcpy(emp[j+1].degree,emp[j].degree);strcpy(emp[j].degree,t.degree);strcpy(t.position,emp[j+1].position); //?,,strcpy(emp[j+1].position,emp[j].position);strcpy(emp[j].position,t.position);strcpy(t.address,emp[j+1].address); //??strcpy(emp[j+1].address,emp[j].address);strcpy(emp[j].address,t.address);strcpy(t.phone,emp[j+1].phone); // ,,strcpy(emp[j+1].phone,emp[j].phone);strcpy(emp[j].phone,t.phone);}}int Insert_a_record(employee emp[],int n) /*,,,,?,,,?*/ {printf("employee's name:\n");scanf("%s",&emp[n].name); ///i,?,n,,,,,,?,,printf("employee's sex:\n");scanf("%s",&emp[n].sex); ///printf("employee's birthday:\n");scanf("%d",&emp[n]. birthday);///printf("employee's year:\n");scanf("%d",&emp[n].year); ///printf("employee's degree:\n");scanf("%s",&emp[n].degree);///printf("employee's position:\n");scanf("%s",&emp[n].position);///printf("employee's address:\n");scanf("%s",&emp[n].address);///printf("employee's phone:\n");scanf("%s",&emp[n].phone);///n++;Sort_by_name(emp,n); /*,,,,,,,,,,*/printf(",,,,,,,?\n"); /*,,,??,,,,*/ ?return(n);}int Delete_a_record(employee emp[],int n) /*,,,,,,,,?,,,?,,,?*/ ?{ char s[20];int i=0,j;printf(",,,,,,,,,,:\n"); /*,,,,,,,*/ ?scanf("%s",s);while(strcmp(emp[i].name,s)!=0&&i<n) i++; /*,,,,,ж,*/if(i==n){printf("δ,,,,\n"); /*,,,,,,,,,*/ ??return(n);}for(j=i;j<n-1;j++) /*,,,,,*/ ?{///,,,,"stud",,,,"emp",,,,,,,,,?,,,,,,?,,,?,,,,,,,,,,,,,,?,,,,,,4,?, strcpy(emp[j].name,emp[j+1].name);strcpy(emp[j].sex,emp[j+1].sex);emp[j].birthday=emp[j+1].birthday;emp[j].year=emp[j+1].year;strcpy(emp[j].degree,emp[j+1].degree);strcpy(emp[j].position,emp[j+1].position);strcpy(emp[j].address,emp[j+1].address);strcpy(emp[j].phone,emp[j+1].phone);}printf(",,,,!\n"); /*,,,???,,,,*/ ?return(n-1);}void Query_a_record(employee emp[],int n) /*,,,?,,,,?,,,?*/{char s;int i=0;printf(",,,,,,, ,,,,:m ?,,:w \n"); /*,,,,,,,,,*/scanf("%s",s);while(strcmp(emp[i].sex,s)!=0&&i<n) i++; /*,,,,,ж,*/if(i==n){printf("δ,,,,,,?!\n"); /*,,,,,,,,,*/ ??return;}printf("%s\t\t%s\t\t%d\t\t%d\t\t%s\t\t%s\t\t%s\t\t%s\n",emp[i].name, \emp[i].sex,emp[i].birthday,emp[i].year,emp[i].degree,emp[i].position ,emp[i].address,emp[i].phone);}void Change_a_record(employee emp[],int n) //,,,,?,,,?,?,?{char s[20], c, m; ///,,,?,,"s",,?"c" ?int i=0;printf(",,,,,,,,,,:\n"); /*,,,,,,,*/ ?scanf("%s",s);while(strcmp(emp[i].name,s)!=0&&i<n) i++; /*,,,,,ж,*/if(i==n){printf("δ,,,,\n"); /*,,,,,,,,,*/ ??return(n);}printf(",,,,,,,?,?,,,, ,,d? ?,,p ??,,a ,,,,t\n");c=getchar();printf(",,,,,,,,?,,,,,:\n");scanf("%s",&m);switch(c){case 'd': strcpy(emp[i].degree,m); break;///,?,,,,,,,?,,,,,,,,,??? case 'p': strcpy(emp[i].position,m); break;case 'a': strcpy(emp[i].address,m); break;case 't': strcpy(emp[i].phone,m); break;default: printf(",,,,,,,!\n");}}void main() /*,,,,*/{int n=0;for(;;){switch(menu_select()) /*,,,ж,*/ ?{case 1:printf("Input Records\n"); /*,,,,,,,,,,?*/n=Input(emp,n);break;case 2:printf("Display All Records\n"); /*,,,,,,м,?*/ Display(emp,n);break;case 3:printf("Sort\n");Sort_by_name(emp,n); /*,,,,,,,,,,*/printf("Sort Suceessed!\n");break;case 4:printf("Insert a Record\n");n=Insert_a_record(emp,n); /*,,,,?,,,?*/break;case 5:printf("Delete a Record\n");n=Delete_a_record(emp,n); /*,,,,,,,,?,,,?,,,?*/? break;case 6:printf("Query\n");Query_a_record(emp,n); /*,,,?,,,,?,,,?*/ break;case 7:printf("Change\n");Change_a_record(emp,n); /*,,,,,,,,,,,,,,,,*/break;case 0:printf("Have a Good Luck,Bye-bye!\n"); /*,,,,,,,*/ exit(0);}}}。