温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

C语言如何实现简单的通讯录

发布时间:2021-05-28 12:22:39 来源:亿速云 阅读:164 作者:小新 栏目:编程语言

这篇文章给大家分享的是有关C语言如何实现简单的通讯录的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。

用C语言写了一个简单的通讯录,说简单一是功能简单,二是也没有加读写文件操作,只是作为链表操作的一个练习,希望能给这方面的新手一此引导和帮助。

代码:

/* 转贴请注明出处         */  /* 作者:小浦原(ID:blueboy82006)      */  /* http://blog.csdn.net/blueboy82006     */  #include <stdio.h>  #include <stdlib.h>  #include<string.h>  #include<ctype.h>  typedef struct node{   char name[12];   char phone[13];   struct node *next;  }LNode;  LNode *h;        //头结点  static int flag=1;     //通讯录创建标记  int CreateNode(void)     //创建单循环链表  {   if(flag)   {    LNode *p;    h=(LNode *)malloc(sizeof(LNode));    h->next=NULL;    p=h;    flag--;    return 1;   }   else    return 0;  }  int InsertNode(void)    //插入函数  {   if(!flag)   {    LNode *t;    char name1[12];    char phone1[13];    printf("/n输入姓名:");    scanf("%s",name1);    printf("/n输入联系电话:");    scanf("%s",phone1);    t=(LNode *)malloc(sizeof(LNode));    strcpy(t->name,name1);    strcpy(t->phone,phone1);    t->next=h->next;    h->next=t;    return 1;   }   else    return 0;  }  int SearchNode(void)    //查询函数  {   if(!flag)   {    LNode *p;    int x=0;    char name1[12];    printf("/n输入查询姓名:");    scanf("%s",name1);    p=h;    printf("/n查询结果:");    while(p->next)    {     p=p->next;     if(strcmp(p->name,name1)==0)     {      printf("/n姓名:%s/n联系电话:%s/n",p->name,p->phone);      x++;     }    }    if(!x)     printf("/n没有找到相关信息!");    return 1;   }else    return 0;  }  int DeletNode(void)    //删除函数  {   if(!flag)   {    LNode *pre,*p;    char name1[12];    p=h;    printf("/n输入要删除联系人的姓名:");    scanf("%s",name1);    while(p->next)    {     pre=p;     p=p->next;     if(strcmp(p->name,name1)==0)     {      pre->next=p->next;      free(p);      printf("删除成功!/n");      break;     }    }    if(!p->next)     printf("/n没有找到要删除的信息!");    return 1;   }   else    return 0;  }  int PrintNode(void)    //输出函数  {   if(!flag)   {    LNode *p;    p=h;    while(p->next)    {     p=p->next;     printf("/n姓名:%s /t联系电话:%s",p->name,p->phone);    }    return 1;   }   else    return 0;  }  int main()       //主函数  {   char n;   printf("/n/n");   printf("/t/t   通讯录/t/n");   printf("/t/t|————————————————|/n");   printf("/t/t|        |/n");   printf("/t/t| [1] 建立通讯录     |/n");   printf("/t/t| [2] 插入联系人的姓名   |/n");   printf("/t/t| [3] 查找联系人的姓名   |/n");   printf("/t/t| [4] 删除联系人的姓名   |/n");   printf("/t/t| [5] 输出所有联系人信息   |/n");   printf("/t/t| [0] 退出      |/n");   printf("/t/t|        |/n");   printf("/t/t| 如未建立新表,请先建立!  |/n");   printf("/t/t|        |/n");   printf("/t/t|————————————————|/n");   printf("/n");   printf("请输入你的选项(0-5):");   while(1)   {    scanf("%s",&n);    while(!(n=='0'||n=='1'||n=='2'||n=='3'||n=='4'||n=='5'))    {     printf("请输入你的选项(0-5):");     scanf("%s",&n);    }    system("CLS");    switch(n)    {    case '0':{     printf("/n/t/t感谢您的使用!/n");     return 0;       }    case '1':{     if(CreateNode())      printf("通讯录建立成功!/n");     else      printf("通讯录已建立,无需重复建立!/n");     break;       }    case '2':{     if(InsertNode())      printf("添加成功!/n");     else      printf("添加失败,请先创建通讯录!/n");     break;       }    case '3':{     if(SearchNode())      printf("/n");     else      printf("查找失败,请先创建通讯录!/n");     break;       }    case '4':{     if(DeletNode())      printf("/n");     else      printf("删除失败,请先创建通讯录!/n");     break;       }    case '5':{     if(PrintNode())      printf("/n以上是全部联系人信息./n");     else      printf("ERROR,请先创建通讯录!/n");          break;       }    default:{printf("输入不符合要求!");}    }    printf("/n/n");    printf("/t/t   通讯录/t/n");    printf("/t/t|————————————————|/n");    printf("/t/t|        |/n");    printf("/t/t| [1] 建立通讯录     |/n");    printf("/t/t| [2] 插入联系人的姓名   |/n");    printf("/t/t| [3] 查找联系人的姓名   |/n");    printf("/t/t| [4] 删除联系人的姓名   |/n");    printf("/t/t| [5] 输出所有联系人信息   |/n");    printf("/t/t| [0] 退出      |/n");    printf("/t/t|        |/n");    printf("/t/t| 如未建立新表,请先建立!  |/n");    printf("/t/t|        |/n");    printf("/t/t|————————————————|/n");    printf("/n");   }  }

感谢各位的阅读!关于“C语言如何实现简单的通讯录”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI