iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > 其他教程 >C语言基于单链表实现通讯录功能
  • 728
分享到

C语言基于单链表实现通讯录功能

2024-04-02 19:04:59 728人浏览 安东尼
摘要

本文实例为大家分享了C语言基于单链表实现通讯录功能的具体代码,供大家参考,具体内容如下 #include<stdio.h> #include<stdlib.h&

本文实例为大家分享了C语言基于单链表实现通讯录功能的具体代码,供大家参考,具体内容如下


#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#pragma warning(disable:4996);//解决VS报严重性代码错误
typedef struct Lnode
{
 char name[20];
 double ph_number;
 struct LNode* next;
}LinkNode;

//创建通讯录 
LNode* CreateList(LNode*& L)
{
 LNode* s, * r;
 int n;
 L = (LNode*)malloc(sizeof(LNode));
 r = L;

 printf("请输入要创建联系人的个数:");
 scanf("%d", &n);
 printf("\n");

 for (int i = 0; i < n; i++)
 {
  s = (LNode*)malloc(sizeof(LNode));

  printf("请输入第%d个联系人的姓名,电话:\n", i + 1);
  scanf("%s%lf", &s->name, &s->ph_number);
  printf("\n");

  r->next = s;
  r = s;
 }
 r->next = NULL;
 return L;
}

//添加联系人 
void ListInsert(LNode*& L)
{
 LNode* new_s, * r = L;
 while (r->next != NULL)
 {
  r = r->next;
 }
 new_s = (LNode*)malloc(sizeof(LNode));

 printf("请输入要添加的联系人的姓名,电话:\n");
 scanf("%s%lf", &new_s->name, &new_s->ph_number);
 printf("\n");

 r->next = new_s;
 r = new_s;
 r->next = NULL;
}

//查找联系人 
bool Locate(LNode*& L)
{
 LNode* p = L->next;
 char name_[20];

 printf("请输入要查找的联系人的姓名:\n");
 scanf("%s", &name_);
 printf("\n");

 while (p != NULL && strcmp(p->name, name_) != 0)//注意判断条件
 {
  p = p->next;
 }
 if (p == NULL) return false;
 else return true;
}

//修改联系人 
bool ModifyList(LNode*& L)
{
 LNode* p = L;
 char name_[20];
 double ph_number_;

 printf("请输入要修改的联系人的姓名:\n");
 scanf("%s", name_);
 printf("\n");

 while (p != NULL && strcmp(p->name, name_) != 0)//注意判断条件
 {
  p = p->next;
 }
 if (p == NULL) return false;
 else {
  printf("请输入修改后的电话号码为:\n");
  scanf("%lf", &ph_number_);
  printf("\n");
  p->ph_number = ph_number_;
  return true;
 }
}

//删除联系人 
bool ListDelete(LNode*& L)
{
 LNode* p = L->next, * q = L;
 char name_[20];

 printf("请输入要删除联系人的姓名:\n");
 scanf("%s", name_);
 printf("\n");

 while (p != NULL && strcmp(p->name, name_) != 0)//注意判断条件
 {
  p = p->next;
  q = q->next;
 }
 if (p == NULL)
  return false;
 else {
  q->next = q->next->next;
  free(p);
  return true;
 }
}

//加载通讯录 
void DispList(LNode* L)
{
 int i = 0;
 LNode* p = L->next;
 while (p != NULL)
 {
  printf("姓名:%s  电话:%.0lf\n", p->name, p->ph_number);
  p = p->next;
  i++;
 }
}

int main()
{
 printf("*****************************************\n");
 printf("*                                       *\n");
 printf("*            1:添加联系人              *\n");
 printf("*                                       *\n");
 printf("*            2: 查找联系人              *\n");
 printf("*                                       *\n");
 printf("*            3: 修改联系人              *\n");
 printf("*                                       *\n");
 printf("*            4: 删除联系人              *\n");
 printf("*                                       *\n");
 printf("*            5: 加载通讯录              *\n");
 printf("*                                       *\n");
 printf("*****************************************\n");
 printf("\n");

 LNode* L = CreateList(L);
 int operand;
 printf("\n");
 for (int i = 0; i < 5; i++)
 {
  printf("请输入您要执行操作的操作数:\n");
  scanf("%d", &operand);
  switch (operand)
  {
  case 1:
   ListInsert(L);
   break;
  case 2:
   if (Locate(L) == 1) {
    printf("找到该联系人\n");
    printf("\n");
    break;
   }
   else {
    printf("未找到改联系人\n");
    printf("\n");
    break;
   }
  case 3:
   if (ModifyList(L) == 1) {
    printf("修改成功\n");
    printf("\n");
    break;
   }
   else {
    printf("修改失败\n");
    printf("\n");
    break;
   }
  case 4:
   if (ListDelete(L) == 1) {
    printf("删除成功\n");
    printf("\n");
    break;
   }
   else {
    printf("删除失败\n");
    printf("\n");
    break;
   }
  case 5:
   DispList(L);
   break;
  default:
   printf("ERROR!!!\n");
  }
 }
 return 0;
}

运行截图

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持编程网。

--结束END--

本文标题: C语言基于单链表实现通讯录功能

本文链接: https://www.lsjlt.com/news/127254.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • C语言基于单链表实现通讯录功能
    本文实例为大家分享了C语言基于单链表实现通讯录功能的具体代码,供大家参考,具体内容如下 #include<stdio.h> #include<stdlib.h&...
    99+
    2022-11-12
  • C语言实现简单通讯录功能
    本文实例为大家分享了C语言实现简单通讯录功能的具体代码,供大家参考,具体内容如下 1.存放联系人信息 2.信息:名字+年龄+性别+电话+住址 3.增加联系人 4.删除联系人 5.查找...
    99+
    2022-11-12
  • C语言单链表实现通讯录管理系统
    本文实例为大家分享了C语言单链表实现通讯录管理系统的具体代码,供大家参考,具体内容如下 本人前几天刚刚自学了单链表,趁热打铁,赶紧写一个小小的项目练练手。 单链表的实现在本人之前的博...
    99+
    2022-11-12
  • C语言链表实现简易通讯录
    本文实例为大家分享了C语言链表实现简易通讯录的具体代码,供大家参考,具体内容如下 链表实现通讯录功能: 1.添加–(输入 姓名,电话) 2.删除-- (输入人名,删除该人) 3.查询...
    99+
    2022-11-12
  • C语言实现单链表的基本功能详解
    1.首先简单了解一下链表的概念: 要注意的是链表是一个结构体实现的一种线性表,它只能从前往后,不可以从后往前(因为next只保存下一个节点的地址).在实现单链表的操作时,需要用指针...
    99+
    2022-11-12
  • C语言怎么实现单链表的基本功能
    本篇内容主要讲解“C语言怎么实现单链表的基本功能”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“C语言怎么实现单链表的基本功能”吧!首先简单了解一下链表的概念:要注意的是链表是一个结构体实现的一种...
    99+
    2023-06-21
  • C语言实现通讯录小功能
    本文实例为大家分享了C语言实现通讯录功能的具体代码,供大家参考,具体内容如下 头文件contact.h #pragma once #define _CRT_SECURE_NO_...
    99+
    2022-11-12
  • C语言单链表如何实现通讯录管理系统
    这篇文章将为大家详细讲解有关C语言单链表如何实现通讯录管理系统,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。通讯录管理系统保存人的信息有: 名字   name电话 ...
    99+
    2023-06-15
  • 基于C语言怎么实现静态通讯录
    这篇文章主要介绍“基于C语言怎么实现静态通讯录”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“基于C语言怎么实现静态通讯录”文章能帮助大家解决问题。一、项目要求实现一个通讯录通讯录可以用来存储100个...
    99+
    2023-07-02
  • C语言链表实现通讯录系统课程设计
    本文实例为大家分享了C语言链表实现通讯录系统的具体代码,供大家参考,具体内容如下 流程图 概要设计 1、数据结构 选择单链表来完成所有操作,便于插入和删除,不利于排序。 2、程序模...
    99+
    2022-11-13
  • C语言链表案例学习之通讯录的实现
    目录一、通讯录需要实现的功能二、项目目的三、项目开发一、通讯录需要实现的功能 1,通讯录可以存储编号,联系人的姓名,电话号码和家庭住址。 2,通讯录最基本的功能是添加联系人,用户可以...
    99+
    2022-11-13
    C语言 链表 实现通讯录 C语言 实现通讯录 C语 言链表 通讯录 C语言 通讯录
  • C语言实现简单通讯录系统
    本文实例为大家分享了C语言通讯录系统(增删改查),供大家参考,具体内容如下 全部代码如下所示: #include <iostream> #include <s...
    99+
    2022-11-12
  • C++使用链表存储实现通讯录功能管理
    本文实例为大家分享了C++使用链表存储实现通讯录功能管理的具体代码,供大家参考,具体内容如下 简介 这是第二周老师给的一个小项目要求实现基本通讯录功能,有数据的增删改查,包含插入时间...
    99+
    2022-11-13
  • 基于C语言实现静态通讯录的示例代码
    目录一、项目要求二、Contact.h三、Contact.c1、静态函数2、初始化通讯录3、打印4、增加联系人信息5、通过名字查找6、删除联系人信息7、修改信息8、排序通讯录9、清空...
    99+
    2022-11-13
  • 基于C语言实现高级通讯录的示例代码
    目录前言创建通讯录打印菜单初始化通讯录实现加载功能实现添加功能实现增容功能实现删除功能实现查询功能实现修改功能实现查询所有联系人功能实现排序功能实现清空功能实现保存功能实现退出功能通...
    99+
    2023-01-30
    C语言实现高级通讯录 C语言高级通讯录 C语言 通讯录
  • C语言多功能动态通讯录实现示例
    目录前言一、预设置1,头文件的包含2,联系人的信息格式3,通讯录的信息格式4,通讯录相关宏定义5,通讯录功能枚举6,基本主函数二、功能函数实现1,初始化函数2,查找函数3,打印菜单4...
    99+
    2023-01-31
    C语言多功能动态通讯录 C语言 通讯录
  • 如何使用C语言代码实现通讯录功能
    今天小编给大家分享一下如何使用C语言代码实现通讯录功能的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。首先创建一个test.c...
    99+
    2023-07-02
  • C语言实现通讯录功能的流程与代码
    用C语言制作一个拥有添加,删除,查找,修改,排序,清空,打印功能的通讯录 用分模块的方法来实现这个通讯录,函数的声明,类型的声明放在一个.h文件中,函数的实现放在一个.c文件中,在主...
    99+
    2022-11-13
  • ​​​​​​​C语言实现单链表基本操作方法
    目录存储结构基本功能头插法创建单链表尾插法创建单链表获取指定位置的元素在指定位置插入元素删除指定位置的元素获取单链表的长度合并两个非递减的单链表晴链表遍历打印单链表附上完整代码存储结...
    99+
    2022-11-13
  • C++如何使用链表存储实现通讯录功能管理
    本文小编为大家详细介绍“C++如何使用链表存储实现通讯录功能管理”,内容详细,步骤清晰,细节处理妥当,希望这篇“C++如何使用链表存储实现通讯录功能管理”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。代码详情头文件...
    99+
    2023-07-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作