91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

C++實現企業職工工資管理系統

發布時間:2020-10-01 05:32:01 來源:腳本之家 閱讀:365 作者:Mr-Lou 欄目:編程語言

課程設計目的和要求

工資管理要和人事管理相聯系,生成企業每個職工的實際發放工資。

企業職工人事基本信息包括:職工編號、姓名、性別、出生日期、職稱(助工、工程師、高級工程師)和任職年限。

企業職工工資信息包括:職工編號、姓名、職務工資、職務補貼、住房補貼、應發工資、個人所得稅、養老保險、住房公積金和實發工資。

系統主要功能包括:

(1)創建職工人事基本信息文件,根據提示輸入職工的各項信息,按職工編號對職工信息進行排序,并將排序后的職工信息存儲到一個文件中。

(2)創建職工的工資信息文件(每個月創建一個文件),其中職工編號和姓名從人事信息文件中復制,其他工資組成項目按下面方法計算。

             職務工資:助工=1270*(1+任職年限*2%)

                       工程師=2360*(1+任職年限*3%)

                       高級工程師=3450*(1+任職年限*5%)

             職務補貼:=職務工資*25%

             住房補貼=(職務工資+職務補貼)*15%

             應發工資=職務工資+職務補貼+住房補貼

             個人所得稅=(應發工資-3000)*5%

             養老保險=(職務工資+職務補貼)*10%

             住房公積金=應發工資*5%

             實發工資=應發工資-個人所得稅-養老保險-住房公積金

(3)增加職工人事基本信息,在原有職工人事基本信息文件的基礎上增加新有的職工信息。

(4)刪除職工人事基本信息,提示用戶輸入要刪除的職工編號,如果在文件有該信息存在,則將其信息輸出到屏幕上,用戶確認后將該信息刪除,并將刪除后的結果保存至原文件。最后提示用戶是否繼續進行刪除操作。

(5)修改職工人事基本信息,提示用戶輸入要刪除的職工編號,如果在文件有該信息存在,則將其信息輸出到屏幕上,然后提示用戶要修改的選項(職稱、任職年限),并將修改后的結果保存至原文件。最后提示用戶是否繼續進行修改操作。

(6)按不同條件進行查詢操作,輸出滿足條件的職工工資信息。

① 按職工編號查詢,輸入一個編號,輸出對應職工工資信息。

② 按姓名查詢,包括精確查詢,模糊查詢。

③ 按職稱查詢,輸入職稱名稱,輸出相應職稱工資信息。

(7)按不同條件對職工工資信息進行統計工作。

① 統計個職稱崗位的職工人數是多少,計算高級工程師比例。

② 計算企業職工的平均實發工資,并輸出。

③ 統計職工工資低于平均工資人數,并輸出他們的姓名和實發工資。

代碼:

#include<stdafx.h> 
#include<stdio.h> 
#include<stdlib.h> 
#include<string.h> 
#include<conio.h> 
#include<time.h> 
 
typedef struct date 
{ 
 short year; 
 short month; 
 short day; 
}st3; 
typedef struct gerenxinxi 
{ 
 char num[30]; 
 char name[30]; 
 char sex[30]; 
 st3 chushengriqi; 
 char zhicheng[20]; 
 int nianxian; 
}st; 
typedef struct gerengongzi 
{ 
  char num[20]; 
  char name[12]; 
  double zhiwugongzi; 
  double zhiwubutie; 
  double zhufangbutie; 
  double yingfagongzi; 
  double gerensuodeshui; 
  double yanglaobaoxian; 
  double zhufanggongjijin; 
  double shifagongzi; 
}st1; 
#define st3_len sizeof(st3) 
#define st_len sizeof(st) 
#define st1_len sizeof(st1) 
#define gerenxinxinum 1000 
#define gerengongzinum 1000 
st gerenxinxi[gerenxinxinum]={0}; 
st1 gerengongzi[gerengongzinum]={0}; 
 
int loadgerenxinxi(void);//將文件中的信息讀取 
int originalgerenxinxi(void);//個人信息初始化 
void getonegerenxinxi(int i);//輸ru一個職工的個人信息 
void allgerenxinxi(int bn);//保存所有信息 
void xggerenxinxi(int bn);//修改個人信息 
void saveonegerenxinxi(int i);//保存個人信息 
int addgerenxinxi(int bn);//增加個人信息 
int delgerenxinxi(int bn); //刪除個人信息 
void putonegerenxinxi(int i);//輸出一個個人信息 
void sort(int bn);//排序 
void shengchenggongzi(int bn);//生成工資 
void putonegerengongzi(int i);//輸出一個人的工資信息 
void cxgerenxinxi(int bn);//查詢 
void cxzhicheng(int bn);//職稱查詢 
void cxname(int bn);//姓名查詢 
void cxnum(int bn);//編號查詢 
void tongjigongzixinxi(int bn);//統計工資信息 
float avegongzi(int bn);//平均工資 
void lowgongzi(int bn);//低于平均工資 
void gangweirenshu(int bn);//職工人數 
 
void main() 
{ int select,bn; 
  bn=loadgerenxinxi(); 
  if(bn==0) 
  printf("職工信息為零:"); 
 
  while(1) 
  { 
   printf("\n 企業職工工資管理系統  \n"); 
   printf("\n-----------------------------\n"); 
   printf("\n 請輸入要進行操作前的序號 \n"); 
   printf("\n  1.輸入職工信息   \n"); 
   printf("\n  2.修改職工信息   \n"); 
   printf("\n  3.增加職工信息   \n"); 
   printf("\n  4.刪除職工信息   \n"); 
   printf("\n  5.職工工資    \n"); 
   printf("\n  6.統計工資信息   \n"); 
   printf("\n  7.查詢工資信息   \n"); 
   printf("\n  0.退出     \n"); 
   printf("\n----------------------------\n"); 
    
   scanf("%d",&select); 
   getchar(); 
   switch(select) 
   { case 1: originalgerenxinxi(); break; 
    case 2: xggerenxinxi(bn); break; 
    case 3: addgerenxinxi(bn); break; 
    case 4: delgerenxinxi(bn); break; 
    case 5: shengchenggongzi(bn); break; 
    case 6: tongjigongzixinxi(bn); break; 
    case 7: cxgerenxinxi(bn); break; 
    case 0: return; 
    default:printf("\n按鍵錯誤,請重新選擇\n"); 
   } 
  } 
  
} 
//===================================================== 
 
int loadgerenxinxi(void)//將文件中的信息讀取 
{ 
 FILE *fb; 
 int bn=0; 
 if((fb=fopen("gerenxinxi.txt","r+"))==NULL) 
 {printf("不能打開\n"); 
 return(bn); 
 } 
while(!feof(fb)) 
 if(fread(&gerenxinxi[bn],st_len,1,fb)) 
 bn++; 
 fclose(fb); 
 return(bn); 
} 
//====================================================== 
 
 
int originalgerenxinxi(void)//個人信息初始化 
{ 
  int n; 
  char c='y'; 
  for(n=0;c=='y';n++) 
  { printf("\n輸入職工%d的信息:\n",n+1); 
  getonegerenxinxi(n); 
  printf("\n繼續輸入請按'y',停止請按'n':"); 
  c=getchar(); getchar(); 
  } 
  sort(n); 
  allgerenxinxi(n); 
  return(n); 
} 
//====================================================== 
void getonegerenxinxi(int i)//輸ru一個職工的個人信息 
{ 
 printf("職工編號:"); 
 gets(gerenxinxi[i].num); 
 printf("姓名:"); 
 gets(gerenxinxi[i].name); 
 printf("性別:"); 
 gets(gerenxinxi[i].sex); 
 printf("出生日期:"); 
 scanf("%d.%d.%d",&gerenxinxi[i].chushengriqi.year,&gerenxinxi[i].chushengriqi.month,&gerenxinxi[i].chushengriqi.day); 
 getchar(); 
 printf("職稱(助工,工程師 ,高級工程師):"); 
 gets(gerenxinxi[i].zhicheng); 
 printf("任職年限:"); 
 scanf("%d",&gerenxinxi[i].nianxian); 
 getchar(); 
} 
//====================================================== 
 
void allgerenxinxi(int bn)//保存所有信息 
{ FILE *fb; 
  if((fb=fopen("gerenxinxi.txt","w"))==NULL) 
  { printf("不能打開\n"); 
  exit(1); 
  } 
  fwrite(gerenxinxi,st_len,bn,fb); 
  fclose(fb); 
} 
//======================================================= 
 
void xggerenxinxi(int bn)//修改個人信息 
{ 
 int select,k=-1; 
 char number[20],c1='y',c2; 
 if(bn==0) 
 { printf("\n職工信息為空\n:"); 
 return; 
 } 
 while(c1=='y') 
 {c2='y'; 
 printf("\n請輸入要修改的職工編號\n"); 
 gets(number); 
 for(int i=0;i<bn;i++) 
  if(strcmp(gerenxinxi[i].num,number)==0) 
 { k=i; 
 break;} 
 if(k<0) 
  printf("\n編號有誤,請重新輸入\n"); 
 else 
 { printf("\n職工信息:\n"); 
  putonegerenxinxi(k); 
  while(c2=='y') 
   { 
    printf("\n請輸入要修改項前的序號:\n"); 
    printf("1.職稱\n"); 
    printf("2.任職年限\n"); 
    printf("0.退出程序\n"); 
     
    scanf("%d",&select); 
    getchar(); 
    switch(select) 
    { 
     case 1:printf("職稱:"); 
      gets(gerenxinxi[k].zhicheng); 
      break; 
     case 2:printf("入職年限:"); 
      scanf("%d",&gerenxinxi[k].nianxian); 
      getchar(); 
      break; 
     case 0: 
      exit(1); 
     default: 
      printf("\n按鍵錯誤,請重新輸入\n"); 
    } 
    printf("\n還要修改該職工其它信息嗎(y/n)?\n"); 
    c2=getchar(); 
    getchar(); 
    } 
  } 
   saveonegerenxinxi(k); 
   printf("\n還要修改其他職工信息嗎?(y/n)\n"); 
   c1=getchar(); 
   getchar(); 
  } 
 printf("\n按任意鍵繼續\n"); 
 getchar(); 
} 
//====================================================== 
 
void saveonegerenxinxi(int i)//保存個人信息 
{ 
 FILE *fb; 
 if((fb=fopen("gerenxinxi.txt","r+"))==NULL) 
 {printf("不能打開 \n"); 
 exit(1); 
 } 
 fseek(fb,st_len*i,0); 
  fwrite(&gerenxinxi[i],st_len,1,fb); 
 fclose(fb); 
} 
 
//====================================================== 
int addgerenxinxi(int bn)//增加個人信息 
{ char c='y'; 
 FILE *fb; 
 if((fb=fopen("gerenxinxi.txt","a"))==NULL) 
 {printf("不能打開\n"); 
 exit(1); 
 } 
 while(c=='y') 
 {printf("\n請輸入新增職工信息:\n"); 
  getonegerenxinxi(bn); 
  fwrite(&gerenxinxi[bn],st_len,1,fb); 
  bn++; 
  printf("\n繼續輸入其他職工信息嗎?(y/n):"); 
  c=getchar(); 
  getchar(); 
 } 
 
 printf("\n按任意鍵繼續\n:"); 
 getch(); 
 fclose(fb); 
 return(bn); 
} 
//====================================================== 
 
int delgerenxinxi(int bn) //刪除個人信息 
{ 
  int k=-1; 
  char number[20],c1='y',c2; 
  if(bn==0) 
  { printf("\n信息為空\n"); 
  return(bn); 
  } 
  while(c1=='y') 
  { c2='y'; 
   printf("\n輸入要刪除的職工編號\n"); 
   gets(number); 
   for(int i=0;i<bn;i++) 
    if(strcmp(gerenxinxi[i].num,number)==0) 
    { k=i; 
     break;} 
   if(k<0) 
    printf("\n編號有誤,重新輸入\n"); 
  else 
  { 
   printf("\n職工信息:\n"); 
   putonegerenxinxi(k); 
   printf("\n確定要刪除該職工的全部信息嗎?(y/n):"); 
   c2=getchar(); 
   getchar(); 
   if(c2=='y') 
   { for(i=k;i<bn;i++) 
     gerenxinxi[i]=gerenxinxi[i+1]; 
    bn--; 
    printf("\n成功刪除!\n"); 
   } 
   else 
    printf("\n取消刪除!\n"); 
   printf("\n繼續刪除其它職工信息嗎?(y/n):"); 
   c1=getchar(); getchar(); 
  }   
  } 
  allgerenxinxi(bn); 
  printf("\n按任意鍵繼續!\n"); 
  getch(); 
  return(bn); 
} 
//==================================================== 
void putonegerenxinxi(int i)//輸出一個個人信息 
{ 
 printf("\n"); 
 printf("職工編號:"); 
 puts(gerenxinxi[i].num); 
 printf("姓名:"); 
 puts(gerenxinxi[i].name); 
 printf("性別:"); 
 puts(gerenxinxi[i].sex); 
 printf("出生日期:"); 
 printf("%d.%d.%d\n",gerenxinxi[i].chushengriqi.year,gerenxinxi[i].chushengriqi.month,gerenxinxi[i].chushengriqi.day); 
 printf("職稱:"); 
 puts(gerenxinxi[i].zhicheng); 
 printf("任職年限:"); 
 printf("%d",gerenxinxi[i].nianxian);   
} 
 
//================================================== 
void sort(int bn)//排序 
{ 
 st temp; 
 int i,j; 
 for(i=0;i<bn-1;i++); 
 { 
   for(j=i+1;j<bn;j++) 
   if(gerenxinxi[i].num >gerenxinxi[i+1].num ) 
   { temp=gerenxinxi[i]; 
    gerenxinxi[i]=gerenxinxi[i+1]; 
    gerenxinxi[i+1]=temp; 
   } 
 
 } 
} 
//================================================= 
void shengchenggongzi(int bn)//生成工資 
{  
  FILE *fp,*fp2; 
  int i,j; 
  if ((fp = fopen("gerenxinxi.txt", "r")) == NULL) 
  { 
   printf("不能打開\n"); 
   exit(0); 
  } 
  fread(gerenxinxi,st_len,bn, fp); 
  if ((fp2 = fopen("gerengongzi.txt", "w")) == NULL) 
  { 
  printf("不能打開\n"); 
  exit(0); 
  } 
  for(i=0;i<bn;i++) 
  { strcpy(gerengongzi[i].name, gerenxinxi[i].name); 
   strcpy(gerengongzi[i].num, gerenxinxi[i].num); 
   if (strcmp(gerenxinxi[i].zhicheng,"助工") == 0) 
   {gerengongzi[i].zhiwugongzi=1270*(1+gerenxinxi[i].nianxian*0.02);} 
   if (strcmp(gerenxinxi[i].zhicheng,"工程師") == 0) 
   {gerengongzi[i].zhiwugongzi=2360*(1+gerenxinxi[i].nianxian*0.03);} 
   if (strcmp(gerenxinxi[i].zhicheng,"高級工程師") == 0) 
   {gerengongzi[i].zhiwugongzi=3450*(1+gerenxinxi[i].nianxian*0.05);} 
 
   gerengongzi[i].zhiwubutie=gerengongzi[i].zhiwugongzi*0.25; 
 
   gerengongzi[i].zhufangbutie=(gerengongzi[i].zhiwubutie+gerengongzi[i].zhiwugongzi)*0.15; 
 
   gerengongzi[i].yingfagongzi=gerengongzi[i].zhiwugongzi+gerengongzi[i].zhiwubutie+gerengongzi[i].zhufangbutie; 
   
   if(gerengongzi[i].yingfagongzi>3000) 
   
    gerengongzi[i].gerensuodeshui=(gerengongzi[i].yingfagongzi-3000)*0.05; 
   
   else 
    
    gerengongzi[i].gerensuodeshui=0; 
 
   gerengongzi[i].yanglaobaoxian=(gerengongzi[i].zhiwubutie+gerengongzi[i].zhiwugongzi)*0.1; 
 
   gerengongzi[i].zhufanggongjijin=gerengongzi[i].yingfagongzi*0.05; 
 
   gerengongzi[i].shifagongzi=gerengongzi[i].yingfagongzi-gerengongzi[i].gerensuodeshui-gerengongzi[i].yanglaobaoxian-gerengongzi[i].zhufanggongjijin; 
   
 } 
  printf("\n"); 
  fwrite(gerengongzi,st1_len,bn,fp2); 
  fclose(fp); 
  fclose(fp2); 
  if ((fp = fopen("gerengongzi.txt", "r+")) == NULL) 
  { 
   printf("不能打開\n"); 
   exit(1); 
  } 
  fread(gerengongzi,st1_len,bn,fp2); 
  for(j=0;j<bn;j++) 
  putonegerengongzi(j); 
   fclose(fp); 
} 
//========================================================== 
 
void putonegerengongzi(int i)//輸出一個人的工資信息 
{ 
  printf("\n"); 
  printf("職工編號:"); 
  puts(gerengongzi[i].num); 
  printf("職工姓名:"); 
  puts(gerengongzi[i].name); 
  printf("勞務工資:"); 
  printf("%f\n",gerengongzi[i].zhiwugongzi); 
  printf("勞務補助:"); 
  printf("%f\n",gerengongzi[i].zhiwubutie); 
  printf("住房補貼:"); 
  printf("%f\n",gerengongzi[i].zhufangbutie); 
  printf("應發工資:"); 
  printf("%f\n",gerengongzi[i].yingfagongzi); 
  printf("個人所得稅:"); 
  printf("%f\n",gerengongzi[i].gerensuodeshui); 
  printf("養老保險:"); 
  printf("%f\n",gerengongzi[i].yanglaobaoxian); 
  printf("住房公積金:"); 
  printf("%f\n",gerengongzi[i].zhufanggongjijin); 
  printf("實發工資:"); 
  printf("%f\n",gerengongzi[i].shifagongzi); 
} 
//=============================================== 
void cxgerenxinxi(int bn)//查詢 
{ 
  int select; 
  while(1) 
  { printf("\n請輸入要進行操作前的編號\n"); 
  printf("1.編號查詢\n"); 
  printf("2.按姓名查詢\n"); 
  printf("3.按職稱查詢\n"); 
  printf("0.退出查詢\n"); 
  scanf("%d",&select); 
  getchar(); 
  switch(select) 
  { 
   case 1: 
    cxnum(bn); 
    break; 
   case 2: 
    cxname(bn); 
    break; 
   case 3: 
    cxzhicheng(bn); 
    break; 
   case 0: 
   return; 
   default:printf("\n按鍵錯誤,請重新選擇\n"); 
   } 
  } 
} 
 
 
//============================================== 
void cxnum(int bn) 
{ 
  int i; 
  char number[20],c='y'; 
  while(c=='y') 
  { 
  printf("\n請輸入職工編號:"); 
  gets(number); 
  for(i=0;i<bn;i++) 
   if(strcmp(gerenxinxi[i].num,number)==0) 
   { 
    printf("\n職工%d的信息:\n"); 
    putonegerenxinxi(i); 
    printf("\n按任意鍵繼續!\n"); 
    getch(); 
   } 
   if(i==bn) 
   printf("\n沒有找到職工信息\n"); 
   return; 
   
  } 
  
  printf("\n按任意鍵繼續查詢!\n"); 
  getchar(); 
} 
//================================================ 
void cxzhicheng(int bn) 
{ 
  int i; 
  char zhicheng[20],c='y'; 
  while(c=='y') 
  { 
  printf("\n請輸入職工職稱:"); 
  gets(zhicheng); 
  for(i=0;i<bn;i++) 
   if(strcmp(gerenxinxi[i].zhicheng,zhicheng)==0) 
   { 
    printf("\n職工的信息:\n"); 
    putonegerenxinxi(i); 
    printf("\n按任意鍵繼續!\n"); 
    getch(); 
   } 
   if(i==bn) 
   { printf("\n沒有找到職工信息\n"); 
    return ; 
   } 
  } 
  
  printf("\n按任意鍵繼續查詢!\n"); 
  getchar(); 
 
} 
//============================================== 
 
void cxname(int bn)//姓名查詢 
{ 
  int i,j,k; 
  char name[12],c='y'; 
  while(c=='y') 
  { 
   k=-1; 
  printf("\n請輸入職工姓名:"); 
  gets(name); 
  for(i=0,j=1;i<bn;i++) 
   if(strcmp(gerenxinxi[i].name,name)==0) 
   { printf("\n當前為準確查詢\n"); 
    k=i; 
    printf("\n職工%d的信息:\n",j++); 
    putonegerenxinxi(k); 
    printf("\n按任意鍵繼續!\n"); 
    getch(); 
   } 
  if(k==-1) 
  { 
   printf("\n當前為模糊查詢\n"); 
   for(i=0,j=1;i<bn;i++) 
    if(strstr(gerenxinxi[i].name,name)!=NULL) 
    { 
     k=i; 
     printf("\n職工%d的信息:\n",j++); 
     putonegerenxinxi(k); 
     printf("\n按任意鍵繼續!\n"); 
     getch(); 
    } 
   if(j==1) 
    printf("\n沒有找到職工信息!\n"); 
   return; 
  } 
   
  } 
  printf("\n按任意鍵繼續!\n"); 
  getchar(); 
} 
 
//================================================= 
void tongjigongzixinxi(int bn)//統計工資信息 
{ 
 int select; 
 while(1) 
 { 
  printf("請輸入要進行操作前的編號\n"); 
  printf(" 1.各職稱崗位的職工人數\n"); 
  printf(" 2.職工的平均實發工資\n"); 
  printf(" 3.低于平均工資的人數\n"); 
  printf(" 0.退出統計功能\n"); 
  
  scanf("%d",&select); getchar(); 
  switch(select) 
  { case 1:gangweirenshu(bn); break; 
   case 2:avegongzi(bn); break; 
   case 3:lowgongzi(bn); break; 
   case 0:return; 
   default: printf("\n按鍵錯誤,請重新選擇!\n"); 
  } 
  return; 
 
 
 } 
}  
//================================================= 
void gangweirenshu(int bn)//職工人數 
{ int i,j=0, k=0, m=0; 
 float ave; 
 for(i=0;i<bn;i++) 
 { if(strcmp(gerenxinxi[i].zhicheng ,"助工")==0) 
  j++; 
  if(strcmp(gerenxinxi[i].zhicheng ,"工程師")==0) 
  k++; 
  if(strcmp(gerenxinxi[i].zhicheng ,"高級工程師")==0) 
  m++; 
 } 
  ave=(m*1.0/bn); 
  printf("助工人數為%d人\n",j); 
  printf("工程師人數為%d人\n",k); 
  printf("高級工程師人數為%d人\n",m); 
  printf("高級工程師比例為%f\n",ave); 
} 
//================================================== 
float avegongzi(int bn)//平均工資 
{ 
 int i; 
 float sum=0; 
 float ave; 
 for(i=0;i<bn;i++) 
 sum=sum+gerengongzi[i].shifagongzi; 
 ave=(sum/bn); 
 printf("職工的平均實發工資為:%f\n",ave); 
 return(ave); 
 return(0); 
} 
//================================ 
void lowgongzi(int bn)//低于平均工資 
{ int i,k=0; 
 float b; 
 b=avegongzi(bn); 
 for(i=0;i<bn;i++) 
 { 
  if(gerengongzi[i].shifagongzi<b) 
  { 
   k++; 
   printf("姓名:%s\n",gerengongzi[i].name); 
   printf("工資:%f\n",gerengongzi[i].shifagongzi); 
  } 
  
 } 
 printf("低于平均工資的人數為:%d\n",k); 
} 


努力了一個多星期,自己頭一次做這么大的程序,鼓勵一下

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持億速云。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

大田县| 昂仁县| 天水市| 满洲里市| 三台县| 云南省| 新源县| 曲沃县| 灵川县| 富顺县| 新疆| 邮箱| 甘孜县| 贵州省| 南京市| 曲周县| 大安市| 友谊县| 忻城县| 龙海市| 黔江区| 齐齐哈尔市| 仪陇县| 磐石市| 内乡县| 家居| 宁安市| 松滋市| 剑阁县| 金秀| 磴口县| 赣榆县| 上杭县| 监利县| 彭山县| 郓城县| 霞浦县| 大同市| 墨竹工卡县| 偏关县| 吴桥县|