国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > C > 正文

C語言職工信息管理系統源碼

2020-01-26 13:47:45
字體:
來源:轉載
供稿:網友

本文實例為大家分享了C語言職工信息管理系統的具體代碼,供大家參考,具體內容如下

#include <stdio.h> #include <stdlib.h> #include <string.h> #include <conio.h> struct worker {  char ID[20];//工號  char name[20];//姓名  char sex[5];//性別  char born[20];//生日  char edu[20];//學歷  char position[20];//職務  char wage[10];//工資  char address[100];//住址  char tel[15];//電話 }work[1000]; int n ;  //文件讀寫模塊 void read()//讀入數據 {  FILE *fp;  int i = 0;  if( (fp = fopen("d://date.txt","r")) == NULL )  {   printf("請在D盤根目錄下新建一個文本文件,文件名為date/n/n/n");   system("pause");   system("cls");   return ;  }  fscanf(fp,"%d/n",&n);  while(i < n)  {   fscanf(fp,"%s/n%s/n%s/n%s/n%s/n%s/n%s/n%s/n%s/n",work[i].ID,work[i].name,work[i].sex,work[i].born,work[i].edu,work[i].position,work[i].wage,work[i].address,work[i].tel);   i ++;  }  fclose(fp); } void write()//寫入數據 {  FILE *fp;  int i = 0;  if( (fp = fopen("d://date.txt","w")) == NULL )  {   printf("無法打開文件!/n");   return ;  }  fprintf(fp,"%d/n",n);  while(i < n)  {   fprintf(fp,"%s/n%s/n%s/n%s/n%s/n%s/n%s/n%s/n%s/n",work[i].ID,work[i].name,work[i].sex,work[i].born,work[i].edu,work[i].position,work[i].wage,work[i].address,work[i].tel);   i ++;  }  fclose(fp); }   //輸入模塊 void input()// 從鍵盤輸入 {  int i;  int flag;//標記工號是否已存在  char c;//指令Y?N  read();//輸入數據前先將文件中原有的數據讀入  do  {   flag = 0;   printf("/t/t請輸入職工的工號:        /n/t/t");   scanf("%s",work[n].ID);   for(i = 0 ; i < n ; i ++)   {    if(strcmp(work[i].ID,work[n].ID) == 0)    {     flag = 1;     break;    }   }   if(flag)   {    printf("該工號已存在!/n/n");    printf("/t/t是否繼續輸入?(Y/N): ");    scanf("%*c%c",&c);    if(c == 'N' || c == 'n') break;    continue;   }   printf("/t/t請輸入職工的姓名:        /n/t/t");   scanf("%s",work[n].name);   printf("/t/t請輸入職工的性別:        /n/t/t");   scanf("%s",work[n].sex);   printf("/t/t請輸入職工的出生年月:       /n/t/t");   scanf("%s",work[n].born);   printf("/t/t請輸入職工的學歷:        /n/t/t");   scanf("%s",work[n].edu);   printf("/t/t請輸入職工的職務:        /n/t/t");   scanf("%s",work[n].position);   printf("/t/t請輸入職工的工資:        /n/t/t");   scanf("%s",work[n].wage);   printf("/t/t請輸入職工的住址:        /n/t/t");   scanf("%s",work[n].address);   printf("/t/t請輸入職工的電話:        /n/t/t");   scanf("%s",work[n].tel);   printf("/t/t是否繼續輸入?(Y/N): ");   scanf("%*c%c",&c);   n ++;  }while( c != 'N' && c != 'n');  write();  printf("/n/n數據已保存!/n/n"); }   //顯示模塊 void output_inf(int id) {  printf("/t/t 工號: %s/n",work[id].ID);  printf("/t/t 姓名: %s/n",work[id].name);  printf("/t/t 性別: %s/n",work[id].sex);  printf("/t/t出生年月: %s/n",work[id].born);  printf("/t/t 學歷: %s/n",work[id].edu);  printf("/t/t 職務: %s/n",work[id].position);  printf("/t/t 工資: %s/n",work[id].wage);  printf("/t/t 住址: %s/n",work[id].address);  printf("/t/t 電話: %s/n",work[id].tel);  printf("/n/n/n"); } void show()//顯示所有職工信息 {  int i;  read();  if(n == 0) printf("無記錄!/n/n");  else   for(i = 0 ; i < n ; i ++)   {    output_inf(i);   } }   //查詢模塊 void que()//查詢信息 {  char num;  int flag,i;  char q_id[20] ;//查詢工號  char q_name[20] ;//查詢姓名  char q_edu[20] ; //查詢學歷  char q_position[20] ;//查詢職位  char c;//指令Y?N  read();//打開程序后,要查詢以前的數據,要先讀入  while(1)  {   system("cls");   printf("/t/t******************查詢********************/n");   printf("/t/t*          */n");   printf("/t/t*    1.按工號查詢    */n");   printf("/t/t*          */n");   printf("/t/t*    2.按姓名查詢    */n");   printf("/t/t*          */n");   printf("/t/t*    3.按學歷查詢    */n");   printf("/t/t*          */n");   printf("/t/t*    4.按職務查詢    */n");   printf("/t/t*          */n");   printf("/t/t*  輸入其他任意鍵退出本模塊   */n");   printf("/t/t******************************************/n");   printf("/t/t請輸入指令(1-4):");   scanf("%*c%c",&num);   if(num < '1' || num > '4')   {    printf("錯誤指令!/n/n");    system("pause");    continue;   }   system("cls");   flag = 0;//用來標記職工信息是否存在   if(num == '1')//按工號查詢   {    printf("/t/t請輸入您要查詢職工的工號:");    scanf("%s",q_id);    for(i = 0 ; i < n ;i ++)    {     if( strcmp(work[i].ID,q_id) == 0)     {      output_inf(i);      flag = 1;//標記      break;     }    }   }   else if(num == '2')//按姓名查詢   {    printf("/t/t請輸入您要查詢職工的姓名:");    scanf("%s",q_name);    for(i = 0 ; i < n ;i ++)    {     if( strcmp(work[i].name,q_name) == 0)     {      output_inf(i);      flag = 1;//標記     }    }   }   else if(num == '3')//按學歷查詢   {    printf("/t/t請輸入您要查詢職工的學歷:");     scanf("%s",q_edu);    for(i = 0 ; i < n ;i ++)    {     if( strcmp(work[i].edu,q_edu) == 0)     {      output_inf(i);      flag = 1;//標記     }    }   }   else if(num == '4')//按職務查詢   {    printf("/t/t請輸入您要查詢職工的職務:");    scanf("%s",q_position);    for(i = 0 ; i < n ;i ++)    {     if( strcmp(work[i].position,q_position) == 0)     {      output_inf(i);      flag = 1;//標記     }    }   }   if(!flag)//判斷是否有該職工信息   {    printf("/n/n無該職工信息!/n/n");   }   printf("/n/n是否繼續查詢(Y/N):");    scanf("%*c%c",&c);   if(c == 'N' || c == 'n') break;  } }  //修改信息模塊 void mod()//修改職工信息 {  char change_ID[20];//需修改的職工的工號  int number;//職工信息在數據中的位置  char num;//指令  char message[100];//修改的信息  char c;//指令Y?N  int flag;  int i;  read();  while(1)  {   flag = 0;   system("cls");   printf("請輸入需修改的職工的工號:");   scanf("%s",change_ID);   for(i = 0 ; i < n ; i ++)   {    if( strcmp(work[i].ID,change_ID) == 0 )    {     number = i;     flag = 1;     break;    }   }   if(!flag)   {    printf("/n/n無此員工信息!!/n/n");    printf("/n/n是否繼續修改(Y/N):");    scanf("%*c%c",&c);    if(c == 'N' || c == 'n') break;    continue;   }   printf("/n/n/t/t******************修改********************/n");   printf("/t/t*          */n");   printf("/t/t*    1.修改姓名     */n");   printf("/t/t*          */n");   printf("/t/t*    2.修改學歷     */n");   printf("/t/t*          */n");   printf("/t/t*    3.修改職務     */n");   printf("/t/t*          */n");   printf("/t/t*    4.修改工資     */n");   printf("/t/t*          */n");   printf("/t/t*    5.修改住址     */n");   printf("/t/t*          */n");   printf("/t/t*    6.修改電話     */n");   printf("/t/t*          */n");   printf("/t/t*  輸入其他任意鍵退出本模塊   */n");   printf("/t/t******************************************/n");   printf("/t/t請輸入指令(1-6):");   scanf("%*c%c",&num);   if(num < '1' || num > '6')   {    printf("錯誤指令!/n/n");    system("pause");    continue;   }   system("cls");   printf("請輸入修改后的信息:");   scanf("%s",message);   switch(num)   {    case '1' : strcpy(work[number].name,message); break;    case '2' : strcpy(work[number].edu,message); break;    case '3' : strcpy(work[number].position,message); break;    case '4' : strcpy(work[number].wage,message); break;    case '5' : strcpy(work[number].address,message); break;    case '6' : strcpy(work[number].tel,message); break;   }   system("cls");   printf("/n/n是否繼續修改(Y/N):");   scanf("%*c%c",&c);   if(c == 'N' || c == 'n') break;  }  write(); }   //刪除信息模塊 void del()//刪除職工信息 {  char delete_ID[20];//刪除職工工號  int i,j;  int flag;//標記是否有該職工信息  char c;  read();  while(1)  {   system("cls");   flag = 0;   printf("請輸入需刪除職工信息的工號:");   scanf("%s",delete_ID);   for(i = 0 ; i < n ; i ++)   {    if( strcmp(work[i].ID,delete_ID) == 0)    {     n --;     flag = 1;     for(j = i ; j < n ; j ++)     {      work[j] =work[j + 1];     }     break;    }   }   if(!flag) printf("/n/n無此員工信息!/n/n");   else printf("/n/n刪除成功!/n");   printf("/n/n是否繼續刪除(Y/N):");   scanf("%*c%c",&c);   if(c == 'N' || c == 'n') break;  }  write(); }  //菜單模塊 void menu()//菜單 {  printf("/t/t************職工信息管理系統菜單**********/n");  printf("/t/t*          */n");  printf("/t/t*    1.錄入職工信息   */n");  printf("/t/t*          */n");  printf("/t/t*    2.顯示職工信息   */n");  printf("/t/t*          */n");  printf("/t/t*    3.查詢職工信息   */n");  printf("/t/t*          */n");  printf("/t/t*    4.修改職工信息   */n");  printf("/t/t*          */n");  printf("/t/t*    5.刪除職工信息   */n");  printf("/t/t*          */n");  printf("/t/t*    0.退出     */n");  printf("/t/t*          */n");  printf("/t/t******************************************/n");  printf("/t/t請輸入指令(0-5): "); }   int main() {  int num;  n = 0;  system("color 0B");  while(1)  {   menu();   scanf("%d",&num);   system("cls");   switch(num)   {    case 1: input(); break;    case 2: show(); break;    case 3: que(); break;    case 4: mod(); break;    case 5: del(); break;    case 0: printf("謝謝使用!/n/n"); return 0;    default :printf("/n--->無效的指令!/n/n/n");   }   system("pause");   system("cls");  } } 

更多學習資料請關注專題《管理系統開發》。

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

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 洪洞县| 安达市| 长海县| 新巴尔虎右旗| 陇南市| 格尔木市| 铁岭县| 惠州市| 祥云县| 白朗县| 安平县| 连云港市| 孟州市| 盖州市| 开平市| 吉林市| 渭南市| 东平县| 武陟县| 万年县| 临潭县| 宕昌县| 陆良县| 通道| 思南县| 拜城县| 康马县| 米泉市| 亚东县| 长岛县| 高淳县| 芷江| 通化市| 诸城市| 井研县| 邢台县| 尚志市| 尚志市| 萨迦县| 长宁县| 大同市|