通讯录 C语言分类,C语言 通讯录
实现一个通讯录;
通讯录可以用来存储1000个人的信息,每个人的信息包括:
姓名、性别、年龄、电话、住址
提供方法:
1.添加联系人信息
2.删除指定联系人信息
3.查找指定联系人信息
4.修改指定联系人信息
5.显示所有联系人信息
6.清空所有联系人
定义头文件
#ifndef __CONTACT_H__
#define __CONTACT_H__
#define NAME_MAX 20
#define SEX_MAX 5
#define TELE_MAX 11
#define ADDR_MAX 20
#define PEO_MAX 1000
#include
#include
#include
typedef struct people
{
char name[NAME_MAX];
char sex[SEX_MAX];
int age;
char tele[TELE_MAX];
char addr[ADDR_MAX];
}*pPeople;
typedef struct contact
{
int count;
struct people DHB[PEO_MAX];
}*pContact;
void add_peo(pContact pcon);
void del_peo(pContact pcon);
void search_peo(pContact pcon);
void modify_peo(pContact pcon);
void show_peo(pContact pcon);
void clear_peo(pContact pcon);
#endif
函数实现部分
#include "contact.h"
int find(pContact pcon,char* name)
{
int i = 0;
while(icount)
{
if(strcmp(name,pcon->DHB[i].name) == 0)
return i;
i++;
}
return -1;
}
void add_peo(pContact pcon) //添加联系人
{
if(pcon->count == PEO_MAX)
{
printf("电话本容量已达上限\n");
return;
}
printf("name:>");
scanf("%s",(pcon->DHB[pcon->count]).name);
printf("sex:>");
scanf("%s",(pcon->DHB[pcon->count]).sex);
printf("age:>");
scanf("%d",&((pcon->DHB[pcon->count]).age));
printf("tele:>");
scanf("%s",(pcon->DHB[pcon->count]).tele);
printf("addr:>");
scanf("%s",(pcon->DHB[pcon->count]).addr);
pcon->count++;
}
void del_peo(pContact pcon) //删除联系人
{
char tmpName[NAME_MAX];
int ret=0;
printf("输入需删除的联系人姓名:>");
scanf("%s",tmpName);
if(-1 != (ret=find(pcon,tmpName)))
{
int j=ret;
for(;jcount;j++)
{
pcon->DHB[j] = pcon->DHB[j+1];
}
pcon->count -= 1;
}
else
printf("该联系人不存在\n");
}
void search_peo(pContact pcon) //查找联系人
{
char tmpName[NAME_MAX];
int ret = 0;
printf("请输入要查找的联系人");
scanf("%s",tmpName);
ret = find(pcon,tmpName);
if(ret != -1)
{
printf("%s\t%s\t%d\t%s\t%s\n",
pcon->DHB[ret].name,
pcon->DHB[ret].sex,
pcon->DHB[ret].age,
pcon->DHB[ret].tele,
pcon->DHB[ret].addr);
}
}
void modify_peo(pContact pcon) //修改联系人
{
char tmpName[NAME_MAX];
int ret = 0;
printf("请输入要修改的联系人");
scanf("%s",tmpName);
ret = find(pcon,tmpName);
if(-1 != ret)
{
printf("name:>");
scanf("%s",(pcon->DHB[ret]).name);
printf("sex:>");
scanf("%s",(pcon->DHB[ret]).sex);
printf("age:>");
scanf("%d",&((pcon->DHB[ret]).age));
printf("tele:>");
scanf("%s",(pcon->DHB[ret]).tele);
printf("addr:>");
scanf("%s",(pcon->DHB[ret]).addr);
}
}
void show_peo(pContact pcon) //显示全部联系人
{
int i = 0;
for(i=0;icount;i++)
{
printf("%s\t%s\t%d\t%s\t%s\n",
pcon->DHB[i].name,
pcon->DHB[i].sex,
pcon->DHB[i].age,
pcon->DHB[i].tele,
pcon->DHB[i].addr);
}
}
void clear_peo(pContact pcon) //清空全部联系人
{
pcon->count = 0;
}
测试函数
#include "contact.h"
void show_menu()
{
printf("************************\n");
printf("* 1>add 2>del *\n");
printf("* 3>search 4>modify *\n");
printf("* 5>show 6>clear *\n");
printf("************************\n");
}
int main()
{
struct contact my_contact;
my_contact.count = 0;
int input = 1;
while(input)
{
show_menu();
printf("please input:>");
scanf("%d",&input);
switch(input)
{
case 1:
add_peo(&my_contact);
system("cls"); //清屏
break;
case 2:
del_peo(&my_contact);
system("cls");
break;
case 3:
search_peo(&my_contact);
break;
case 4:
modify_peo(&my_contact);
system("cls");
break;
case 5:
show_peo(&my_contact);
break;
case 6:
clear_peo(&my_contact);
system("cls");
break;
default:
break;
}
}
return 0;
}
通讯录 C语言分类,C语言 通讯录相关推荐
- 语言分类强弱类型语言
语言分类 静态语言:变量定义时有类型声明的语言(变量类型在编译的时候确定,变量类型在编译的时候不能修改) 动态类型语言:变量在定义时,无类型声明的语言(变量类型在运行时确定,变量类型在运行时可以修改) ...
- 自学编程是从python语言还是c语言开始-非计算机专业大学生想自学编程应该学C语言还是学Python?...
之前总结的文章,分享过来,希望对你有帮助.windliang:到底学哪一门编程语言zhuanlan.zhihu.com 发展进程 学哪一门编程语言,我们不妨先梳理一下语言的发展过程. 机器语言 计算 ...
- 【C语言进阶】C语言程序设计:动态通讯录(顺序表实现)
目录 动态通讯录的实现 一.实验的目的和意义 二.实验内容描述 三.功能描述 四.数据结构 1.三大模块 2.结构设计 3.动态开辟 4.文件操作 5.主要函数 五.流程图及模块算法 1.Contac ...
- C语言课程设计:通讯录系统
C语言课程设计:通讯录系统 [题目4]通讯录程序设计 设计一个实用的小型通讯录程序,具有添加,查询和删除功能.由姓名,籍贯,电话号码1,电话号码2,电子邮箱组成,姓名可以由字符和数字混合编码.电话号码 ...
- 用C语言编写简单的通讯录(大一课程作业)
用C语言编写简单的通讯录(大一课程作业) 该系统概述: 因本人只学习了C语言的基础部分,所以编写该系统时只使用了一个C文件.存储通讯录信息以txt文件方式保存. 系统设计: 显示主菜单主函数:int ...
- 通讯录的实现(C语言)
目录 前言 一.C语言知识点回顾 1.枚举 1.1枚举类型的定义 1.2 枚举的优点 为什么使用枚举? 1.3 通讯录中枚举的使用 2. return 与 return 0 3. qsort 参数 用 ...
- 你是真的“C”——详解C语言实现文件版通讯录
详解C语言实现文件版通讯录
- 通讯录管理系统C语言课程设计大作业,c语言课程设计报告---通讯录管理系统.doc...
c语言课程设计报告---通讯录管理系统.doc Yangtze University College of Arts and Science 学生实习手册 (课程设计报告) 学 部 理 工 学 部 专 ...
- 学生通讯录管理系统【用 结构数组 实现 通讯录管理】【C语言】
目录 说明 1.实训目的 2.实训内容 3.系统需求分析 4.系统设计与实现 完整程序代码(纯C语言?代码) 5.系统测试与运行结果分析 6.心得体会 原创性声明 说明 大一下学期(2019年 上半年 ...
- 简易通讯录的实现(c语言,后附完整代码)
今天我要介绍的是通讯录的实现(c语言) 首先先简单说一下思路吧. 一共需要三个文件分别为test.c(测试通讯录),contact.h(所需函数及头文件),contact.c(通讯录功能实现).因为通 ...
最新文章
- pycharm中报错:Error: failed to send plot to http://127.0.0.1:63342
- 编写单元测试代码遵守BCDE原则,以保证被测试模块的交付质量,那么下列说法正确的是
- outlook 突然发信不正常
- python string模块template_Template Strings
- C++字符输入getchar()和字符输出putchar()
- Tomcat 上添加虚拟相对路径
- 递归函数两种方式的区别
- 用PHP的CURL写的一个采集Discuz的例子
- springboot忽略证书_SpringBoot中通过java代码实现忽略SSL证书
- Android_自定义控件样式
- [论文阅读] Unifying Global-Local Representations in Salient Object Detection with Transformer
- sqoop导出到mysql中文乱码问题总结、utf8、gbk
- Base64压缩UUID长度替换Hibernate原有UUID生成器
- 【板栗糖GIS】arcmap—如何通过影像融合提高遥感数据的分辨率
- 鱼之死,越狱章鱼和雾霾黑客
- 中国象棋ai人工智能(网页版)
- spellman斯派曼电源维修XRB100N100K4405
- c++学习记录之多态
- 离散-关系矩阵乘法运算
- 六级考研单词之路-二十二