<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
本文範例為大家分享了C語言實現簡單員工工資管理系統的具體程式碼,供大家參考,具體內容如下
1、公司主要有經理、技術員、銷售員、銷售經理4類崗位人員,他們都有基本資訊:職工號、姓名、性別、部門、崗位、工齡、當月工資等。一個部門最多隻能有一個銷售經理,一個部門可以有多個銷售員,一個部門可以有若干個經理和若干技術員。
2、員工資料包括基本資料資料和工資資料兩部分,員工基本資料資料包括職工號、姓名、性別、部門、崗位、工齡;員工工資資料包括工作時間、小時工資、銷售額、底薪、當月工資。
3、員工當月工資的計算辦法。
A.經理:底薪(8000)+工齡×35;
B.技術員:工作時間×小時工資(100元每小時)+工齡×35;
C.銷售員:銷售額×4%提成+工齡×35;
D.銷售經理:底薪(8000)+所轄部門銷售額總額×0.5%+工齡×35。
現在需要開發一個公司員工工資管理系統對員工工資進行有效管理。
資料維護管理:要求對員工的基本資料資料和工資資料分開管理。基本資料資料的維護管理功能包括新增(批次、單個)、修改、刪除、查詢等;工資資料的維護管理功能包括輸入(批次、單個)、修改、刪除、查詢等。
A. 基本資料資料的維護管理
(1).新增:(批次、單個)新增員工基本資料資料。基本資料資料包括職工號、姓名、性別、部門、崗位、工齡。
(2).修改:根據職工號來修改任意員工的除職工號外的其他基本資料資料。
(3).刪除:根據職工號刪除一個員工。
(4).查詢:根據職工號查詢一個員工的基本資料資料。
B. 工資資料的維護管理
(1).輸入:(批次、單個)輸入員工工資資料。工資資料根據員工型別的不同而有區別,輸入的相關資料也應不同。注意:當月工資是計算項,不能輸入。
(2).修改:根據職工號來修改任意員工的相關工資資料(注意:不同類別員工相關資料不同)。
(3).刪除:根據職工號刪除一個員工(不能刪除,只需將相關資料項設定成-1)。
(4).查詢:根據職工號查詢一個員工的工資資料。
(5).計算:批次計算所有技術員、銷售員和銷售經理的當月工資額。注意,① 銷售經理所轄部門銷售額總額為本部門所有銷售員當月銷售額之和。② 只有各項資料都為有效資料時(-1為無效資料),才能計算。
查詢資料
1、分頁顯示全部員工的資訊。分頁功能:每頁顯示10條員工的資訊,有上一頁、下一頁、首頁和最後一頁的功能。
2、按部門顯示本部門全部員工資訊。注意:無需分頁顯示。
3、分類顯示4種崗位的員工資訊。注意:無需分頁顯示。
4、根據工號或者姓名查詢員工資訊。
排序:
1、所有員工資訊按當月工資從高到低排序並顯示。注意:無需分頁顯示。
2、某個崗位的員工資訊按當月工資從高到低排序並顯示。注意:無需分頁顯示。
統計:
1、統計並顯示某個部門的平均工資、最低工資、最高工資。
2、統計並顯示某個部門超出平均工資的人數與員工資訊。注意:無需分頁顯示。
3、統計並顯示所有員工中的最低工資和最高工資員工的資訊。
4、統計並顯示所有員工超出平均工資的人數與員工資訊。注意:無需分頁顯示。
1、員工用結構體表示,全體員工用一個連結串列來表示。某一崗位的員工,可以只使用員工結構體的部分成員,比如:經理只使用基本資訊成員,而不使用銷售額成員、工作時間成員。
2、必須用檔案來儲存員工資訊:開始執行程式時從檔案中讀取員工資訊到連結串列,退出程式時將員工資訊儲存到檔案中。
3、主選單有一個選單項能夠將員工資訊儲存到檔案。
4、資料約束:
1)、職工號:整型、不能重複、從1開始依次遞增、由軟體自動計算產生,不能修改。
2)、崗位:列舉型別,分別表示經理、技術員、銷售員、銷售經理。
3)、員工的其他資訊不能為空。
4)、其他:至少有兩層選單。
#include <stdio.h> #include <stdlib.h> #include <string.h> typedef struct employee{ int num; /* 工號 */ char name[20]; /* 姓名 */ int sex; /* 性別 1 man 2 madam*/ int department; /* 部門 */ int post; /* 1為經理、2為技術員、3為銷售員、4為銷售經理 */ int lengthservice; /* 工齡 */ int hour; /* 工作時間 */ int hoursalary; /* 時薪*/ int sales; /* 銷售額*/ int basicsalary; /* 底薪*/ int salary; /* 工資總數*/ struct employee *next; }employee; struct Employee{ int num; char name[20]; /* 姓名 */ int sex; /* 性別 1 man 2 madam*/ int department; /* 部門 */ int post; /* 1為經理、2為技術員、3為銷售員、4為銷售經理 */ int lengthservice; /* 工齡 */ int hour; /* 工作時間 */ int hoursalary; /* 時薪*/ int sales; /* 銷售額*/ int basicsalary; /* 底薪*/ int salary; /* 工資總數*/ }; void main() { int num=0,flag,a,NUM; char name[20]; employee *list,*rare;//頭節點list無資料 尾指標rare有資料 int increase(employee *rare,int *num); void DecendOrder(employee *list); void Statistics(employee *list); void queryAll(employee *list); void querybasic(employee *list,int num); void Delete(employee *list,int num); void DeleteSalary(employee *list,int num); void querysalary(employee *list,int num); void change(employee *list,int num); void changesalary(employee *list,int num); void Statistics2(employee *list); void querynum(employee *list,int num); employee *import(employee *list,int *num); void salary(employee *list); void Statistics3(employee *list); void Statistics4(employee *list); void save(employee *list); void queryname(employee *list,char name[20]); void querydepart(employee *list,int num); void querypost(employee *list); void DecendOrder2(employee *list); list=(employee *)malloc(sizeof(employee)); list->next=NULL; rare=import(list,&num); if(num==0) increase(list,&num); salary(list); while(1) { begin:printf("選單:新增資料:1 修改資料:2 刪除資料:3 查詢資料:4 儲存資料:5 統計資料:6 資料排序:7 退出:0n"); scanf("%d",&flag); if(flag==0){ save(list); exit(0);} switch(flag){ case 1:increase(rare,&num);salary(list);save(list);break; case 2:printf("修改基本資訊:1 修改工資資訊:2 返回:0n");scanf("%d",&a); switch(a){ case 0:goto begin;break; case 1:printf("請輸入要修改的工號n");scanf("%d",&NUM);change(list,NUM);break; case 2:printf("請輸入要修改的工號n");scanf("%d",&NUM);changesalary(list,NUM);break; }break; case 3:printf("刪除基本資訊:1 刪除工資資訊:2 返回:0n");scanf("%d",&a); switch(a){ case 0:goto begin;break; case 1:printf("請輸入要刪除的工號n");scanf("%d",&NUM);Delete(list,NUM);break; case 2:printf("請輸入要刪除的工號n");scanf("%d",&NUM);DeleteSalary(list,NUM);break; }break; case 4:printf("查詢基本資訊:1 查詢工資資訊:2 查詢全部資訊:3 查詢部門資訊:4 查詢各個崗位資訊:5 工號查詢資訊:6 姓名查詢資訊:7 返回:0n");scanf("%d",&a); switch(a){ case 0:goto begin;break; case 1:printf("請輸入要查詢的工號n");scanf("%d",&NUM);querybasic(list,NUM);break; case 2:printf("請輸入要查詢的工號n");scanf("%d",&NUM);querysalary(list,NUM);break; case 3:queryAll(list);break; case 4:printf("請輸入要查詢的部門號n");scanf("%d",&NUM);querydepart(list,NUM);break; case 5:querypost(list);break; case 6:printf("請輸入要查詢的工號n");scanf("%d",&NUM);querynum(list,NUM);break; case 7:printf("請輸入想查詢的姓名n");scanf("%s",name);queryname(list,name);break; }break; case 5:save(list);break; case 6:printf("統計部門平均工資,最低,最高工資:1 統計部門超過平均工資的人數與員工資訊:2n統計所有員工最低工資和最高工資員工的資訊:3 統計所有員工超出平均工資的人數與員工資訊:4n 返回:0n");scanf("%d",&a); switch(a){ case 0:goto begin;break; case 1:Statistics(list);break; case 2:Statistics2(list);break; case 3:Statistics3(list);break; case 4:Statistics4(list);break; }break; case 7:DecendOrder2(list);break; default:printf("輸入錯誤");goto begin;}} } int increase(employee *rare,int *num)//新增資料 { employee *p,*q; char name[20]; int sex,department,post,lengthservice,hour,hoursalary,sales,basicsalary; q=rare; printf("請輸入姓名,性別(1為男,2為女),部門,職位(1為經理、2為技術員、3為銷售員、4為銷售經理),工齡,工作時間,時薪,銷售額,底薪:(工時為-1時停止輸入)n"); scanf("%s%d%d%d%d%d%d%d%d",name,&sex,&department,&post,&lengthservice,&hour,&hoursalary,&sales,&basicsalary); while(hour!=-1) { num++; p=(employee *)malloc(sizeof(employee)); strcpy(p->name,name); p->num=*num; p->sex=sex; p->department=department; p->post=post; p->lengthservice=lengthservice; p->hour=hour; p->hoursalary=hoursalary; p->sales=sales; p->basicsalary=basicsalary; if(*num==1) rare->next=p; else q->next=p; q=p; p->next=NULL; scanf("%s%d%d%d%d%d%d%d%d",name,&sex,&department,&post,&lengthservice,&hour,&hoursalary,&sales,&basicsalary); } return *num; } void salary(employee *list)//計算工資 { employee *p=list->next,*q=list->next; int sales=0; while(p!=NULL) { if(p->hour==-1)p=p->next; if(p->post==3) p->salary=p->sales*4/100+35*p->lengthservice; else if(p->post==2) p->salary=100*p->hour+35*p->lengthservice; else if(p->post==1) p->salary=8000+p->lengthservice*35; else if(p->post==4){ while(q!=NULL) { if(q->post==3&&q->department==p->department) sales+=q->sales; q=q->next; } p->salary=sales*5/1000+8000+p->lengthservice*35; q=list->next;} p=p->next; } } void querybasic(employee *list,int num)//查詢基本資訊 { employee *p; p=list->next; while(p->num!=num&&p!=NULL) p=p->next; if(p->num==num){ printf("工號 名字 性別 部門 職位 工齡n"); printf("%-5d%-5s%-5d%-5d%-5d%-5dn",p->num,p->name,p->sex,p->department,p->post,p->lengthservice);} if(p==NULL) printf("該工號不存在n"); } void querysalary(employee *list,int num)//查詢工資資訊 { employee *p; p=list->next; while(p->num!=num&&p!=NULL) p=p->next; if(p->num==num){ printf("工號 工時 時薪 銷售額 底薪 工資n"); printf("%-6d%-6d%-6d%-8d%-6d%-6dn",p->num,p->hour,p->hoursalary,p->sales,p->basicsalary,p->salary);} if(p==NULL) printf("該工號不存在n"); } void Delete(employee *list,int num)//刪除基本資訊 { employee *p,*q; p=list->next; q=p->next; while(p->next->num!=num) { p=p->next; q=p->next; } if(q->num==num) p->next=q->next; else printf("職工號在範圍外"); q=q->next; while(q!=NULL) { q->num--; q=q->next; } } void DeleteSalary(employee *list,int num)//刪除工資資訊 { employee *p; p=list->next; while(p->num!=num) p=p->next; if(p->num==num){ p->hour=-1; p->hoursalary=-1; p->sales=-1; p->basicsalary=-1;} else printf("該工號超出範圍"); } employee *import(employee *list,int *num)//讀取檔案 { FILE *fp; struct Employee stu; employee *q,*p; if((fp=fopen("employee.dat","rb"))==NULL){ printf("檔案不存在,輸入資料以建立一個檔案儲存資訊n"); return 0;} q=(employee *)malloc(sizeof(employee)); while(!feof(fp)) { if((fread(&stu,sizeof(struct Employee),1,fp))!=1)break; *num=*num+1; p=(employee *)malloc(sizeof(employee)); strcpy(p->name,stu.name); p->num=*num; p->sex=stu.sex; p->department=stu.department; p->post=stu.post; p->lengthservice=stu.lengthservice; p->hour=stu.hour; p->hoursalary=stu.hoursalary; p->sales=stu.sales; p->basicsalary=stu.basicsalary; p->salary=stu.salary; if(*num==1) list->next=p; else q->next=p; q=p; p->next=NULL; } fclose(fp); return q; } void save(employee *list)//儲存到檔案 { struct Employee stu; FILE *fp; employee *p; p=list->next; if((fp=fopen("employee.dat","wb"))==NULL){ printf("error"); exit(0);} while(p!=NULL) { stu.num=p->num; strcpy(stu.name,p->name); stu.sex=p->sex; stu.department=p->department; stu.post=p->post; stu.lengthservice=p->lengthservice; stu.hour=p->hour; stu.hoursalary=p->hoursalary; stu.sales=p->sales; stu.basicsalary=p->basicsalary; stu.salary=p->salary; if((fwrite(&stu,sizeof(struct Employee),1,fp))!=1)printf("error"); p=p->next; } fclose(fp); } void change(employee *list,int num)//改變基本資料 { char name[20]; int sex,department,post,lengthservice; employee *p=list->next; while(p->num!=num&&p->next!=NULL) p=p->next; if(p->num==num){ printf("請輸入修改後的姓名 性別 部門 崗位 工齡n"); scanf("%s%d%d%d%d",name,&sex,&department,&post,&lengthservice); strcpy(p->name,name); p->sex=sex; p->department=department; p->post=post; p->lengthservice=lengthservice;} else printf("職工號超出範圍"); } void changesalary(employee *list,int num)//改變工資資料 { int hour,hoursalary,sales,basicsalary; employee *p=list->next; while(p->num!=num) p=p->next; if(p->num==num){ printf("請輸入修改後的工作時間 小時工資 銷售額 底薪 n"); scanf("%d%d%d%d",&hour,&hoursalary,&sales,&basicsalary); p->hour=hour; p->hoursalary=hoursalary; p->sales=sales; p->basicsalary=basicsalary;} else printf("職工號超出範圍"); } void queryAll(employee *list)//分頁查詢所有資訊 { employee *p,*page[100]; int n,i,top=0,flag=0,max; p=list->next; while(p!=NULL) { page[++top]=p; i=1; while(i<=10) { i++; p=p->next; if(p==NULL)break; } } max=top; top=0; p=page[++top]; printf("工號 姓名 性別 部門 崗位 工齡 工時 時薪 銷售額 底薪 工資n"); while(1) { i=1; while(i<=10) { i++; printf("%-5d%-5s%-5d%-5d%-5d%-5d%-5d%-5d%-7d%-5d%-5dn",p->num,p->name,p->sex,p->department,p->post,p->lengthservice,p->hour,p->hoursalary,p->sales,p->basicsalary,p->salary); p=p->next; if(p==NULL)break; } begin:printf("當前頁碼%d 首頁->1 上一頁->2 下一頁->3 尾頁->4 退出->0n",top); scanf("%d",&n); if(n==0)break; else if(n==1)top=1,p=page[1]; else if(n==2){ if(top==1){ printf("當前已經是第一頁n"); goto begin;} else p=page[--top];} else if(n==3){ if(top==max){ printf("當前已經是最後一頁n"); goto begin;} else p=page[++top];} else if(n==4)top=max,p=page[max]; else goto begin; } } void querydepart(employee *list,int num)//輸出該部門全部員工資訊 { employee *p=list->next; printf("%d部門的全部員工資訊為:n",num); printf("工號 姓名 性別 部門 崗位 工齡 工時 時薪 銷售額 底薪 工資n"); while(p!=NULL) { if(p->department==num) printf("%-5d%-5s%-5d%-5d%-5d%-5d%-5d%-5d%-7d%-5d%-5dn",p->num,p->name,p->sex,p->department,p->post,p->lengthservice,p->hour,p->hoursalary,p->sales,p->basicsalary,p->salary); p=p->next; } } void querypost(employee *list)//分類顯示四個崗位的員工資訊 { employee *p; int i=0; while(i<4) { switch(i){ case 0:printf("經理崗位的資訊為(若為空則無):n");break; case 1:printf("技術員崗位的資訊為(若為空則無):n");break; case 2:printf("銷售員崗位的資訊為(若為空則無):n");break; case 3:printf("銷售經理崗位的資訊為(若為空則無):n");break; } p=list->next; i++; while(p!=NULL) { if(p->post==i) printf("%d %s %d %d %d %d %d %d %d %d %dn",p->num,p->name,p->sex,p->department,p->post,p->lengthservice,p->hour,p->hoursalary,p->sales,p->basicsalary,p->salary); p=p->next; } } } void querynum(employee *list,int num)//工號查詢個人全部資訊 { employee *p; p=list->next; while(p!=NULL) { if(p->num==num) break; p=p->next; } if(p->num==num){ printf("工號 姓名 性別 部門 崗位 工齡 工時 時薪 銷售額 底薪 工資n"); printf("%-5d%-5s%-5d%-5d%-5d%-5d%-5d%-5d%-7d%-5d%-5dn",p->num,p->name,p->sex,p->department,p->post,p->lengthservice,p->hour,p->hoursalary,p->sales,p->basicsalary,p->salary);} else printf("工號超出範圍"); } void queryname(employee *list,char name[20])//用姓名查詢資料 { employee *p; p=list->next; while(p!=NULL) { if(strcmp(p->name,name)==0) break; p=p->next; } if(strcmp(p->name,name)==0){ printf("工號 姓名 性別 部門 崗位 工齡 工時 時薪 銷售額 底薪 工資n"); printf("%-5d%-5s%-5d%-5d%-5d%-5d%-5d%-5d%-7d%-5d%-5dn",p->num,p->name,p->sex,p->department,p->post,p->lengthservice,p->hour,p->hoursalary,p->sales,p->basicsalary,p->salary);} else printf("該姓名不存在"); } void Statistics(employee *list) { employee *p=list->next,*q=list->next,*max=list->next,*k; //p,q作為迴圈指標,max指標指向最大的 employee *headis=NULL; //用來儲存部門的資訊 employee *Max,*Min; //最大和最小值的成員 int i=0; //計算部門的人數; int sum=0,avar=0; //總值,平均值 int department; //用來接收想要統計的部門 printf("請輸入你想要統計的部門:n"); scanf("%d",&department); //提取所要統計的部門的成員 while(p) { if(p->num==-1) { p=p->next; continue; } if(department==p->department) { q=(employee *)malloc(sizeof(employee)); *q=*p; q->next=NULL; if(!headis) headis=q; else k->next=q; k=q; } p=p->next; } //計算最大、最小和平均值 p=headis; q=headis; Max=headis; Min=headis; while(p) { if(p->num==-1) { p=p->next; continue; } if(p->salary>Max->salary) Max=p; else if(p->salary<Min->salary) Min=p; sum+=p->salary ; p=p->next; i++; } avar=sum/i; printf("部門:%dn",department); printf("平均工資:%dn",avar); printf("最低工資:%dn",Min->salary); printf("最高工資:%dn",Max->salary); } void Statistics2(employee *list) { employee *p=list->next,*q=list->next,*max=list->next,*k; //p,q作為迴圈指標,max指標指向最大的 employee *headis=NULL; //用來儲存部門的資訊 int j=0,i=0; //用j來計算人數,i計算工資大於平均工資的人數 int sum=0,avar=0; //平均值 int department; //用來接收想要統計的部門 printf("請輸入你想要統計的部門:n"); scanf("%d",&department); //提取所要統計的部門的成員 while(p!=NULL) { if(p->num==-1) { p=p->next; continue; } if(department==p->department) { j++; q=(employee*)malloc(sizeof(employee)); *q=*p; q->next=NULL; if(!headis) headis=q; else k->next=q; k=q; } p=p->next; } //計算最大、最小和平均值 p=headis; q=headis; while(p!=NULL) { if(p->num==-1) { p=p->next; continue; } sum+=p->salary ; p=p->next; } avar=sum/j; p=q; headis=0; //提取超過平均工資的部門的成員 while(p!=NULL) { if(p->num==-1) { p=p->next; continue; } if((p->salary)>avar) { i++; q=(employee *)malloc(sizeof(employee)); *q=*p; q->next=NULL; if(!headis) headis=q; else k->next=q; k=q; } p=p->next; } p=headis; printf("部門:%dn",department); printf("超出平均工資的人數為:%dn",i); if(i!=0){ printf("這些成員的資訊如下:n"); printf("工號 工時 時薪 銷售額 底薪 工資n"); while(p!=NULL) { if(p->num==-1) { p=p->next; continue; } printf("%-6d%-6d%-6d%-8d%-6d%-6dn",p->num,p->hour,p->hoursalary,p->sales,p->basicsalary,p->salary); p=p->next ; }} } void Statistics3(employee *list) { employee *Max,*Min; //指向最大和最小值的成員 employee*p=list->next; //p作為迴圈指標 Max=list->next; Min=list->next; while(p) { if(p->num==-1) { p=p->next; continue; } if(p->salary >Max->salary ) Max=p; if(p->salary <Min->salary) Min=p; p=p->next; } p=Min; printf("在所有員工中:"); printf("最低工資的員工資訊:n"); printf("工號 工時 時薪 銷售額 底薪 工資n"); printf("%-6d%-6d%-6d%-8d%-6d%-6dn",p->num,p->hour,p->hoursalary,p->sales,p->basicsalary,p->salary); p=Max; printf("最高工資的員工資訊:n"); printf("工號 工時 時薪 銷售額 底薪 工資n"); printf("%-6d%-6d%-6d%-8d%-6d%-6dn",p->num,p->hour,p->hoursalary,p->sales,p->basicsalary,p->salary); } void Statistics4(employee *list) { employee *p=list->next,*q=list->next,*k; //p,q作為迴圈指標 employee *headis=0; //用來儲存工資超過平均工資的成員 int i=0; //用i來計算人數 double sum=0,avar=0; //總值,平均值 //求平均值 while(p) { if(p->num==-1) { p=p->next; continue; } i++; sum+=p->salary ; p=p->next; } avar=sum/i; //提取出超過平均工資的成員,並且計算人數 i=0; p=list; while(p) { if(p->num==-1) { p=p->next; continue; } if(p->salary >avar) { i++; q=(employee *)malloc(sizeof(employee)); *q=*p; q->next=NULL; if(!headis) headis=q; else k->next=q; k=q; } p=p->next; } p=headis; printf("超出平均工資的人數:%dn",i); printf("工號 工時 時薪 銷售額 底薪 工資n"); while(p) { if(p->num==-1) { p=p->next; continue; } printf("%-6d%-6d%-6d%-8d%-6d%-6dn",p->num,p->hour,p->hoursalary,p->sales,p->basicsalary,p->salary); p=p->next; } } void DecendOrder(employee *list) { employee *p,*q,*a,*b,*s; int j=0; p=list->next; q=p->next; a=list; b=a->next; while(q!=NULL) { a=list; b=a->next; j=0; while(a!=p) { if(q->salary>b->salary) { p->next=q->next; q->next=b; a->next=q; j=1; break; } a=b; b=b->next; } if(j==1) q=p->next; else{ p=q; q=q->next;} } s=list->next; while(s!=NULL){ printf("工號 姓名 性別 部門 崗位 工齡 工時 時薪 銷售額 底薪 工資n"); printf("%-5d%-5s%-5d%-5d%-5d%-5d%-5d%-5d%-7d%-5d%-5dn",s->num,s->name,s->sex,s->department,s->post,s->lengthservice,s->hour,s->hoursalary,s->sales,s->basicsalary,s->salary); s=s->next; } } void DecendOrder2(employee *list) { employee *p,*q,*a,*b,*s,*z,*x=NULL,*v,*head; int j=0,post; printf("請輸入崗位n"); scanf("%d",&post); p=list->next; head=(employee *)malloc(sizeof(employee)); while(p!=NULL) { if(p->post==post){ z=(employee *)malloc(sizeof(employee)); *z=*p; z->next=NULL; if(x==NULL) x=z; else v->next=z; v=z;} p=p->next; } head->next=x; p=x; q=p->next; while(q!=NULL) { a=head; b=a->next; j=0; while(a!=p) { if(q->salary>b->salary) { p->next=q->next; q->next=b; a->next=q; j=1; break; } a=b; b=b->next; } if(j==1) q=p->next; else{ p=q; q=q->next;} } s=head->next; while(s!=NULL){ printf("工號 姓名 性別 部門 崗位 工齡 工時 時薪 銷售額 底薪 工資n"); printf("%-5d%-5s%-5d%-5d%-5d%-5d%-5d%-5d%-7d%-5d%-5dn",s->num,s->name,s->sex,s->department,s->post,s->lengthservice,s->hour,s->hoursalary,s->sales,s->basicsalary,s->salary); s=s->next; } }
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支援it145.com。
相關文章
<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
综合看Anker超能充系列的性价比很高,并且与不仅和iPhone12/苹果<em>Mac</em>Book很配,而且适合多设备充电需求的日常使用或差旅场景,不管是安卓还是Switch同样也能用得上它,希望这次分享能给准备购入充电器的小伙伴们有所
2021-06-01 09:31:42
除了L4WUDU与吴亦凡已经多次共事,成为了明面上的厂牌成员,吴亦凡还曾带领20XXCLUB全队参加2020年的一场音乐节,这也是20XXCLUB首次全员合照,王嗣尧Turbo、陈彦希Regi、<em>Mac</em> Ova Seas、林渝植等人全部出场。然而让
2021-06-01 09:31:34
目前应用IPFS的机构:1 谷歌<em>浏览器</em>支持IPFS分布式协议 2 万维网 (历史档案博物馆)数据库 3 火狐<em>浏览器</em>支持 IPFS分布式协议 4 EOS 等数字货币数据存储 5 美国国会图书馆,历史资料永久保存在 IPFS 6 加
2021-06-01 09:31:24
开拓者的车机是兼容苹果和<em>安卓</em>,虽然我不怎么用,但确实兼顾了我家人的很多需求:副驾的门板还配有解锁开关,有的时候老婆开车,下车的时候偶尔会忘记解锁,我在副驾驶可以自己开门:第二排设计很好,不仅配置了一个很大的
2021-06-01 09:30:48
不仅是<em>安卓</em>手机,苹果手机的降价力度也是前所未有了,iPhone12也“跳水价”了,发布价是6799元,如今已经跌至5308元,降价幅度超过1400元,最新定价确认了。iPhone12是苹果首款5G手机,同时也是全球首款5nm芯片的智能机,它
2021-06-01 09:30:45