现在的位置: 首页 > 编程语言 > 正文

C璇█瀹炵幇鑱屽伐绠$悊绯荤粺

2020年02月13日 编程语言 ⁄ 共 8329字 ⁄ 字号 评论关闭

灏忕紪鎵惧埌浜嗕竴涓壒鍒ソ鐨勮亴宸ョ鐞嗙郴缁燂紝鍒嗕韩缁欏ぇ瀹朵竴浠紺璇█鑱屽伐绠$悊绯荤粺鐨勫叿浣撳疄鐜颁唬鐮侊紝渚涘ぇ瀹跺弬鑰冿紝涔熻阿璋㈣繖浣嶇綉鍙嬬殑鍒嗕韩锛屽叿浣撳唴瀹瑰涓?/p>

person.cpp

#include "person.h"//棣栭〉int Print_Head(int * num){ printf("\t***********************************************\n"); printf("\t| 鑱屽伐绠$悊绯荤粺 |\n"); printf("\t*---------------------------------------------*\n"); printf("\t| 銆?銆戞柊澧? 銆?銆戝垹鏀? |\n"); printf("\t* 銆?銆戞煡璇? 銆?銆戦€€鍑? *\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* 銆?銆戝垹闄?銆?銆戜慨鏀?銆?銆戣繑鍥?*\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* 銆?銆戝叏閮ㄦ煡璇?銆?銆戝伐鍙锋煡璇? *\n"); printf("\t* *\n"); printf("\t* 銆?銆戞ā绯婃煡璇?銆?銆戣繑鍥炶彍鍗? *\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* 銆?銆戞柊澧?銆?銆戞坊鍔?銆?銆戣繑鍥?*\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;}//鐢熸垚閾捐〃锛屽弬鏁皀鏄痑dd璁板綍鏁伴噺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;}//璇诲彇鏂囦欢鐨勬暟鎹埌閾捐〃涓繑鍥為摼琛╤ead鎸囬拡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鈼庝娇鐢–trl+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__

鏇村瀛︿範璧勬枡璇峰叧娉ㄤ笓棰樸€婄鐞嗙郴缁熷紑鍙戙€嬨€?/p>

浠ヤ笂灏辨槸鏈枃鐨勫叏閮ㄥ唴瀹癸紝甯屾湜瀵瑰ぇ瀹剁殑瀛︿範鏈夋墍甯姪锛屼篃甯屾湜澶у澶氬鏀寔鎴戜滑銆?/p>

鏈枃鏍囬: C璇█瀹炵幇鑱屽伐绠$悊绯荤粺

鏈枃鍦板潃: http://www.xuebuyuan.com/ruanjian/c/289101.html

以上就上有关C璇█瀹炵幇鑱屽伐绠$悊绯荤粺的相关介绍,要了解更多C璇█鑱屽伐绠$悊绯荤粺,C璇█鑱屽伐绠$悊,C璇█绠$悊绯荤粺内容请登录学步园。

抱歉!评论已关闭.