程序笔记   发布时间:2022-05-30  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了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;               //头结点 
stati@R_674_8592@ 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->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语言通讯录管理系统课程设计
  • C语言通讯录管理系统完整版
  • C语言实现通讯录功能
  • C语言使用结构体实现简单通讯录
  • C语言通讯录实例分享
  • 用C语言实现简易通讯录
  • C语言实现一个通讯录
  • C语言实现通讯录系统
  • 使用C语言打造通讯录管理系统和教学安排系统的代码示例
  • C语言基于哈希表实现通讯录

大佬总结

以上是大佬教程为你收集整理的C语言实现简单的通讯录全部内容,希望文章能够帮你解决C语言实现简单的通讯录所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。