亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? 新建 文本文檔.txt

?? 這是一個C語言版的工資管理系統
?? TXT
字號:
#include <stdio.h> 
#include <stdlib.h> 
#include <malloc.h> 
#include <string.h> 
#include <conio.h> 

#define TITLE "\n 月份 工號 姓名  應發工資 各種折扣 實發工資\n" 
#define DATA " %2d %4ld %6s %6.1f %6.1f %6.1f\n",p1->month,p1->num,p1->sex,p1->should_pay,p1->rebate,p1->actual_pay 

typedef struct pay 
{ 
long num; 
short month; 
char name[10]; 
char sex[10];
float gw,jn,zw,zl,jt,yj; 
float should_pay; 
float fz,gj,sd,others; 
float rebate; 
float actual_pay; 
struct pay *next; 
}PAY; 

FILE *fp; 
PAY *p1=NULL,*p2=NULL,*head=NULL; 

void menu(); 
PAY *input(); 
void output(); 
void save(PAY *head); 
PAY *open(); 
PAY *insert(); 
void search(); 
PAY *del(); 
PAY *revise(); 

/*主程序模塊*/ 
void main(void) 
{ 
short sel; 
do 
{ 
menu(); 
scanf("%d",&sel); 
switch(sel) 
{ 
case 1: 
head=input(); //輸入模塊 
break; 
case 2: 
head=insert(); //插入模塊 
break; 
case 3: 
head=revise(); //修改模塊 
break; 
case 4: 
head=del(); //刪除模塊 
break; 
case 5: 
search(); //查找模塊 
break; 
case 6: 
output(); //輸出模塊 
break; 
case 7: 
save(head); //保存模塊 
break; 
case 0: 
break; 
} 
}while(sel!=0); 
} 

/*菜單*/ 
void menu() 
{ 
printf("\n\n\n\n\n\n\n"); 
printf("\t\t\t\t *主菜單選項*\n\n"); 
printf("\t\t\t\t1.創建工資檔案\n"); 
printf("\t\t\t\t2.新增工資信息\n"); 
printf("\t\t\t\t3.修改工資信息\n"); 
printf("\t\t\t\t4.刪除工資信息\n"); 
printf("\t\t\t\t5.查找工資信息\n"); 
printf("\t\t\t\t6.分類信息列表\n"); 
printf("\t\t\t\t7.保 存 信 息\n"); 
printf("\t\t\t\t0.退 出\n"); 
printf("\n\n\n\n\n\n\n\n"); 
} 

/*輸入模塊*/ 
PAY *input() 
{ 
short n=1; 
p1=(PAY*)malloc(sizeof(PAY)); 
if(p1==NULL) 
{ 
printf("內存不足,無法創建鏈表!"); 
getch(); 
} 
printf("\n請輸入第%d位職工的信息(以工號為0結束):\n",n); 
printf(" 工號:"); 
scanf("%d",&p1->num); 
if(p1->num==0) 
{ 
printf("按任意鍵返回!"); 
getch(); 
free(p1); 
return 0; 
} 
getchar(); 
printf(" 姓名:");
gets(p1->sex);
printf(" 工資月份:"); 
scanf("%d",&p1->month); 
printf(" 崗位工資,技能工資,職務津貼,職齡津貼,交通補貼,業績津貼:\n"); 
scanf("%f,%f,%f,%f,%f,%f",&p1->gw,&p1->jn,&p1->zw,&p1->zl,&p1->jt,&p1->yj); 
printf(" 房租扣款,公積金,水電費,其它扣款:\n"); 
scanf("%f,%f,%f,%f",&p1->fz,&p1->gj,&p1->sd,&p1->others); 
p1->should_pay=p1->gw+p1->jn+p1->zw+p1->zl+p1->jt+p1->yj; 
p1->rebate=p1->fz+p1->gj+p1->sd+p1->others; 
p1->actual_pay=p1->should_pay-p1->rebate; 
while(p1!=NULL) 
{ 
if(n==1) 
head=p1; 
else 
p2->next=p1; 
n++; 
p2=p1; 
p1=(PAY*)malloc(sizeof(PAY)); 
if(p1==NULL) 
{ 
printf("內存不足,無法創建鏈表!"); 
getch(); 
} 
printf("請輸入第%d位職工的信息(以工號為0結束):\n",n); 
printf(" 工號:"); 
scanf("%d",&p1->num); 
getchar(); 
if(p1->num==0) 
{ 
p1=NULL; 
break; 
} 
printf(" 姓名:"); 
gets(p1->sex); 
printf(" 工資月份:"); 
scanf("%d",&p1->month); 
printf(" 崗位工資,技能工資,職務津貼,職齡津貼,交通補貼,業績津貼:\n"); 
scanf("%f,%f,%f,%f,%f,%f",&p1->gw,&p1->jn,&p1->zw,&p1->zl,&p1->jt,&p1->yj); 
printf(" 房租扣款,公積金,水電費,其它扣款:\n"); 
scanf("%f,%f,%f,%f",&p1->fz,&p1->gj,&p1->sd,&p1->others); 
p1->should_pay=p1->gw+p1->jn+p1->zw+p1->zl+p1->jt+p1->yj; 
p1->rebate=p1->fz+p1->gj+p1->sd+p1->others; 
p1->actual_pay=p1->should_pay-p1->rebate; 
} 
p2->next=NULL; 
printf("職工信息已輸入,請按任意鍵返回,并存盤……"); 
getch(); 
return head; 
} 

/*輸出模塊*/ 
void output() 
{ 
short sel,flag,month; 
float min,max; 
do 
{ 
do 
{ 
printf("\n\n請選擇您的列表方式:\n"); 
printf("\t\t1.全部清單\n"); 
printf("\t\t2.按月輸出\n"); 
printf("\t\t3.按工資段輸出\n"); 
printf("\t\t0.返回\n"); 
scanf("%d",&sel); 
}while(sel!=1&&sel!=2&&sel!=3&&sel!=0); 
head=open(); 
if(head==NULL) 
return; 
else 
switch(sel) 
{ 
case 1: 
printf("\n\t\t\t ******全部清單******\n"); 
printf(TITLE); 
p1=head; 
do 
{ 
printf(DATA); 
p1=p1->next; 
}while(p1!=NULL); 
break; 
case 2: 
flag=0; 
printf("輸入要查的月份:"); 
scanf("%d",&month); 
printf("\n\t\t\t******第%d月工資清單******\n",month); 
printf(TITLE); 
p1=head; 
do 
{ 
if(p1->month==month) 
{ 
printf(DATA); 
p1=p1->next; 
flag=1; 
} 
else 
p1=p1->next; 
}while(p1!=NULL); 
if(flag==0) 
printf("沒有該月清單\n"); 
break; 
case 3: 
flag=0; 
printf("輸入最低工資:"); 
scanf("%f",&min); 
printf("輸入最高工資:"); 
scanf("%f",&max); 
printf("\n\t\t ******%5.1f到%5.1f工資的名單******\n",min,max); 
printf(TITLE); 
p1=head; 
do 
{ 
if(p1->actual_pay>min&&p1->actual_pay<max) 
{ 
printf(DATA); 
p1=p1->next; 
flag=1; 
} 
else 
p1=p1->next; 
}while(p1!=NULL); 
if(flag==0) 
printf("沒有該工資段的職工\n"); 
break; 
case 0: 
break; 
} 
}while(sel!=0); 
} 

/*保存文件*/ 
void save(PAY *head) 
{ 
short write; 
fp=fopen("pay.txt","w"); 
if(fp==NULL) 
{ 
printf("創建文件失敗!"); 
getch(); 
return; 
} 
p1=p2=head; 
while(p1!=NULL) 
{ 
write=fwrite(p1,sizeof(PAY),1,fp); 
if(!write) 
{ 
printf("無法寫入文件!"); 
getch(); 
return; 
} 
p1=p1->next; 
} 
fclose(fp); 
printf("成功存盤!"); 
getch(); 
} 

/*打開文件*/ 
PAY *open() 
{ 
short n=1,read; 
fp=fopen("pay.txt","r"); 
if(fp==NULL) 
{ 
printf("無法打開檔案文件!"); 
getch(); 
return NULL; 
} 
if((p1=p2=(PAY*)malloc(sizeof(PAY)))==NULL) 
{ 
printf("內存不足!"); 
getch(); 
return NULL; 
} 
read=fread(p1,sizeof(PAY),1,fp); 
if(!read) 
{ 
printf("文件讀取出錯!1"); 
getch(); 
return NULL; 
} 
if(p1->next==NULL) 
head=p1; 
else 
{ 
do 
{ 
if(n==1) 
head=p1; 
else 
p2->next=p1; 
n++; 
p2=p1; 
if((p1=(PAY*)malloc(sizeof(PAY)))==NULL) 
{ 
printf("內存不足!"); 
getch(); 
return NULL; 
} 
read=fread(p1,sizeof(PAY),1,fp); 
if(!read) 
{ 
printf("文件讀取出錯!2"); 
getch(); 
return NULL; 
} 
}while(p1->next!=NULL); 
p2->next=p1; 
} 
return head; 
fclose(fp); 
} 

/*插入模塊*/ 
PAY *insert() 
{ 
PAY *p3=NULL; 
char sel; 
head=open(); 
if(head==NULL) 
return NULL; 
else 
do 
{ 
printf("請輸入要插入的職工信息:\n"); 
p3=(PAY*)malloc(sizeof(PAY)); 
if(p3==NULL) 
{ 
printf("內存不足,無法創建鏈表!"); 
getch(); 
} 
printf(" 工號:"); 
scanf("%d",&p3->num); 
getchar(); 
printf(" 姓名:"); 
gets(p3->sex); 
printf(" 工資月份:"); 
scanf("%d",&p3->month); 
printf(" 崗位工資,技能工資,職務津貼,職齡津貼,交通補貼,業績津貼:\n"); 
scanf("%f,%f,%f,%f,%f,%f",&p3->gw,&p3->jn,&p3->zw,&p3->zl,&p3->jt,&p3->yj); 
printf(" 房租扣款,公積金,水電費,其它扣款:\n"); 
scanf("%f,%f,%f,%f",&p3->fz,&p3->gj,&p3->sd,&p3->others); 
p3->should_pay=p3->gw+p3->jn+p3->zw+p3->zl+p3->jt+p3->yj; 
p3->rebate=p3->fz+p3->gj+p3->sd+p3->others; 
p3->actual_pay=p3->should_pay-p3->rebate; 
p1=head; 
while(p1!=NULL) 
{ 
p2=p1; 
p1=p1->next; 
} 
p2->next=p3; 
p3->next=NULL; 
printf("成功插入,是否繼續?是(Y) 否(N)\n"); 
sel=getch(); 
}while(sel=='Y'||sel=='y'); 
printf("\n任意鍵返回,并存盤……\n"); 
getch(); 
return head; 
} 

/*查找模塊*/ 
void search() 
{ 
short sel; 
long num; 
char name[20],choose; 
head=open(); 
if(head==NULL) 
return; 
else 
do 
{ 
do 
{ 
printf("\n選擇查找方式:\n"); 
printf("\t\t1.按工號查找\n"); 
printf("\t\t2.按姓名查找\n"); 
scanf("%d",&sel); 
getchar(); 
}while(sel!=1&&sel!=2); 
switch(sel) 
{ 
case 1: 
printf("輸入要查的工號:"); 
scanf("%ld",&num); 
break; 
case 2: 
printf("輸入要查的姓名:"); 
gets(name); 
break; 
} 
p1=head; 
while((p1->next!=NULL)&&(p1->num!=num)&&(strcmp(p1->name,name)!=0)) //用成p1!=NULL有問題? 
p1=p1->next; 
if((p1->num==num)||strcmp(p1->name,name)==0) 
{ 
printf("您要查找的信息如下:\n"); 
printf(TITLE); 
printf(DATA); 
} 
else 
printf("沒有該信息!\n"); 
printf("是否繼續?是(Y) 否(N)\n"); 
choose=getch(); 
}while(choose=='Y'||choose=='y'); 
printf("任意鍵返回"); 
getch(); 
} 

/*刪除模塊*/ 
PAY *del() 
{ 
short sel; 
long num; 
char name[20],choose; 
head=open(); 
if(head==NULL) 
return NULL; 
else 
do 
{ 
do 
{ 
printf("\n選擇刪除方式:\n"); 
printf("\t\t1.按工號刪除\n"); 
printf("\t\t2.按姓名刪除\n"); 
scanf("%d",&sel); 
getchar(); 
}while(sel!=1&&sel!=2); 
switch(sel) 
{ 
case 1: 
printf("輸入要刪除的工號:"); 
scanf("%ld",&num); 
break; 
case 2: 
printf("輸入要刪除的姓名:"); 
gets(name); 
break; 
} 
p1=head; 
if((p1->num==num)||strcmp(p1->name,name)==0) 
{ 
head=p1->next; 
printf("刪除信息成功!"); 
} 
else 
{ 
while((p1->next!=NULL)&&(p1->num!=num)&&(strcmp(p1->name,name)!=0)) 
{ 
p2=p1; 
p1=p1->next; 
} 
if((p1->num==num)||strcmp(p1->name,name)==0) 
{ 
p2->next=p1->next; 
free(p1); 
printf("\n刪除信息成功!\n"); 
} 
else 
printf("\n沒有該信息!\n"); 
} 
printf("是否繼續?是(Y) 否(N)\n"); 
choose=getch(); 
}while(choose=='Y'||choose=='y'); 
printf("任意鍵返回,并存盤……"); 
getch(); 
return head; 
} 

/*修改模塊*/ 
PAY *revise() 
{ 
short sel; 
long num; 
char name[20],choose; 
head=open(); 
if(head==NULL) 
return NULL; 
else 
do 
{ 
do 
{ 
printf("\n查找要修改的對象:\n"); 
printf("\t\t1.按工號查找\n"); 
printf("\t\t2.按姓名查找\n"); 
scanf("%d",&sel); 
getchar(); 
}while(sel!=1&&sel!=2); 
switch(sel) 
{ 
case 1: 
printf("輸入要查的工號:"); 
scanf("%ld",&num); 
break; 
case 2: 
printf("輸入要查的姓名:"); 
gets(name); 
break; 
} 
p1=head; 
while((p1->next!=NULL)&&(p1->num!=num)&&(strcmp(p1->name,name)!=0)) //用成p1!=NULL有問題? 
p1=p1->next; 
if((p1->num==num)||strcmp(p1->name,name)==0) 
{ 
printf("您要修改的原始信息如下:\n"); 
printf(TITLE); 
printf(DATA); 
printf("\n將上述信息改為如下信息:\n"); 
printf(" 工號:"); 
scanf("%d",&p1->num); 
getchar(); 
printf(" 姓名:"); 
gets(p1->name);
printf(" 性別:");
gets(p1->sex); 
printf(" 工資月份:"); 
scanf("%d",&p1->month); 
printf(" 崗位工資,技能工資,職務津貼,職齡津貼,交通補貼,業績津貼:\n"); 
scanf("%f,%f,%f,%f,%f,%f",&p1->gw,&p1->jn,&p1->zw,&p1->zl,&p1->jt,&p1->yj); 
printf(" 房租扣款,公積金,水電費,其它扣款:\n"); 
scanf("%f,%f,%f,%f",&p1->fz,&p1->gj,&p1->sd,&p1->others); 
p1->should_pay=p1->gw+p1->jn+p1->zw+p1->zl+p1->jt+p1->yj; 
p1->rebate=p1->fz+p1->gj+p1->sd+p1->others; 
p1->actual_pay=p1->should_pay-p1->rebate; 
} 
else 
printf("你要修改的信息不存在!\n"); 
printf("是否繼續?是(Y) 否(N)\n"); 
choose=getch(); 
}while(choose=='Y'||choose=='y'); 
printf("任意鍵返回,并存盤……"); 
getch(); 
return head; 
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩一区二区在线看| 91久久免费观看| 精品欧美一区二区在线观看| 石原莉奈一区二区三区在线观看| 欧美日韩黄色一区二区| 日本不卡的三区四区五区| 日韩一区二区三区四区| 国产揄拍国内精品对白| 国产精品久久久久久久久搜平片| 99国产精品视频免费观看| 亚洲国产精品久久艾草纯爱| 91精品国产福利| 国产乱人伦偷精品视频免下载 | 在线综合视频播放| 韩国精品在线观看| 综合激情成人伊人| 欧美日韩免费观看一区二区三区| 蜜桃av一区二区三区| 欧美国产乱子伦| 欧美伊人久久大香线蕉综合69| 麻豆精品一区二区综合av| 国产欧美视频一区二区| 色综合天天综合狠狠| 另类小说视频一区二区| 国产精品久久99| 欧美丰满嫩嫩电影| 不卡在线观看av| 日本aⅴ精品一区二区三区| 国产亚洲va综合人人澡精品| 在线观看日韩av先锋影音电影院| 蜜桃av一区二区在线观看| 日韩一区欧美小说| 日韩欧美国产综合在线一区二区三区| 国产凹凸在线观看一区二区| 亚洲第一福利一区| 国产婷婷色一区二区三区在线| 欧美体内she精高潮| 国产精品亚洲一区二区三区妖精| 亚洲综合色视频| 中文字幕精品一区二区三区精品| 欧美美女bb生活片| 大白屁股一区二区视频| 蜜臀精品久久久久久蜜臀| 亚洲激情图片qvod| 国产欧美一区二区三区在线看蜜臀 | 蜜桃av噜噜一区| 亚洲综合一二三区| 亚洲国产精华液网站w| 精品欧美乱码久久久久久| 欧美日韩亚洲综合在线 欧美亚洲特黄一级 | 成人a级免费电影| 蜜桃精品视频在线| 天天色图综合网| 亚洲综合在线免费观看| 国产精品无人区| 久久久另类综合| 欧美一区二区久久久| 精品婷婷伊人一区三区三| 91天堂素人约啪| 成人h精品动漫一区二区三区| 精东粉嫩av免费一区二区三区| 日韩黄色一级片| 婷婷开心激情综合| 亚洲一区在线看| 亚洲影院免费观看| 亚洲综合久久av| 亚洲精品国产无天堂网2021| 国产精品久久久久久福利一牛影视| 精品久久久久久最新网址| 日韩一区二区在线看片| 日韩三级视频在线看| 91麻豆精品国产91久久久久久| 欧美日韩免费视频| 欧美日韩精品一区二区三区四区 | 18欧美亚洲精品| 国产精品另类一区| 中文字幕第一区第二区| 国产女人水真多18毛片18精品视频 | 911精品国产一区二区在线| 欧美va在线播放| 91精品啪在线观看国产60岁| 欧美日韩国产综合草草| 欧美日韩小视频| 欧美女孩性生活视频| 制服丝袜在线91| 日韩免费在线观看| 久久这里都是精品| 国产午夜精品久久久久久久 | 亚洲国产精品嫩草影院| 亚洲电影一级片| 日本午夜精品视频在线观看| 免费av网站大全久久| 国产在线精品免费| 成人在线视频一区二区| 91网站黄www| 91精品国模一区二区三区| 欧美一区二区在线不卡| 精品福利视频一区二区三区| 日本一区二区电影| 一区二区激情视频| 首页综合国产亚洲丝袜| 久久www免费人成看片高清| 国产91色综合久久免费分享| 91视频免费播放| 欧美理论电影在线| 337p日本欧洲亚洲大胆精品 | 成人一区二区在线观看| 色婷婷一区二区| 欧美女孩性生活视频| 精品久久久久久久久久久久久久久久久 | 7777精品伊人久久久大香线蕉的| 欧美mv日韩mv亚洲| 激情六月婷婷久久| 99久久综合色| 欧美久久久久久久久| 久久九九影视网| 亚洲国产精品视频| 国产ts人妖一区二区| 欧美日本不卡视频| 国产人成一区二区三区影院| 亚洲影视在线观看| 国产成人a级片| 欧美喷潮久久久xxxxx| 亚洲国产精品精华液2区45| 日韩综合小视频| 97久久人人超碰| 欧美不卡一二三| 亚洲一区二区三区中文字幕在线| 国产精品18久久久| 欧美一区二区成人6969| 亚洲免费成人av| 国产999精品久久久久久绿帽| 欧美一区2区视频在线观看| 尤物av一区二区| 国产精品亚洲成人| 91精品国产综合久久福利软件| 国产精品乱码一区二三区小蝌蚪| 玖玖九九国产精品| 欧美人狂配大交3d怪物一区| 国产精品久久久久永久免费观看| 另类小说综合欧美亚洲| 欧美日韩国产综合久久| 中文字幕在线观看一区| 国产成人免费在线视频| 精品久久久久久无| 日本不卡视频在线| 欧美三级日本三级少妇99| 中文字幕色av一区二区三区| 国产精品综合视频| 欧美精品一区二区三| 男女性色大片免费观看一区二区| 欧美国产精品专区| 国产精品1024| 久久色在线观看| 精品无人区卡一卡二卡三乱码免费卡| 欧美日韩国产中文| 五月天视频一区| 欧美精品久久99| 无吗不卡中文字幕| 欧美视频一区在线| 亚洲尤物视频在线| 欧美日韩精品一区二区三区蜜桃 | 精品乱人伦小说| 麻豆国产精品一区二区三区| 欧美高清你懂得| 日日摸夜夜添夜夜添国产精品| 欧美区视频在线观看| 日本女人一区二区三区| 欧美一卡二卡在线| 极品美女销魂一区二区三区 | 精品在线亚洲视频| 26uuu久久天堂性欧美| 国产精品一二三四五| 国产欧美日韩在线看| 成人三级在线视频| 亚洲欧美激情插| 欧美视频精品在线| 午夜视频一区在线观看| 欧美一区二区三区色| 另类人妖一区二区av| 久久一夜天堂av一区二区三区| 国产精品中文字幕欧美| 国产精品污污网站在线观看| 一本色道a无线码一区v| 五月天网站亚洲| 久久久久久综合| 99久久精品国产导航| 亚洲午夜av在线| 精品福利一区二区三区免费视频| 国产激情一区二区三区| 日韩美女精品在线| 欧美日韩mp4| 国产精品18久久久久久久久久久久 | 九九**精品视频免费播放| 国产免费成人在线视频| 欧美视频中文字幕| 久久国产人妖系列| 亚洲区小说区图片区qvod| 欧美久久久久久久久中文字幕| 国产成人免费在线观看|