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

首頁 > 編程 > C > 正文

C語言實現簡易通訊錄

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

本文實例為大家分享了C語言實現簡易通訊錄的具體代碼,供大家參考,具體內容如下

功能描述:

1、存儲聯系人的相關信息,包括姓名、性別、電話號碼、備注
2、可輸出通訊錄全部信息
3、清空通訊錄的
4、用戶交互界面
5、插入新聯系人信息
6、查找聯系人,包括“按姓名查找”和“按電話號查找”兩種
7、刪除聯系人,包括“按姓名刪除”和“按電話號刪除”兩種
8、按性別篩選聯系人信息

在本次通訊錄的編寫代碼中,涉及到了C高級和數據結構的一些知識,包括指針,結構體,數據結構(鏈表)等。 

代碼:

#include<stdio.h>#include<stdlib.h>#include<string.h>#define SIZE 20#define OK 1#define Error 0typedef struct Node //定義一個存儲數據的結構體{             char name[SIZE]; char s; long int number; char remark[SIZE]; struct Node *next;}Node;typedef struct Node *LinkList; //定義了結構體指針 /************創建一個空的結點,作為頭結點***************/LinkList CreateEmptyLinkList(){ LinkList p; p=(LinkList)malloc(sizeof(Node));  //手動申請一個堆區的地址,為結點提供空間 if(p==NULL) { printf("CreateEmptyLinkList Error/n"); exit(0); } p->next=NULL; return p;}  /************頭插法添加新的聯系人************************/ int CreateLinkList(LinkList Q){ LinkList p; char name[SIZE],s,remark[SIZE]; long int num; p=(LinkList)malloc(sizeof(Node)); if(p==NULL) { printf("CreateLinkList Error/n"); return Error; } printf("請輸入姓名:"); scanf("%s",name); strcpy(p->name,name); printf("請輸入性別(m/男,f/女):"); scanf("%s",&s); while(s!='m'&&s!='f') { printf("輸入錯誤/n"); printf("請輸入性別(m/男,f/女):"); scanf("%s",&s); } printf("請輸入電話號碼:"); scanf("%ld",&num); printf("請輸入備注:"); scanf("%s",remark); p->s=s; p->number=num; strcpy(p->remark,remark); p->next=Q->next; Q->next=p; return OK;}/*********************制作原始聯系人信息****************/int FirstCreateLinkList(LinkList Q){ LinkList x,y,z; x=(LinkList)malloc(sizeof(Node)); if(x==NULL) { printf("CreateLinkList Error/n"); return Error; } strcpy(x->name,"LiLi"); x->s='f'; x->number=10110; x->next=Q->next; strcpy(x->remark,"LiLi"); Q->next=x; y=(LinkList)malloc(sizeof(Node)); if(y==NULL) { printf("CreateLinkList Error/n"); return Error; } strcpy(y->name,"NaNa"); y->s='f'; y->number=11100; strcpy(y->remark,"NaNa"); y->next=Q->next; Q->next=y; z=(LinkList)malloc(sizeof(Node)); if(z==NULL) { printf("CreateLinkList Error/n"); return Error; } strcpy(z->name,"LiuLiu"); z->s='m'; z->number=10000; strcpy(z->remark,"LiuLiu"); z->next=Q->next; Q->next=z; return OK;}/*****************按姓名刪除一個聯系人****************************/ int DeleteNameLinkList(LinkList L,char name1[SIZE]){ LinkList p,q; p=L; while(p->next && strcmp(p->next->name,name1)) { p=p->next; } if(!p->next) { printf("該通訊錄沒有要刪除的聯系人,刪除失??!/n"); return Error; } else { q=p->next; printf("已刪除聯系人:/n"); printf("姓名:%s/n",q->name); if(q->s=='m') printf("性別:男/n"); else printf("性別:女/n"); printf("電話號碼:%ld/n",q->number); printf("備注:%s/n",q->remark);   p->next=q->next; free(q); return OK; }}/*****************按號碼刪除一個聯系人****************************/ int DeleteNumLinkList(LinkList L,long int j){ LinkList p,q; p=L; while((p->next->number!=j)&&((p->next)!=NULL)) { p=p->next; if((p->next)==NULL) {  printf("該通訊錄沒有要刪除的聯系人,刪除失??!/n");  return Error; } } q=p->next; printf("已刪除聯系人:/n"); printf("姓名:%s/n",q->name); if(q->s=='m') printf("性別:男/n"); else printf("性別:女/n"); printf("電話號碼:%ld/n",q->number); printf("備注:%s/n",q->remark);  p->next=q->next; free(q); return OK;} /******************按姓名查找一個聯系人****************************/int FindNameLinkList(LinkList L,char name2[SIZE]){ LinkList p,q; p=L; while(strcmp(p->next->name,name2)!=0&&(p->next!=NULL)) { p=p->next; if(p->next==NULL) {  printf("該通訊錄沒有您要找的人,查找失敗/n");  return Error; } } q=p->next; printf("找到記錄:/n"); printf("姓名:%s/n",q->name); if(q->s=='m') printf("性別:男/n"); else printf("性別:女/n"); printf("電話號碼:%ld/n",q->number); printf("備注:%s/n",q->remark); printf("*********************************/n"); return OK;}/******************按號碼查找一個聯系人****************************/int FindNumLinkList(LinkList L,long int j){ LinkList p,q; p=L; while((p->next->number!=j)&&((p->next)!=NULL)) { p=p->next; if((p->next)==NULL) {  printf("該通訊錄沒有您要找的人,查找失敗/n");  return Error; } } q=p->next; printf("找到記錄:/n"); printf("姓名:%s/n",q->name); if(q->s=='m') printf("性別:男/n"); else printf("性別:女/n"); printf("電話號碼:%ld/n",q->number); printf("備注:%s/n",q->remark); printf("*********************************/n"); return OK;}/******************查找一個聯系人****************************/int FindLinkList(LinkList L){ LinkList head = L;    printf("*********************************/n"); printf("請輸入查找聯系人的方式:/n"); printf("1:按姓名/n"); printf("2:按號碼/n"); printf("0:返回/n"); printf("*********************************/n"); printf("請選擇:"); int k=3;  //確保下面while循環運行 while(k) { scanf("%d",&k); char Delname1[SIZE]; long int N; if(k>2||k<0) {  printf("輸入錯誤,請重新輸入:");  scanf("%d",&k);  while(getchar()!='/n')  printf("/n"); } switch(k) {  case 1:  printf("請輸入姓名:");  scanf("%s",Delname1);  FindNameLinkList(head,Delname1);  k=0;  break;  case 2:  printf("請輸入號碼:");  scanf("%ld",&N);  FindNumLinkList(head,N);  k=0;  break; }  }}/********************清空聯系人信息*************************/int ClearLinkList(LinkList L){ LinkList p,q; p=L->next; while(p) { q=p->next; free(p); p=q; } L->next=NULL; printf("清空所有聯系人成功/n"); return OK;} /*********************篩選所有男性聯系人**********************/int ScreenMaleLinkList(LinkList L){ LinkList p; p=L->next; int i=0; while(p) { if(p->s=='m') {  printf("姓名:%s/n",p->name);  if(p->s=='m')  printf("性別:男/n");  else  printf("性別:女/n");  printf("電話號碼:%ld/n",p->number);  printf("備注:%s/n",p->remark);   printf("*********************************/n"); } p=p->next; i++; } if(i==0&&!p) { printf("無男性聯系人/n"); } return OK;}/*********************篩選所女性聯系人**********************/int ScreenFemaleLinkList(LinkList L){ LinkList p; p=L->next; int i=0; while(p) { if(p->s=='f') {  printf("姓名:%s/n",p->name);  if(p->s=='m')  printf("性別:男/n");  else  printf("性別:女/n");  printf("電話號碼:%ld/n",p->number);  printf("備注:%s/n",p->remark);   printf("*********************************/n"); } p=p->next; i++; } if(i==0&&!p) { printf("無女性聯系人/n"); } return OK;}/************************通訊錄功能界面*****************/void FunctionalInterface(){ system ("clear"); printf("*********************************/n"); printf("歡迎使用Linux通訊錄!/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("0:退出/n"); printf("*********************************/n");}/*****************刪除一個聯系人****************************/ int DeleteLinkList(LinkList L){ LinkList head = L; printf("*********************************/n"); printf("請輸入刪除聯系人的方式:/n"); printf("1:按姓名/n"); printf("2:按號碼/n"); printf("0:返回/n"); printf("*********************************/n"); printf("請選擇:"); int i=3; while(i) { scanf("%d",&i); char Delname[SIZE]; long int j; if(i>2||i<0) {  printf("輸入錯誤,請重新輸入:");  scanf("%d",&i);  while(getchar()!='/n')  printf("/n"); } switch(i) {  case 1:  printf("請輸入姓名:");  scanf("%s",Delname);  DeleteNameLinkList(head,Delname);  i=0;  break;  case 2:  printf("請輸入號碼:");  scanf("%ld",&j);  DeleteNumLinkList(head,j);  i=0;  break; }  } }/*******************遍歷打印整個鏈表**********************/int PrintfLinkList(LinkList L){ LinkList p,q; q=p=L->next; int i=0; while(q) { i++; q=q->next; if(i==0&&!p) { printf("無聯系人/n"); } } printf("共有%d個聯系人/n",i); while(p) { printf("*********************************/n"); printf("姓名:%s/n",p->name); if(p->s=='m')  printf("性別:男/n"); else  printf("性別:女/n"); printf("電話號碼:%ld/n",p->number); printf("備注:%s/n",p->remark);  p=p->next; } printf("*********************************/n"); return OK; } int main(){ int a; LinkList head; head=CreateEmptyLinkList(); FirstCreateLinkList(head); FunctionalInterface(); while(a) { printf("請輸入您要選擇的功能:"); scanf("%d",&a); if(a>7||a<0) {  printf("輸入錯誤,請重新輸入:");  scanf("%d",&a);  while(getchar()!='/n')  printf("/n"); } switch(a) {  case 1:  PrintfLinkList(head);  break;  case 2:  CreateLinkList(head);  break;  case 3:  DeleteLinkList(head);  break;  case 4:  FindLinkList(head);  break;  case 5:  ClearLinkList(head);  break;  case 6:  ScreenMaleLinkList(head);  break;  case 7:  ScreenFemaleLinkList(head);  break;  } if(a!=0) {  printf("請按回車鍵繼續:");  getchar();  if(getchar()=='/n')  FunctionalInterface(); } } printf("歡迎再次使用/n"); return 0;}

以上均為自己編寫,個人能力有限,如有錯誤,還請各位批評指正。

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

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

圖片精選

亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
久久99亚洲精品| 欧美日韩一区免费| 国产一区二区三区在线观看视频| 在线观看91久久久久久| 亚洲福利视频二区| 欧美又大粗又爽又黄大片视频| 亚洲第一色中文字幕| 久久精品99无色码中文字幕| 日韩视频精品在线| 欧美裸体xxxx极品少妇| 7777精品久久久久久| 久久精品久久精品亚洲人| 欧美精品一区在线播放| 亚洲无限av看| 人九九综合九九宗合| 精品国产视频在线| 在线看欧美日韩| 国产精品99一区| 日韩在线观看网站| 国产精品永久免费观看| 欧美视频免费在线| 久久久精品国产亚洲| 日韩免费精品视频| 在线观看日韩视频| 亚洲最新视频在线| 久久亚洲电影天堂| 97精品伊人久久久大香线蕉| 日本精品一区二区三区在线| 亚洲女同精品视频| 国产成人精品网站| 国产91精品视频在线观看| 国产激情视频一区| 成人午夜在线影院| 国产日韩欧美视频| 国产婷婷97碰碰久久人人蜜臀| 亚洲aaaaaa| 色诱女教师一区二区三区| 欧美高清电影在线看| 91成人免费观看网站| 亚洲精品成人av| 国产一区欧美二区三区| 揄拍成人国产精品视频| 欧美激情精品久久久久久免费印度| 久久久久久中文| 亚洲剧情一区二区| 国产一区二区三区在线免费观看| 欧美在线亚洲在线| 欧美久久久精品| 91av在线免费观看视频| 最近免费中文字幕视频2019| 欧美日韩裸体免费视频| 久久久精品中文字幕| 国产97在线亚洲| 欧美日韩激情美女| 精品美女久久久久久免费| 欧美日韩视频免费播放| 亚洲精品国产精品乱码不99按摩| 福利视频第一区| 中文字幕成人精品久久不卡| 中文字幕国产亚洲| 色妞色视频一区二区三区四区| 亚洲高清色综合| 久久久久久网站| 岛国av午夜精品| 精品久久香蕉国产线看观看gif| 久久久久久久久久久亚洲| 亚洲电影免费观看高清完整版在线观看| 久久综合久久美利坚合众国| 亚洲免费视频在线观看| 国产日韩欧美自拍| 久久久久久久国产精品| 国产成人精品免高潮在线观看| 米奇精品一区二区三区在线观看| 黑丝美女久久久| 国产欧美中文字幕| 在线观看视频99| 97视频免费在线观看| 久热精品视频在线观看一区| 热久久美女精品天天吊色| 亚洲男人天堂手机在线| 欧美网站在线观看| 久久综合伊人77777蜜臀| 久久精品99久久久香蕉| 欧美成人精品激情在线观看| 亚洲美女精品久久| 国产精品va在线播放| 国语自产精品视频在线看| 日韩福利伦理影院免费| 日韩中文字幕在线视频播放| 日韩男女性生活视频| 国产精品99久久99久久久二8| 国产精品稀缺呦系列在线| 91精品国产免费久久久久久| 日韩精品www| 久久久av亚洲男天堂| 91免费视频国产| 国产日产久久高清欧美一区| 国产精品入口福利| 精品久久久久久久久久久| 国产成人高潮免费观看精品| 久久99久久99精品免观看粉嫩| 欧美日韩国产综合视频在线观看中文| 色爱精品视频一区| 欧美超级免费视 在线| 国产国产精品人在线视| 精品亚洲一区二区三区四区五区| 国产精品亚洲美女av网站| 欧洲s码亚洲m码精品一区| 成人午夜小视频| 中文字幕国产日韩| 77777少妇光屁股久久一区| 国产精品久久婷婷六月丁香| 亚洲美女av网站| 最近2019年日本中文免费字幕| 国产精品高潮呻吟久久av无限| 欧洲亚洲免费视频| 国产不卡一区二区在线播放| 欧美日韩在线视频观看| 九九精品在线播放| 国内精品一区二区三区四区| 欧美激情欧美激情在线五月| 欧美成人午夜剧场免费观看| 国产成人av网址| 国产主播喷水一区二区| 欧美乱人伦中文字幕在线| 成人性生交大片免费观看嘿嘿视频| 国产小视频国产精品| 欧美另类69精品久久久久9999| 精品国产福利在线| 国产亚洲成av人片在线观看桃| 国产精品视频不卡| 国产亚洲精品久久久久久777| 欧美大片第1页| 草民午夜欧美限制a级福利片| 欧美日韩国产一区在线| 午夜免费日韩视频| 一区二区三区四区在线观看视频| 亚洲一区二区三区xxx视频| 国产精品免费小视频| 欧美区在线播放| 欧美日韩美女在线| 青青a在线精品免费观看| 91av在线看| 欧美激情视频三区| 欧美日韩一区二区三区在线免费观看| 日韩精品免费看| 国产一区二区三区在线免费观看| 欧美日韩中文字幕日韩欧美| 一区二区欧美在线| 久久精品国产2020观看福利| 亚洲精品有码在线| 欧美一区二区色| 国产一区二区三区视频| 久久久久久久久国产精品| 久久久久久久久久久亚洲| www国产亚洲精品久久网站| 日韩在线精品一区| 日韩精品免费一线在线观看| 久久6免费高清热精品| 亚洲久久久久久久久久| 亚洲iv一区二区三区| 精品性高朝久久久久久久| 国产视频精品va久久久久久| 色多多国产成人永久免费网站|