,,C语言实现简单电子通讯录

,,C语言实现简单电子通讯录

本文主要详细介绍了简单电子通讯录的C语言实现。本文中的示例代码非常详细,具有一定的参考价值。感兴趣的朋友可以参考一下。

本文分享用C语言实现电子通讯录的具体代码,供大家参考。具体内容如下

做一个电子通讯录,通过它可以输入朋友的身份证号,姓名(英文)和手。

电话号码、家庭住址和公司电话号码。**

原理:分为五个模块,将模块功能实现写入头文件。主要功能部件代码:

Markdown中没有对齐的显示功能部分,表示就这样,凑合吧==

/*******************************************************************

要求:制作一个电子通讯录,通过它可以输入好友的身份证号、姓名(英文)、手。

电话号码、家庭住址和公司电话号码。

模块:

主界面:主要显示软件功能,a)添加好友信息b)列出好友信息。(包括排序

功能)C)搜索好友D)删除好友

a)用户输入插入命令后,让用户输入好友信息。提示成功或失败。

b)用户输入显示命令后,好友信息按升序排列。

c)在用户输入搜索命令后,让用户输入要搜索好友名称查询。如果没有搜索到

请给我一个友好的提醒。如果是,则显示朋友信息。

d)在用户输入删除命令后,让用户输入要删除朋友的名字,如果有相同的名字,则删除该朋友

多个好友的名字,列表,同名好友的所有信息,让用户通过输入身份证号删除。

提示用户删除成功。

**********************************************************************/

#包含“head.h”

int main()

{

int函数;

int I=0;

字符名称[N];

int cho

PNode head _ Node=(PNode)malloc(sizeof(Node)/sizeof(char));

if (NULL==头节点)

{

返回MALLOC _ ERROR

}

head _ node-next=NULL;

while (1)

{

interface _ Display();

scanf ('%d ',函数);

开关(功能)//功能选择

{

1://添加朋友

{

函数=0;

Add_Friend (head_node,I);

int j;

printf(' \ t添加\ n ');

printf(' \ t请稍候');

fflush(stdout);//strong制刷新缓存,输出显示。

for(j=0;j 3;j)

{

睡眠(1);//Linux使用sleep,参数为秒。

printf(' . ');

fflush(stdout);//strong制刷新缓存,输出显示。

}

printf(' \ n ');

printf(' \ t添加成功!\ n’);

printf(' \ t请输入1:'返回主菜单);

scanf ('%d ',CHO);

if (1==cho)

{

打破;

}

其他

{

Printf ('\t对不起!你的输入是错误的!请重新输入:');

scanf ('%d ',CHO);

打破;

}

打破;

}

2://显示朋友信息

{

系统(“clear”);

Printf ('\ t * * * * * * *朋友信息* * * * * * * * \ n ');

printf(' \ n ');

Friend_Information(头节点);

函数=0;

printf(' \ t请输入1:'返回主菜单);

scanf ('%d ',CHO);

if (1==cho)

{

打破;

}

其他

{

Printf ('\t对不起!你的输入是错误的!请重新输入:');

scanf ('%d ',CHO);

打破;

}

打破;

}

3://查找朋友

{

系统(“clear”);

printf(' \ t * * * * * * * * * * *找朋友* * * * * * * * * * * * * * \ n ');

printf(' \ t请输入您要查找的朋友的姓名:');

scanf ('%s ',名称);

printf(' \ n ');

int j;

printf(' \ t查找\ n ');

printf(' \ t请稍候');

fflush(stdout);//strong制刷新缓存,输出显示。

for(j=0;j 3;j)

{

睡眠(1);//Linux使用sleep,参数为秒。

printf(' . ');

fflush(stdout);//strong制刷新缓存,输出显示。

}

printf(' \ n ');

Search_Friend (head_node,Name);

printf(' \ t请输入1:'返回主菜单);

scanf ('%d ',CHO);

if (1==cho)

{

打破;

}

其他

{

Printf ('\t对不起!你的输入是错误的!请重新输入:');

scanf ('%d ',CHO);

打破;

}

打破;

}

案例4: //删除好友

{

系统(“清除”);

printf ('\t********** '删除好友* * * * * * * * * * * * * \ n’);

printf ('\t请输入要删除好友的姓名:');

scanf ('%s ',名称);

printf(' \ n ');

Delete_Friend (head_node,Name);

printf ('\t返回主菜单请输入1:');

scanf ('%d ',CHO);

if (1==cho)

{

打破;

}

其他

{

printf ('\t对不起!您的输入有误!请重新输入:');

scanf ('%d ',CHO);

打破;

}

打破;

}

案例5: //退出通讯录

{

函数=0;

系统(“清除”);

退出(0);

}

默认值://输入有误

{

函数=0;

printf ('\t对不起!您的输入有误!请重新输入:');

scanf ('%d ',函数);

打破;

}

}

}

返回0;

}

head.h部分:

#ifndef HEAD_H_

#定义HEAD_H_

#包含标准库

#包含标准视频

#包含unistd.h //睡眠函数头文件

#定义uint无符号整数

#定义确定0

#定义错误-1

#定义MALLOC _错误-2

#定义N 20

typedef int ElementType

typedef结构节点

{

元素类型ID//ID号

字符名称[N];//姓名

char Mobile _ Phone[N];//手机号码

char Home _ Address[N];//家庭住址

char Company _ Tell[N];//公司电话

结构节点*下一个//节点指针

}节点;

typedef节点* PNode//重命名节点指针类型

//显示操作界面

int Interface_Display().

//添加好友信息(尾插法)

int Add_Friend (PNode head,元素类型num);

//显示所有好友信息

int Friend_Information (PNode头);

//查找好友

int Search_Friend (PNode head,char * Name);

//删除好友

void Delete_Friend (PNode head,char * Name);

#endif

标题c的代码:

#包含" head.h "

//显示操作界面

(同Internationalorganizations)国际组织接口_显示()

{

系统(“清除”);

printf(' \ t * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * \ n ');

printf ('\t~欢迎使用通讯录~ \ n ');

printf(' \ t ~ ~ \ n ');

printf ('\t~ 1添加好友信息~ \ n ');

printf ('\t~ 2列表好友信息~ \ n ');

printf ('\t~ 3搜索好友~ \ n ');

printf ('\t~ 4删除好友~ \ n ');

printf ('\t~ 5退出~ \ n ');

printf(' \ t ~ ~ \ n ');

printf(' \ t ~ ~ \ n ');

printf ('\t~作者:相信~ \ n ');

printf(' \ t ~ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ~ \ n ');

printf(' \ n ');

printf(' \ n ');

printf ('\t请输入对应数字选择相应功能:');

}

//添加好友信息(尾插法)

int Add_Friend (PNode head,ElementType num)

{

if (NULL==head)

{

返回错误;

}

//创建一个新的结点

PNode p=(PNode)malloc(sizeof(Node)/sizeof(char));

if (NULL==p)

{

返回MALLOC _错误

}

//将新数据赋给新结点

系统(“清除”);

printf ('\t********** '添加好友* * * * * * * * * * * * * * * \ n’);

p-ID=num;

printf ('\t好友的身份证明为:%d\n ',p-ID);

printf(' \ n ');

printf ('\t请输入好友的名字:');

scanf ('%s ',p-Name);

printf(' \ n ');

printf ('\t请输入好友的手机号:');

scanf ('%s ',p-Mobile _ Phone);

printf(' \ n ');

printf ('\t请输入好友的家庭住址:');

scanf ('%s ',p-Home _ Address);

printf(' \ n ');

printf ('\t请输入好友的公司电话:');

scanf ('%s ',p-Company _ Tell);

printf(' \ n ');

p-next=NULL;

//找到最后一个结点

PNode Ptmp//将头结点地址给临时指针Ptmp

Ptmp=头

while (Ptmp-next)

{

Ptmp=Ptmp-next;

}

ptmp-next=p;

退货OK;

}

//显示所有好友信息

int Friend_Information (PNode头)

{

if (NULL==head)

{

返回错误;

}

PNode p=head-next;

printf ('\tID\t姓名\t\t手机号\t\t住址\t\t\t公司电话\ n’);

while (p)

{

printf(' \ t % d \ t % s \ t \ t % s \ t \ t % s \ t \ t \ t % s \ n ',p-ID,

p-姓名,p-移动电话,p-家庭地址,

p-Company _ Tell);

p=p-next;

}

putchar(' \ n ');

退货OK;

}

//查找好友

int Search_Friend (PNode head,char* Name) //通过名字查找好友

{

PNode p=磁头

PNode q=空

if ((NULL!=p) NULL!=(p-next))

{

while (p-next)

{

q=p-next;

if ((NULL!=q) 0==(strcmp(q-Name,Name)))

{

printf ('\t好友信息:\n\tID:%d\n\t姓名:%s\n\t手机号码:%s\n\t家庭地址:%s\n\t公司电话:%s\n ',q-ID,q-Name,q-Mobile_Phone,q-Home_Address,q-Company _ Tell);

}

其他

{

printf ('\t对不起,您的通讯录没有该好友!\ n’);

}

p=p-next;

}

}

/* 另一种做法

if (NULL==head)

{

返回错误;

}

PNode p;

int flag=1;

for(p=head-next;p!=NULLp=p-下一个)

{

if (0==strcmp(p-Name,Name))

{

flag=0;

printf ('\t好友信息:\n\tID: %d\n\t姓名:%s\n\t手机号码:%s\n\t家庭地址:%s\n\t公司电话:%s\n ',p-ID,p-Name,p-Mobile_Phone,p-Home_Address,p-Company _ Tell);

}

}

fi(标志)

{

printf ('\t对不起,您的通讯录没有该好友!\ n’);

}

putchar(' \ n ');

*/

退货OK;

}

//删除好友

void Delete_Friend (PNode head,char* Name)

{

PNode p=磁头

PNode q=空

while (NULL!=p NULL!=(p-next))

{

q=p-next;

if (NULL!=q 0==strcmp(q-Name,Name))

{

p-next=q-next;

免费(q);

int j;

printf ('\t正在删除\ n’);

printf ('\t请稍候');

fflush(stdout);//strong制刷新缓存,输出显示

for(j=0;j 3;j)

{

睡眠(1);//linux使用睡觉,参数为秒

printf(' . ');

fflush(stdout);//strong制刷新缓存,输出显示

}

printf(' \ n ');

printf ('\t该好友已成功删除!\ n’);

}

else if (NULL==q-next 0!=strcmp(q-Name,Name))

{

printf ('\t您的通讯录没有该好友!\ n’);

}

p=p-next;

}

}

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

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

相关文章阅读

  • c语言调用退出函数 c语言退出整个程序怎么写
  • c语言中怎么给函数初始化 c语言的初始化语句
  • c语言编写函数计算平均值 c语言求平均函数
  • 详解c语言中的字符串数组是什么,详解c语言中的字符串数组结构,详解C语言中的字符串数组
  • 表达式求值c++实现,c语言实现表达式求值
  • 看懂c语言基本语法,C语言详解,C语言的基本语法详解
  • 用c语言实现快速排序算法,排序算法设计与实现快速排序C语言,C语言实现快速排序算法实例
  • 深入解析c语言中函数指针的定义与使用方法,深入解析c语言中函数指针的定义与使用情况,深入解析C语言中函数指针的定义与使用
  • 描述E-R图,E-R图举例,关于C语言中E-R图的详解
  • 折半查找法C语言,折半查找算法(算法设计题)
  • 折半查找法C语言,c语言折半法查找数据,C语言实现折半查找法(二分法)
  • 扫雷小游戏c++代码设计,c语言扫雷游戏源代码,C语言实现扫雷小游戏详细代码
  • 怎样统计程序代码行数,C语言统计行数,C#程序员统计自己的代码行数
  • 基于c语言的贪吃蛇游戏程序设计,用c语言编写贪吃蛇游戏程序,C语言实现简单的贪吃蛇游戏
  • 图的两种遍历算法,图的遍历算法代码c语言,Python算法之图的遍历
  • 留言与评论(共有 条评论)
       
    验证码: