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

首頁 > 編程 > C > 正文

C語言實現電話簿管理系統

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

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

/*大二實踐周所作,時間:2017.9,11電話簿管理系統*/ #include<string.h>#include<stdio.h>#include<stdlib.h>#include<malloc.h>#define NULL 0typedef struct lianxiren{ char job[30]; char number[20]; char name[10]; char email[30]; struct lianxiren*next;}lianxiren;#define LEN sizeof(lianxiren)lianxiren* creat_list(){ lianxiren *head,*p1,*p2; char name[10];int n=0; head=NULL; p1=(lianxiren *)malloc(LEN); p2=p1; printf("請輸入姓名(姓名為0時停止創建):"); gets(name); if(strcmp(name,"0")==0)return 0; else { strcpy(p1->name,name); printf("請輸入電話號碼:");gets(p1->number); printf("請輸入工作單位:");gets(p1->job); printf("請輸入E-mail:");gets(p1->email); } while(1) { n++; if(n==1)  head=p1; else  p2->next=p1; p2=p1; printf("請輸入姓名(姓名為0時停止創建):"); gets(name); if(strcmp(name,"0")==0)break; else{  p1=(lianxiren*)malloc(LEN);      strcpy(p1->name,name);  printf("請輸入電話號碼:");gets(p1->number);  printf("請輸入工作單位:");gets(p1->job);  printf("請輸入E-mail:");gets(p1->email);} }p2->next=NULL; return head;}//鏈表創建函數lianxiren* shifang_list(lianxiren*head){ lianxiren*p1; for(;head!=NULL;) { p1=head;  head=head->next;  free(p1); } return head;}//釋放鏈表函數void print_list(lianxiren*head){ void caidan(); int n=0; printf("現在通訊錄中有如下成員:");  while(head!=NULL) { printf("/n名字:");puts(head->name); printf("/n電話號碼:");puts(head->number); printf("/n工作單位:");puts(head->job); printf("/nE-mail:");puts(head->email); putchar('/n'); head=head->next;n++; if(n%8==0){ printf("按回車鍵顯示下一頁"); getchar(); system("cls"); caidan(); }  } printf("總共%d個聯系人/n",n);}//打印鏈表函數int length(lianxiren*head) {   int n = 0;   lianxiren *p;   p = head;   while(p != NULL)   {     p = p->next;     n++;   }   return n; }  void paixu1(lianxiren*head){ void caidan(); int n=length(head); int i,j; lianxiren temp,*p; p=head; lianxiren a[100]; for(i=1;i<=n;i++) { strcpy(a[i].name,p->name); strcpy(a[i].number,p->number); strcpy(a[i].job,p->job); strcpy(a[i].email,p->email); p=p->next; } for(i=1;i<=n-1;i++) { for(j=1;j<=n-i;j++) {if(strcmp(a[j].number,a[j+1].number)>0) {  temp=a[j];      a[j]=a[j+1];  a[j+1]=temp; }  } } printf("現在通訊錄中有如下成員:"); for(i=1;i<=n;i++) { printf("/n名字:");puts(a[i].name); printf("/n電話號碼:");puts(a[i].number); printf("/n工作單位:");puts(a[i].job); printf("/nE-mail:");puts(a[i].email); putchar('/n'); if(i%8==0){ printf("按回車鍵顯示下一頁"); getchar(); system("cls"); caidan(); }  } printf("總共%d個聯系人/n",n);}void paixu2(lianxiren*head){ void caidan(); int n=length(head);int i,j; lianxiren temp,*p; p=head; lianxiren a[100]; for(i=1;i<=n;i++) { strcpy(a[i].name,p->name); strcpy(a[i].number,p->number); strcpy(a[i].job,p->job); strcpy(a[i].email,p->email); p=p->next; }for(i=1;i<=n-1;i++) { for(j=1;j<=n-i;j++) {if(strcmp(a[j].name,a[j+1].name)>0) {  temp=a[j];      a[j]=a[j+1];  a[j+1]=temp; }  } } printf("現在通訊錄中有如下成員:"); for(i=1;i<=n;i++) { printf("/n名字:");puts(a[i].name); printf("/n電話號碼:");puts(a[i].number); printf("/n工作單位:");puts(a[i].job); printf("/nE-mail:");puts(a[i].email); putchar('/n'); if(i%8==0){ printf("按回車鍵顯示下一頁"); getchar(); system("cls"); caidan(); }  } printf("總共%d個聯系人/n",n);}void paixu_list(lianxiren*head){ void caidan(); if(head==NULL) {printf("電話簿為空,請重新創建!"); return; } char a; printf("1,按電話號碼升序排序/n2,按姓名字母升序排序/n"); printf("請選擇一種排序方法:"); a=getchar(); getchar(); switch(a){ case'1':paixu1(head);break; case'2':paixu2(head);break; default:printf("輸入有誤!/n");break; }}void chazhao1(lianxiren*head){if(head==NULL){ printf("電話簿為空,請重新創建"); return;}char name[10];printf("請輸入名字:");gets(name);while(strcmp(name,head->name)!=0){head=head->next;if(head==NULL){printf("電話簿未有此聯系人/n");return;}}printf("%s的電話號碼為:",name);puts(head->number);printf("/n工作單位:");puts(head->job);printf("/nE-mail:");puts(head->email);}//通過名字查找void chazhao2(lianxiren*head){if(head==NULL){ printf("電話簿為空,請重新創建"); return;}char number[20];printf("請輸入電話號碼:");gets(number);while(strcmp(number,head->number)!=0){head=head->next;if(head==NULL){printf("電話簿未有此聯系人/n");return;}}printf("%s的主人為:",number);puts(head->name);printf("/n工作單位:");puts(head->job);printf("/nE-mail:");puts(head->email);}//通過電話號碼查找void chazhao(lianxiren*head){ int n; printf("  1,通過名字查找/n  2,通過電話號碼查找/n  3,退出/n請選擇你需要的服務:");  scanf("%d",&n); getchar(); while(1) { switch(n){ case 1:{chazhao1(head);printf("請選擇服務項:");scanf("%d",&n);getchar();}break; case 2:{chazhao2(head);printf("請選擇服務項:");scanf("%d",&n);getchar();}break; case 3:return;break; default:{printf("輸入不正確!");printf("請選擇服務項:");scanf("%d",&n);getchar();}break; }}}//查找聯系人void add_list(lianxiren*head){  lianxiren*p1,*p2,*h; char name[10]; printf("請輸入名字(名字為0時停止)"); gets(name); if(strcmp(name,"0")!=0) { p1=(lianxiren*)malloc(LEN); strcpy(p1->name,name); printf("請輸入電話號碼:");gets(p1->number); printf("請輸入工作單位:");gets(p1->job); printf("請輸入E-mail:");gets(p1->email); } else return; h=p1;  while(1) { p2=p1; printf("請輸入名字(名字為0時停止)"); gets(name); if(strcmp(name,"0")==0)break; else{  p1=(lianxiren*)malloc(LEN);  strcpy(p1->name,name);  printf("請輸入電話號碼:");gets(p1->number);  printf("請輸入工作單位:");gets(p1->job);  printf("請輸入E-mail:");gets(p1->email);  p2->next=p1; } }  p1=head->next; head->next=h;  p2->next=p1;}//添加鏈表函數lianxiren*xiugai_list(lianxiren*head){ char a[20]; printf("請輸入聯系人名字或電話:"); gets(a); if(head==NULL) { printf("電話簿為空,請重新創建"); return head; } lianxiren*p=head; while(strcmp(a,p->name)!=0&&strcmp(a,p->number)!=0) { p=p->next; if(p==NULL){printf("電話簿未有此聯系人/n"); return head;} } printf("查找到了!"); printf("/n名字:");puts(p->name); printf("/n電話號碼:");puts(p->number); printf("/n工作單位:");puts(p->job); printf("/nE-mail:");puts(p->email); putchar('/n'); int n; while(1) {printf("請選擇操作項(1,名字2,電話號碼3,工作單位4,E-mail 5,退出):"); scanf("%d",&n); getchar(); switch(n) {  case 1:{printf("請輸入名字:");gets(p->name);}break; case 2:{printf("請輸入電話號碼:");gets(p->number);}break; case 3:{printf("請輸入工作單位:");gets(p->job);}break; case 4:{printf("請輸入E-mail:");gets(p->email);}break;  case 5:return head;break; default:printf("輸入錯誤!");break; } }}//修改鏈表函數lianxiren*delete_list(lianxiren*head){ char a[20]; printf("請輸入聯系人名字或電話:"); gets(a); if(head==NULL) { printf("電話簿為空,請重新創建"); return head; } lianxiren*p=head,*p1; while(strcmp(a,p->name)!=0&&strcmp(a,p->number)!=0) { p1=p; p=p->next; if(p==NULL){printf("電話簿未有此聯系人/n"); return head;} } printf("查找到了!"); printf("/n名字:");puts(p->name); printf("/n電話號碼:");puts(p->number); printf("/n工作單位:");puts(p->job); printf("/nE-mail:");puts(p->email); putchar('/n'); char n; printf("是否刪除該聯系人(Y/N)"); n=getchar(); switch(n) {  case 'y': case 'Y':{if(p==head){head=p->next;free(p);}else{p1->next=p->next;free(p);}printf("成功刪除!");}break; case 'N': case 'n':printf("取消刪除!");break; default:printf("輸入錯誤!");break; } return head;}//刪除鏈表函數void save_list(lianxiren*head){FILE *fp;if((fp=fopen("dianhuabu.dat","wb"))==NULL) { printf("File cannot be opened/n"); exit(0);}if(head==NULL){ printf("通訊錄為空/n"); return;}lianxiren*p1=head;while(p1!=NULL){ if(fwrite(p1,LEN,1,fp)!=1){ printf("cannot open file/n"); return;} p1=p1->next;}printf("保存完畢!/n");fclose(fp);}//文件寫入函數lianxiren*load_list(lianxiren*head){FILE *fp;if((fp=fopen("dianhuabu.dat","rb"))==NULL) { printf("電話簿為空,請重新創建/n"); exit(0);}lianxiren*p1,*p2;p1=(lianxiren*)malloc(LEN);if(fread(p1,LEN,1,fp)==0){printf("電話簿為空,請重新創建");return head;}head=p1;p2=p1;p1=(lianxiren*)malloc(LEN);while(fread(p1,LEN,1,fp)){ p2->next=p1; p2=p1; p1=(lianxiren*)malloc(LEN);}p2->next=NULL;free(p1);return(head);fclose(fp);}//文件讀取函數int kouling(){ char s[20]; printf("請輸入口令:"); int n=0; while(n<3) {scanf("%s",s); getchar(); if(strcmp(s,"20160390527")==0) return 0; else{n++; if(n==3){ printf("抱歉,輸入錯誤/n"); return 1;} printf("口令錯誤,請重新輸入/n"); } }return 1;}//口令驗證,密碼為:20160390527void caidan(){ printf("      歡迎進入電話簿系統      /n"); printf("********************************************/n");  printf("    1、創建電話簿(會將原有電話簿覆蓋)/n"); printf("    2、查找聯系人        /n"); printf("    3、添加聯系人        /n"); printf("    4、修改聯系人        /n"); printf("    5、刪除聯系人        /n");  printf("    6、查看電話簿(排序)     /n"); printf("    7、退出系統         /n"); printf("********************************************/n");}//菜單界面void main(){ if(kouling()) return;//口令驗證 system("cls"); caidan();//進入菜單界面 printf("     請選擇你所需要的服務:"); int n;scanf("%d",&n); getchar(); lianxiren*head; while(1){ system("cls");    caidan(); switch(n){ case 1:{  head=creat_list();  system("cls");  caidan();  print_list(head);  save_list(head);  shifang_list(head);  printf("********************************************/n");  printf("/n如需要其他服務,請重新輸入:");  scanf("%d",&n);  getchar();}break;//創建電話簿(創建鏈表、寫入文件,釋放鏈表) case 2:{  head=load_list(head);  chazhao(head);  shifang_list(head);  printf("********************************************/n");  printf("/n如需要其他服務,請重新輸入:");  scanf("%d",&n);  getchar();}break;//查找聯系人(讀入文件、查找函數、釋放鏈表) case 3:{  head=load_list(head);  add_list(head);  system("cls");  caidan();  print_list(head);  save_list(head);  shifang_list(head);  printf("********************************************/n");  printf("/n如需要其他服務,請重新輸入:");  scanf("%d",&n);  getchar();}break;//添加聯系人(讀入文件、添加鏈表、寫入文件、釋放鏈表) case 4:{  head=load_list(head);  head=xiugai_list(head);  save_list(head);  shifang_list(head);  printf("********************************************/n");  printf("/n如需要其他服務,請重新輸入:");  scanf("%d",&n);  getchar();}break;//修改聯系人(讀入文件,修改鏈表、寫入文件、釋放鏈表) case 5:{  head=load_list(head);  head=delete_list(head);  save_list(head);  shifang_list(head);  printf("********************************************/n");  printf("/n如需要其他服務,請重新輸入:");  scanf("%d",&n);  getchar();}break;//刪除聯系人(讀入文件,刪除鏈表、寫入文件、釋放鏈表) case 6:{  head=load_list(head);      paixu_list(head);  shifang_list(head);  printf("********************************************/n");  printf("/n如需要其他服務,請重新輸入:");  scanf("%d",&n);  getchar();}break;//查看電話簿(讀入文件,排序鏈表、釋放鏈表) case 7:{  system("cls");  return;}break;//退出 default:{  printf("/n輸入有誤,請重新輸入:");  scanf("%d",&n);  getchar();}break; }}}

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

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

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

圖片精選

亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
一区二区在线免费视频| 日韩av电影免费观看高清| 久久久久久高潮国产精品视| 久久久久久久久久av| 国产精品男人的天堂| 成人www视频在线观看| 国内精品久久久久影院 日本资源| 亚洲欧洲av一区二区| 欧美性猛交99久久久久99按摩| 亚洲自拍偷拍第一页| 欧美中文在线观看国产| 成人免费视频在线观看超级碰| 欧美专区第一页| 日韩精品在线观看网站| 欧洲成人午夜免费大片| 亚洲第一区在线观看| 久久综合色影院| 欧洲永久精品大片ww免费漫画| 国产精品男女猛烈高潮激情| 欧美制服第一页| 日韩欧美视频一区二区三区| 国内精品久久久久久久| 国产欧美一区二区| 精品国产乱码久久久久久虫虫漫画| 欧美精品18videos性欧| 欧美不卡视频一区发布| 国产丝袜高跟一区| 欧美特级www| 国产精品久久久久久久久久久久| 亚洲国产精品久久精品怡红院| 色婷婷av一区二区三区在线观看| 久久精品国产亚洲7777| 91影院在线免费观看视频| 久久久999精品免费| 国产精品丝袜久久久久久高清| 青草青草久热精品视频在线观看| 色与欲影视天天看综合网| 91亚洲精品在线观看| 亚洲午夜性刺激影院| 日韩av电影在线免费播放| 日韩av一区二区在线| 日韩av在线免费观看| 久久久亚洲成人| 久久香蕉国产线看观看网| 久久天天躁狠狠躁夜夜躁| 孩xxxx性bbbb欧美| 亚洲人在线视频| 亚洲欧洲国产精品| 日韩精品免费综合视频在线播放| 国产精品日韩久久久久| 日韩精品免费一线在线观看| 成年人精品视频| 欧美一区二区.| 91在线国产电影| 中文字幕欧美日韩va免费视频| 久久久国产精品视频| 亚洲免费一在线| 91国产精品电影| 久久国产精品网站| 久久久亚洲影院| 国产91精品久久久| 亚洲成av人影院在线观看| 91国产精品视频在线| 精品久久久久久久久久国产| 亚洲欧美日韩另类| 亚洲黄色av女优在线观看| 亚洲欧美三级在线| 91精品在线一区| 色天天综合狠狠色| 美日韩精品免费观看视频| 免费91麻豆精品国产自产在线观看| 亚洲视频在线观看视频| 亚洲最大成人在线| 久久青草福利网站| 国产成人精品综合久久久| 成人黄色午夜影院| 91性高湖久久久久久久久_久久99| 精品无人区太爽高潮在线播放| 精品国内亚洲在观看18黄| 性夜试看影院91社区| 久久九九免费视频| 亚洲天堂av图片| 欧美激情视频一区| 日本精品视频网站| 日韩免费中文字幕| 久久久久久久久91| 国产一区二区三区久久精品| 在线观看国产成人av片| 国产一区二区三区三区在线观看| 91在线观看免费网站| 亚洲人午夜色婷婷| 国产精品观看在线亚洲人成网| 国产69精品久久久久久| 国产免费观看久久黄| 自拍偷拍亚洲区| 亚洲成在人线av| 欧美性高跟鞋xxxxhd| 欧美黄色三级网站| 97精品欧美一区二区三区| 日韩中文字幕在线免费观看| 国产精品黄色av| 欧美日韩福利在线观看| 日韩av在线直播| 国产日韩欧美黄色| 欧美福利在线观看| 欧美性视频精品| 91精品一区二区| 亚洲日韩中文字幕在线播放| 亚洲综合精品一区二区| 91日本在线观看| 久久午夜a级毛片| 国产精品www网站| 国产美女久久精品香蕉69| 欧美电影在线观看网站| 国模叶桐国产精品一区| 成人xvideos免费视频| 午夜精品久久久久久久99黑人| 亚洲片av在线| 欧美二区乱c黑人| 欧美性猛交xxxx黑人| 欧美性受xxxx白人性爽| 亚洲国产精品va在线| 1769国产精品| 国产精品日日摸夜夜添夜夜av| 88xx成人精品| 一区二区三区国产在线观看| 九九久久精品一区| 亚洲一区亚洲二区亚洲三区| 国产精品狼人色视频一区| 国产香蕉一区二区三区在线视频| 亚洲娇小xxxx欧美娇小| 国产成人精品在线观看| 国产欧美日韩中文| 精品久久久久久久久久久久久久| 日韩在线视频网站| 欧美与黑人午夜性猛交久久久| 日韩中文字幕欧美| 亚洲欧美激情精品一区二区| 亚洲欧美一区二区三区在线| 国产日韩精品电影| 色综合91久久精品中文字幕| 国外色69视频在线观看| 亚洲欧美在线播放| 97热精品视频官网| 琪琪亚洲精品午夜在线| 久久久久久成人精品| 亚洲va欧美va在线观看| 国产精品h片在线播放| 成人国产精品一区二区| 色香阁99久久精品久久久| 国产91精品黑色丝袜高跟鞋| 亚洲第一区第二区| 国内精品久久影院| 在线观看久久av| 懂色av影视一区二区三区| 国产色婷婷国产综合在线理论片a| 亚洲女在线观看| 亚洲精品久久久久久久久久久| 久久影视免费观看| 精品久久久久久久久久久| 一区二区三区在线播放欧美| 亚洲肉体裸体xxxx137| 日韩高清电影免费观看完整版| 亚洲视频专区在线|