亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > C > 正文

C語言實現職工管理系統

2020-01-26 11:44:19
字體:
來源:轉載
供稿:網友

小編找到了一個特別好的職工管理系統,分享給大家一份C語言職工管理系統的具體實現代碼,供大家參考,也謝謝這位網友的分享,具體內容如下

person.cpp

#include "person.h"http://首頁int Print_Head(int * num){ printf("/t***********************************************/n"); printf("/t|     職工管理系統    |/n"); printf("/t*---------------------------------------------*/n"); printf("/t|   【1】新增  【2】刪改   |/n"); printf("/t*   【3】查詢  【4】退出   */n"); printf("/t***********************************************/n"); printf("/t◎請輸入想進行操作的序號【 】/b/b"); *num=getchar(); return SUCCESS;}//刪改畫面int Print_DelRev(int* num){ printf("/t******************************************/n"); printf("/t*          */n"); printf("/t* 【1】刪除 【2】修改 【3】返回 */n"); printf("/t*          */n"); printf("/t******************************************/n"); printf("/t◎請輸入想進行操作的序號【 】/b/b"); *num=getchar(); return SUCCESS;}//查詢畫面int Print_Que(int* num){ printf("/t******* ************************************/n"); printf("/t*          */n"); printf("/t*  【1】全部查詢 【2】工號查詢  */n"); printf("/t*          */n"); printf("/t*  【3】模糊查詢 【4】返回菜單  */n"); printf("/t*          */n"); printf("/t******************************************/n"); printf("/t◎請輸入想進行操作的序號【 】/b/b"); *num=getchar(); return SUCCESS;}//增加畫面int Print_Add(int* num){ int n=0; printf("/t******************************************/n"); printf("/t*          */n"); printf("/t* 【1】新增 【2】添加 【3】返回 */n"); printf("/t*          */n"); printf("/t******************************************/n"); printf("/t◎請輸入想進行操作的序號【 】/b/b"); *num=getchar(); return SUCCESS;}//標題頭int Print_Tittle(){ printf("-------------------------------------------/n"); printf(" 工號 | 姓名 |性別|年齡| 電話  /n"); printf("-------------------------------------------/n"); return SUCCESS;}//選擇將要打開的文件int File_name(){ printf("/n/t◎請輸入您想要打開的文件:"); //memset(filename,0,sizeof(filename)); if(scanf("%s", filename)!=1){ printf("/a 選擇文件錯誤!"); return FAILED; } return SUCCESS;}//生成鏈表,參數n是add記錄數量struct Employee *Creat() { printf("/n/t◎請輸入要添加的數據個數:"); int n; if(scanf("%d", &n)!=1) { printf("/a error!"); } struct Employee *head; struct Employee *p1, *p2; system("cls"); for(int i=1;i<n+1;i++) { p1 = (struct Employee*)malloc(SIZE); Print_Tittle(); scanf("%s%s%s%d%s",p1->num,p1->name,p1->sex, p1->age,p1->tel); p1->next = NULL; if(i==1) { head = p2 = p1; } else { p2->next = p1; p2 = p1; } } return(head);}//建立新文件int WriteData_wb(struct Employee *head) { FILE *fp; struct Employee *p; if((fp = fopen(filename, "wb"))==NULL) printf("/a 打開文件錯誤!");  p = head; while(p!=NULL) { if(fwrite(p,SIZE,1,fp)!=1) { printf("/b 寫入數據出錯/n"); fclose(fp); return FAILED; } p=p->next; } fclose(fp); return SUCCESS;}//在已有文件添加int WriteData_ab(struct Employee *head) { FILE *fp; struct Employee *p; if((fp = fopen(filename, "ab"))==NULL) printf("/a 打開文件錯誤!"); p = head; while(p!=NULL) { if(fwrite(p,SIZE,1,fp)!=1) { printf("/b 寫入數據出錯/n"); fclose(fp); return FAILED; } p=p->next; } fclose(fp); return SUCCESS;}//增加int Emp_Add(){ system("cls"); getchar(); int add; while(1){ system("cls"); Print_Add(&add); while(add!='1' && add!='2' && add!='3') { putchar('/a'); printf("◎請重新輸入有效序號(1~3):【 】/b/b"); add=getchar(); } switch(add){ case '1': WriteData_wb(Creat()); printf("/n◎新建文件成功數據已保存√/n"); system("pause"); system("cls"); Emp_Add(); break; case '2': WriteData_ab(Creat()); printf("/n◎數據已成功添加√/n"); system("pause"); system("cls"); Emp_Add(); break; case '3': system("cls"); getchar(); Emp_Return(); break; } } return SUCCESS;}//讀取文件的數據到鏈表中返回鏈表head指針struct Employee *Read() { struct Employee *head = NULL; struct Employee *p1, *p2;//s = p1;p = p2; FILE *fp; if((fp=fopen(filename,"rb+"))==NULL) { printf("打開文件出錯/n"); exit(0); } while(!feof(fp)) { if((p1=(struct Employee*)malloc(SIZE))==NULL){ printf("內存申請出錯/n"); fclose(fp); exit(0); } if(fread(p1,SIZE,1,fp)!=1){ free(p1); break; } if(head==NULL) head=p2=p1; else{ p2->next=p1; p2=p1; } } fclose(fp); return (head);}//刪除int Emp_Del(){ struct Employee* head; struct Employee* pt1,*pt2; char str_num[10]; memset(str_num,0,sizeof(str_num)); printf("/n◎請輸入你要刪除的學號信息:"); scanf("%s",str_num); pt1=Read(); pt2=pt1->next; head=pt1; while(pt2!=NULL){ if(!strcmp(pt1->num,str_num)){ WriteData_wb(pt2); }else if(!strcmp(pt2->num,str_num)){ pt1->next=pt2->next; WriteData_wb(head); } pt2=pt2->next; pt1=pt1->next; } if(pt2!=NULL){ printf("/t◎沒有你要刪除的數據"); } return SUCCESS;}//修改int Emp_Rev(){ struct Employee* pt1,*pt2,*head; char str_num[10]; printf("/t◎請輸入要修改的學號信息:"); scanf("%s",str_num); pt1=Read(); pt2=pt1->next; head=pt1; while(pt2!=NULL){ if(strcmp(pt1->num,str_num)==0) { Print_Tittle(); scanf("%s%s%s%d%s",pt1->num,pt1->name,pt1->sex, pt1->age,pt1->tel); WriteData_wb(head); } else if(strcmp(pt2->num,str_num)==0) { Print_Tittle(); scanf("%s%s%s%d%s",pt1->num,pt1->name,pt1->sex, pt1->age,pt1->tel); WriteData_wb(head); } pt2 = pt2->next; pt1 = pt1->next; } if(pt2!=NULL) printf("數據庫中沒有存儲您要刪除的數據!/n"); return 0;}//刪改int Emp_DelRev(){  getchar(); int delrev=0; while(1){ system("cls"); Print_DelRev(&delrev); while(delrev!='1' && delrev!='2' && delrev!='3'){ putchar('/a'); //getchar(); printf("○請重新輸入有效序號(1~3):【 】/b/b"); delrev=getchar(); } switch(delrev){ case '1': Emp_Del(); printf("/n◎已成功刪除指定數據!"); system("pause"); getchar(); break; case '2': Emp_Rev(); printf("/n◎已成功修改指定數據!"); system("pause"); getchar(); break; case '3': system("cls"); getchar(); Emp_Return(); break; } } return SUCCESS;}//總體查詢int Emp_QueAll(){ struct Employee *pt; pt = Read(); Print_Tittle(); do { printf("%2s%5s%4s%2d%3s/n", pt->num,pt->name,pt->sex,pt->age,pt->tel); pt = pt->next; }while(pt!=NULL); printf("/n/n"); return SUCCESS;}//工號查詢int Emp_QueNum() { struct Employee *pt; char str_num[10]; printf("/t◎請輸入您要查詢的學號:"); scanf("%s", str_num); pt = Read(); Print_Tittle(); do { if(!strcmp(pt->num,str_num)) { printf("%2s%5s%4s%2d%3s/n", pt->num,pt->name,pt->sex,pt->age,pt->tel); printf("/n/n"); return 0; } pt = pt->next; }while(pt!=NULL); printf("/t數據庫中沒有存儲您要查詢的數據!/n"); printf("/n/n"); return SUCCESS;}//模糊查詢int Emp_QueVague(){ struct Employee *pt; char str_vague[20]; int m=0; printf("/t◎請輸入您要查詢的關鍵詞:"); scanf("%s", str_vague); pt = Read(); Print_Tittle(); do { if(strstr(pt->num,str_vague)!=0||strstr(pt->name,str_vague)!=0 ||strstr(pt->sex,str_vague)!=0||strstr(pt->age,str_vague)!=0 ||strstr(pt->tel,str_vague)!=0) { printf("%2s%5s%4s%2d%3s/n", pt->num,pt->name,pt->sex,pt->age,pt->tel); m = 1; } pt = pt->next; }while(pt!=NULL); if(!m) printf("數據庫中沒有存儲您要查詢的數據!/n"); printf("/n/n"); return SUCCESS;}//查詢int Emp_Que(){ system("cls"); int que; while(1){ system("cls"); Print_Que(&que); while(que!='1' && que!='2' && que!='3'){ putchar('/a'); printf("/t○請重新輸入有效序號(1~3):【 】/b/b"); que=getchar(); } switch(que){ case '1': Emp_QueAll(); system("pause"); getchar(); break; case '2': Emp_QueNum(); system("pause"); getchar(); break; case '3': Emp_QueVague(); system("pause"); getchar(); break; case '4': Emp_Return(); system("pause"); getchar(); break; } } return SUCCESS;}//返回int Emp_Return(){ Emp_Menu(); return SUCCESS;}//退出void Emp_Quit(){ printf("/n/t◎謝謝使用!"); system("pause"); exit(0);}//menu函數int Emp_Menu(){ //int* Menu=NULL; int menu=0; //Print_Head(&Menu); //menu=*Menu; //delete Menu; //printf("%d/n",menu); Print_Head(&menu);  while(menu!='1' && menu!='2' && menu!='3'&& menu!='4') { printf("error! please input the right number!/n"); putchar('/a'); //getchar(); printf("◎請重新輸入有效序號(1~4):【 】/b/b"); menu=getchar(); } switch(menu){ case '1':  File_name(); Emp_Add(); break; case '2':  File_name(); Emp_DelRev(); break; case '3':  File_name(); Emp_Que(); break; case '4':  Emp_Quit(); break; } return SUCCESS;}/*void Sig(int n){ printf("/n/t◎程序將要退出,操作已保存!"); system("pause"); exit(0);}*/int main(){ //printf("/t◎使用Ctrl+C終止現在程序的運行!/n"); //signal(SIGINT,Sig); Emp_Menu(); return SUCCESS;}

person.h

#ifndef __PERSON_H__#define __PERSON_H_#define _CRT_SECURE_NO_DEPRECATE#define _CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES 1#include <stdio.h>#include <stdlib.h>#include <string.h>#include <conio.h>#include <signal.h>#define SUCCESS  0#define FAILED (!SUCCESS)#define SIZE sizeof(struct Employee)//全局變量int flag=0;//返回標志char filename[30];//要打開的文件名//員工信息結構體struct Employee{ char name[20]; char tel[15]; char sex[5];  char num[10]; char age[3]; struct Employee* next;};//建立一個鏈表struct Employee* creat(int n);//主函數int Emp_Menu();//首頁打印int Print_Head();//刪改打印int Print_DelRev();//增加打印int Print_Add();//表頭打印int Print_Tittle();//新建文件寫入int WriteData_wb(struct Employee *head);//在已有的文件寫入int WriteData_ab(struct Employee *head);//添加int Emp_Add();//刪除int Emp_Del();//修改int Emp_Rev();//查詢int Emp_Que();//返回int Emp_Return();//退出void Emp_Quit();#endif //__PERSON_H__

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

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

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

圖片精選

亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲精品有码在线| 日韩av在线播放资源| 国产精品亚洲аv天堂网| 国产精品视频一区二区高潮| 久久精品国产久精国产一老狼| 欧美一二三视频| 亚洲视频网站在线观看| 亚洲色图美腿丝袜| 性欧美亚洲xxxx乳在线观看| 国内精品久久久久| 国外成人在线视频| 欧洲亚洲免费视频| 亚洲四色影视在线观看| 91精品视频在线看| 成人激情av在线| 亚洲美女av黄| 97精品国产aⅴ7777| 成人激情视频在线| 社区色欧美激情 | 日韩国产欧美精品在线| 国产精品一久久香蕉国产线看观看| 久久九九国产精品怡红院| 亚洲一区二区久久久| 日韩av电影在线网| 久久欧美在线电影| 国产视频精品在线| 久久全国免费视频| 欧美另类69精品久久久久9999| 成人免费视频网址| 欧美体内谢she精2性欧美| 中文字幕av一区二区| 欧美精品精品精品精品免费| 日韩欧美中文字幕在线播放| 黑人狂躁日本妞一区二区三区| 好吊成人免视频| 久久这里只有精品视频首页| 成人疯狂猛交xxx| 精品久久久久久中文字幕| 国产一区二区三区在线观看视频| 国产日韩欧美电影在线观看| 久久久久久久久久国产精品| 91精品久久久久久久久久久久久久| 久久久久中文字幕2018| 久久视频在线看| 亚洲高清久久久久久| 亚洲精品720p| 欧美精品videosex性欧美| 中文字幕亚洲图片| 日韩高清av在线| 日韩欧亚中文在线| 日韩经典一区二区三区| 色综合视频一区中文字幕| 欧美极度另类性三渗透| 日韩av色综合| 精品久久久久久久久国产字幕| 亚洲四色影视在线观看| 久久伊人精品一区二区三区| 国产精品久久久久久久久久免费| 成人午夜黄色影院| 久久男人的天堂| 在线成人激情黄色| 成人免费视频网| 啪一啪鲁一鲁2019在线视频| 亚洲人精品午夜在线观看| 亚洲区在线播放| 久久精品国产清自在天天线| 成人免费高清完整版在线观看| 日本成人免费在线| 久久精品视频在线观看| 国产亚洲精品久久久久久牛牛| 成人av电影天堂| 久久精品免费播放| 国产免费一区二区三区香蕉精| 亚洲老头同性xxxxx| 国内精品久久久久久中文字幕| 国产精品视频精品视频| 91精品国产综合久久香蕉| 欧美老少做受xxxx高潮| 欧美激情视频免费观看| 日韩电影中文字幕| 亚洲国产欧美一区二区丝袜黑人| 国内精品美女av在线播放| 亚洲最大的免费| 精品中文字幕乱| 日韩中文有码在线视频| 国产精品视频在线播放| 欧美精品性视频| 亚洲国产欧美一区二区三区久久| 狠狠色噜噜狠狠狠狠97| 亚洲国产私拍精品国模在线观看| 欧洲精品在线视频| 亚洲欧美成人网| 欧美一区二三区| 在线观看欧美视频| 欧美日韩中文字幕在线| 欧美夜福利tv在线| 精品久久久免费| 久久久久久国产三级电影| 久久久久久噜噜噜久久久精品| 久久精品2019中文字幕| 国产精品人人做人人爽| 日韩欧美亚洲综合| 日韩av免费网站| 奇米成人av国产一区二区三区| 91亚洲国产成人久久精品网站| 国产成人精品视频在线观看| 欧美精品激情在线| 国产精品欧美日韩| 久久精品国产2020观看福利| 日韩av电影中文字幕| 成人性生交大片免费看视频直播| 国产福利精品视频| 国产va免费精品高清在线观看| 国产精品一区二区电影| 91精品国产高清自在线看超| 麻豆国产精品va在线观看不卡| 91国自产精品中文字幕亚洲| 欧美专区第一页| 亚洲电影免费在线观看| 一区二区三区高清国产| 久热精品视频在线免费观看| 色偷偷888欧美精品久久久| 久久久国产视频| 亚洲欧美日韩高清| 中文字幕亚洲自拍| 国产一区av在线| 欧美三级xxx| 亚洲男子天堂网| www.欧美三级电影.com| 91麻豆桃色免费看| 亚洲成人国产精品| 欧美与欧洲交xxxx免费观看| 欧美怡春院一区二区三区| 91精品视频专区| 青草热久免费精品视频| 黑人极品videos精品欧美裸| 欧美激情综合亚洲一二区| 国产精品成人免费电影| 成人免费福利视频| 亚洲伦理中文字幕| 欧美大成色www永久网站婷| 国产成人高清激情视频在线观看| 亚洲欧洲一区二区三区久久| 中文字幕欧美在线| 激情成人中文字幕| 38少妇精品导航| 亚洲国产日韩一区| 日韩中文字幕在线免费观看| 91精品国产网站| 久久久成人精品视频| 亚洲级视频在线观看免费1级| 久久精品色欧美aⅴ一区二区| 久久综合久久美利坚合众国| 性色av一区二区三区红粉影视| 中文字幕无线精品亚洲乱码一区| 日韩av成人在线| 欧美激情亚洲国产| 亚洲最大的网站| 亚洲精品视频播放| 国产日韩精品在线| 丝袜亚洲另类欧美重口| 91色在线视频| 亚洲综合中文字幕68页| 九九热这里只有精品免费看|