c语言通讯录管理系统编写通讯录

C语言实现简易通讯录
实现一个通讯录;
通讯录可以用来存储联系人的信息,每个人的信息包括:
姓名、性别、年龄、电话、住址
提供方法:
1.添加联系人信息
2.删除指定联系人信息
3.查找指定联系人信息
4.修改指定联系人信息
5.显示所有联系人信息
6.以名字排序所有联系人
#define _CRT_SECURE_NO_WARNINGS
#include&stdio.h&
#include&stdlib.h&
#include&string.h&
//枚举定义switch转换的接口位置
//DELETE=2
void menu()
printf(&*************
简易通讯录
************\n&);
printf(&************* 1.添加联系人信息
************\n&);
printf(&************* 2.删除联系人信息
************\n&);
printf(&************* 3.查找联系人信息
************\n&);
printf(&************* 4.修改联系人信息
************\n&);
printf(&************* 5.显示所有联系人
************\n&);
printf(&************* 6.排序所有联系人
************\n&);
printf(&************* 0.
************\n&);
typedef struct man
//定义联系人相关信息的结构体
char name[15];
char sex[6];
char adrr[30];
char phone_num[10];
Man man[10];
//存储10个联系人信息
int Add_man(Man man[],int n)
//添加联系人函数
int i = 0;
char sign = 0;
//继续添加时Y/N的输入
char x[10];
while (sign != 'n'&&sign != 'N')
printf(&phone_number:&);
scanf(&%s&,&man[n+i].phone_num);
printf(&name:&);
scanf(&%s&, &man[n + i].name);
printf(&sex:&);
scanf(&%s&,&man[n+i].sex);
printf(&address:&);
scanf(&%s&,&man[n+i].adrr);
printf(&\n是否继续添加?(Y/N)&);
scanf(&%c&,&sign);
return (n + i);
int Delete_man(Man man[],int n)
//删除联系人信息
char a[10];
int i = 0;
int j = 0;
printf(&请输入要删除的联系人姓名:&);
scanf(&%s&,a);
while (strcmp(man[i].name, a) != 0 && i & n)
if (i == n)
printf(&查无此人,输入有误!&);
return (n);
for (j = j & n - 1; j++)
strcpy(man[j].phone_num, man[j + 1].phone_num);
strcpy(man[j].name, man[j + 1].name);
strcpy(man[j].sex, man[j + 1].sex);
strcpy(man[j].adrr, man[j + 1].adrr);
printf(&Delete success!\n\n\n&);
return (n - 1);
void Alter_man(Man man[],int n)
//修改联系人信息
char a[10];
int i = 0;
printf(&请输入要修改的联系人姓名:&);
scanf(&%s&,a);
while (strcmp(man[i].name, a) != 0 && i & n)
if (i == n)
printf(&查无此人,输入有误!\n&);
printf(&phone_number:&);
scanf(&%s&,&man[i].phone_num);
printf(&name:&);
scanf(&%s&,&man[i].name);
printf(&sex:&);
scanf(&%s&,&man[i].sex);
printf(&address:&);
scanf(&%s&,&man[i].adrr);
printf(&Alter success!\n\n\n&);
void Find_man(Man man[],int n)
//查找相关联系人
int choose = 0;
printf(&******************************\n&);
printf(&********
**********\n&);
printf(&*****
1.people_name
*****\n&);
printf(&******************************\n&);
printf(&*****
2.phone_number
*****\n&);
printf(&******************************\n&);
printf(&choose one find way:&);
scanf(&%d&,&choose);
while (choose != 1 && choose != 2)
printf(&输入有误,请重新输入!&);
scanf(&%d&,&choose);
if (choose == 1)
char a[10];
int i = 0;
printf(&请输入要查找的联系人姓名:&);
scanf(&%s&,a);
while (strcmp(man[i].name, a) != 0 && i & n)
if (i == n)
printf(&\n\n查无此人!\n\n&);
printf(&phone_number:%s\n&, man[i].phone_num);
printf(&name:%s\n&, man[i].name);
printf(&sex:%s\n&, man[i].sex);
printf(&address:%s\n&, man[i].adrr);
if (choose == 2)
char a[10];
int i = 0;
printf(&请输入要查找的联系人电话:&);
scanf(&%s&,a);
while (strcmp(man[i].phone_num, a) != 0 && i & n)
if (i == n)
printf(&\n\n查无此号!\n\n&);
printf(&phone_number:%s\n&, &man[i].phone_num);
printf(&name:%s\n&, man[i].name);
printf(&sex:%s\n&, man[i].sex);
printf(&address:%s\n&, man[i].adrr);
void Print_man(Man man[],int n)
//显示所有联系人信息
int i = 0;
printf(&----------------------------------------------\n&);
printf(&电话姓名性别地址\n&);
printf(&----------------------------------------------\n&);
for (i = 0; i & i++)
printf(&%s \t %s \t %s \t %s\n&,man[i].phone_num,man[i].name,man[i].sex,man[i].adrr);
printf(&----------------------------------------------\n&);
void Sort_man(Man man[],int n)
//按联系人名称排序所有联系人
int i = 0;
int j = 0;
for (i = 0; i & n - 1; i++)
for (j = j & j++)
if (strcmp(man[i].name, man[j].name)&0)
tmp = man[i];
man[i] = man[j];
for (i = 0; i & i++)
printf(&%s \t %s \t %s \t %s\n&, man[i].phone_num, man[i].name, man[i].sex, man[i].adrr);
int main()
int input = 1;
int ret = 0;
while (input)
printf(&请输入您的选项:&&);
scanf(&%d&,&input);
switch (input)
//利用枚举定义的函数名替代了case后的1,2,3,4等,使得每一个调用函数的入口有意义,而非毫无意义的单纯数字
ret=Add_man(man,ret);
case DELETE:
ret=Delete_man(man,ret);
case FIND:
Find_man(man,ret);
case ALTER:
Alter_man(man,ret);
case PRINT:
Print_man(man,ret);
case SORT:
Sort_man(man,ret);【c语言编写通讯录】[训练]c语言编写的通讯录代码、doc下载_爱问共享资料
[训练]c语言编写的通讯录代码、.doc
[训练]c语言编写的通讯录代码、.doc
[训练]c语言编写的通讯录代码、.doc
简介:本文档为《[训练]c语言编写的通讯录代码、doc》,可适用于人力资源领域,主题内容包含训练c语言编写的通讯录代码、#include&stdioh&#include&stringh&structfriendslist{charnamei符等。
侵权或盗版
*若权利人发现爱问平台上用户上传内容侵犯了其作品的信息网络传播权等合法权益时,请按照平台要求书面通知爱问!
赌博犯罪类
在此可输入您对该资料的评论~
添加成功至
资料评价:OC语言实现中等难度通讯录
实现中等难度通讯录。需求:
1、定义联系⼈人类Contact。实例变量:姓名(拼⾳音,⾸首字⺟母⼤大写)、性别、电话号码、
住址、分组名称、年龄。⽅方法:⾃自定义初始化⽅方法(姓名、电话号码)、显⽰示联系⼈人信息
&
2、在main.m中定义字典,分组管理所有联系⼈人。分组名为26个⼤大写的英⽂文字⺟母。
&
3、可以添加联系⼈人对象,如果姓名或电话号码为空,添加失败。添加联系⼈人到匹配的分
组。

4、获取某个分组名称下所有联系⼈人,并且按照姓名升序排列。

5、从通讯录中根据电话号码搜索联系⼈人。

 6、获取所有⼥女性的联系⼈人,并且按照年龄的降序排列。

 7、根据姓名删除某个联系⼈人。

8、删除某个分组的全部联系⼈人。&
@interface&Contact
:&NSObject
@property&(nonatomic,&retain)NSString&*
@property&(nonatomic,&assign)NSInteger&
@property&(nonatomic,&retain)NSString&*
@property&(nonatomic,&retain)NSString&*phoneN
@property&(nonatomic,&retain)NSString&*
@property&(nonatomic,&retain)NSString&*
- (id)initWithName:(NSString&*)name
& & age:(NSInteger)age
& & sex:(NSString&*)sex
& phoneNumber:(NSString&*)
+ (id)contactWithName:(NSString&*)name
age:(NSInteger)age
sex:(NSString&*)sex
& & phoneNumber:(NSString&*)phone
addr:(NSString&*)
- (NSComparisonResult)sortContactByAge:(Contact&*)otherC
- (NSComparisonResult)sortContactByName:(Contact&*)otherC
#import&"Contact.h"
@implementation&Contact
- (id)initWithName:(NSString&*)name
& & age:(NSInteger)age
& & sex:(NSString&*)sex
& phoneNumber:(NSString&*)phone
& &&self&=
[super&init];
& &&if&(self)
&&_phoneNumber&=
&&return&self;
+ (id)contactWithName:(NSString&*)name
age:(NSInteger)age
sex:(NSString&*)sex
& & phoneNumber:(NSString&*)phone
addr:(NSString&*)addr
& &&Contact&*con =
[[Contact&alloc]initWithName:name&age:age&sex:sex&phoneNumber:phone];
& & con.addr&=
& con.group&=
[[con.name&substringToIndex:1]uppercaseString];
& &&return&
- (NSComparisonResult)sortContactByAge:(Contact&*)otherCont
& &&if&(self.age&&
otherCont.age) {
&&return&NSOrderedDescending;
& &&else&if&(self.age&&
otherCont.age){
&&return&NSOrderedAscending;
&&return&NSOrderedSame;&
- (NSComparisonResult)sortContactByName:(Contact&*)otherCont
& &&if&([self.name&compare:otherCont.name]
&&return&NSOrderedAscending;
& &&else&if&([self.name&compare:otherCont.name]
&&return&NSOrderedDescending;
&&return&NSOrderedSame;
- (void)info
&&NSLog(@"name:%@, age:%ld, sex:%@,
phone:%@, addr:%@, group:%@",&_name,&_age,&_sex,&_phoneNumber,&_addr,&_group);
AddressBook.h
//& AddressBook.h
//& 07_字典实现通讯录
//& Created by zhangzhipeng on 15/4/15.
//& Copyright (c) 2015年&www.lanou3g.com蓝欧3G.
All rights reserved.
#import&"Contact.h"
@interface&AddressBook
:&NSObject
@property&(nonatomic,&retain)&NSMutableDictionary&*conD
- (void)addContactPersonName:(NSString&*)name
& age:(NSInteger)age
& sex:(NSString&*)sex
phoneNumber:(NSString&*)phone
addr:(NSString&*)
- (void)getAllContactByGroupAndSortByNameAsceding:(NSString*)
- (void)searchContactByPhoneNumber:(NSString&*)phoneN
- (void)getAllContactBySexAndSortByNameDescding:(NSString&*)
- (void)deleteContactByName:(NSString&*)
- (void)deleteContactByGroup:(NSString&*)
- (void)listAllC
AddressBook.m
//& AddressBook.m
//& 07_字典实现通讯录
//& Created by zhangzhipeng on 15/4/15.
//& Copyright (c) 2015年&www.lanou3g.com蓝欧3G.
All rights reserved.
#import&"AddressBook.h"
@implementation&AddressBook
- (id)init
& &&self&=
[super&init];
& &&if&(self)
&&self.conDic&=
[NSMutableDictionary&dictionary];
&&return&self;
- (void)addContactPersonName:(NSString&*)name
& age:(NSInteger)age
& sex:(NSString&*)sex
phoneNumber:(NSString&*)phone
addr:(NSString&*)addr
& &&if&(name
[name&isEqualToString:@" "] || phone ==nil&||
[phone&isEqualToString:@" "]) {
&&NSLog(@"增加联系人失败");
&&Contact&*con =
[Contact&contactWithName:name&age:age&sex:sex&phoneNumber:phone&addr:addr];
&&NSMutableArray&*conArr
= [self.conDicvalueForKey:con.group];
&&if&(conArr
& & & conArr =
[NSMutableArray&array];
[conArr&addObject:con];
[self.conDic&setObject:conArr&forKey:con.group];
[conArr&addObject:con];
- (void)getAllContactByGroupAndSortByNameAsceding:(NSString*)group
& &&NSMutableArray&*mArr
= [self.conDic&valueForKey:group];
[mArr&sortUsingSelector:@selector(sortContactByName:)];
& &&for&(Contact&*cont&in&mArr)
& [cont&info];
- (void)searchContactByPhoneNumber:(NSString&*)phoneNumber
&&NSMutableArray&*arrPhoneNumber
= [NSMutableArray&array];
& &&for&(NSString&*key&in&self.conDic)
&&NSMutableArray&*mArr
= [self.conDic&objectForKey:key];
&&for&(Contact&*cont&in&mArr)
&&if&([cont.phoneNumber&isEqualToString:phoneNumber])
[arrPhoneNumber&addObject:cont];
& &&for&(Contact&*cont&in&arrPhoneNumber)
& [cont&info];
- (void)getAllContactBySexAndSortByNameDescding:(NSString&*)sex
&&NSMutableArray&*arrSex
= [NSMutableArray&array];
& &&for&(NSString&*key&in&self.conDic)
&&NSMutableArray&*arr
= [self.conDic&valueForKey:key];
&&for&(Contact&*cont&in&arr)
&&if&([cont.sex&isEqualToString:sex])
[arrSex&addObject:cont];
[arrSex&sortUsingSelector:@selector(sortContactByAge:)];
& &&for&(Contact&*cont&in&arrSex)
& [cont&info];
- (void)deleteContactByName:(NSString&*)name
&&NSMutableArray&*arrDelete
= [NSMutableArray&array];
& &&for&(&NSString&*key&in&self.conDic)
&&NSMutableArray&*arr
= [self.conDic&valueForKey:key];
&&for&(Contact&*cont&in&arr)
&&if&([cont.name&isEqualToString:name])
[arrDelete&addObject:cont];
& [arr&removeObjectsInArray:arrDelete];
- (void)deleteContactByGroup:(NSString&*)group
& [self.conDic&removeObjectForKey:group];
- (void)listAllContact
& &&for&(NSString&*key&in&self.conDic)
&&NSMutableArray&*mArr
= [self.conDic&valueForKey:key];
&&for&(Contact&*con&in&mArr)
[con&info];
版权声明:本文为博主原创文章,未经博主允许不得转载。
已投稿到:
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。c语言实现通讯录
共发布过2门课程
后邀请好友注册,您和好友将分别获赠3个实验豆!
0% Complete
加载中,精彩就在后面...
截取实验桌面
上传本地图片
购买成功!课程上线时,您将收到邮件提醒
一个实验正在进行,是否停止它,开始新实验?
为了让评估结果更加准确,请注意以下操作:
完成实验后点击「停止实验」按钮
将代码提交到代码库
尽可能详尽的撰写实验报告
尽可能在实验操作的关键步骤截图
尽可能减少无用操作
尽可能高效的利用内存/CPU资源
评估课还在不断完善中,我们真挚希望你能通过我们提供的这个平台,找到更好的发展机会。
该实验默认环境
本次课程将使用 C 语言完成一个简单的通讯录。会涉及到结构体、数组、链表等重要概念。因此,您需要对 C 语言有一定的了解。
您有 -1 个实验豆,激活本课程需要消耗 2 个实验豆!
激活后可不限次数学习本课。
获取验证码
选择支付方式
下次自动登录
注册表示您已经同意我们的小J解决问题&
求一个通讯录管理系统 C语言编写的
最好有点注释。
JE技校网友
更新时间: 15:26
JE技校网推荐内容
 酒店管理,是全球十大热门行业之一,高级酒店管理人才在全球都是一直很紧缺的。近年来,在国际人才市场上,酒店管理人才出现了供不应求的局面。
  目前,全世界已有17个国际酒店管理集团在上海投资或管理星级酒店,酒店行业在不断扩充,对人才的需求也不断增加,每年都需要数以千计的国际化酒店管理人才... ...
 主要学习会展的基础理论与基本技能,注重外语应用能力特别是口语能力的培养,强化计算机应用能力的教学,培养学生从事各类会展的市场调研、策划、组织管理和运作能力以及展台设计能力。... ...
物业是多元化的,根据物业公司的资质等级可以分别进行管理。 物业又包含两大类: 1、居住性物业; 居住性物业还有很多项,包括:小区,大厦,写字楼等等。 2、非居住性物业。 非居住性物业也还有很多项,包括:商场,工厂,超市等等。... ...
这一专业的设置是为了培养在社会主义市场经济条件下从事工商业及其他各类企业管理方面工作的专门人才。经过专业学习,成绩合格者应系统地掌握现代管理理论、有广泛的知识。熟悉各类管理的基本技能和科学方法,能够胜任企业管理工作。
一、工商企业管理专业的培养目标
为了满足工商企业管理专业培养目标的要求,选学...... ...
找不到你想要的专业吗?
C语言课程设计报告-------学生成绩简单管理程序 一、系统菜单的主要功能 (1)输入若干条记录 (2)显示所有记录 (3)按学号排序 (4)插入一条记录 (5)按姓名查找,删除一条记录 (6)查找并显示一条记录 (7)输出统计信息 (新增) (8)从正文中添加数据到结构体数组中 (9)将所有数据写入文件中 (0)退出程序 二、题目分析 该题主要考察学生对结构体,指针,文件的操作,以及C语言算法...
我不 晓得?...
虽然我不知道,不过帮楼主顶一个,希望楼主你成功。...
C语言是Combined Language(组合语言)的中英混合简称。是一种计算机程序设计语言。它既具有高级语言的特点,又具有汇编语言的特点。它可以作为工作系统设计语言,编写系统应用程序,也可以作为应用程序设计语言,编写不依赖计算机硬件的应用程序。因此,它的应用范围广泛,不仅仅是在软件开发上,而且各类科研都需要用到C语言,具体应用比如单片机以及嵌入式系统开发。...
招生信息与资讯
微信扫一扫咨询技校问题
网站版权与免责声明:
①由于各方面不确定的因素,有可能原文内容调整与变化,本网所提供的相关信息请网友以权威部门公布的正式信息为准.
②本站学校简介、学校招生信息的版权属于各个学校!
本网转载的文/图等稿件出于非商业性目的,如转载稿涉及版权及个人隐私等问题,请联系我们(邮件)
&&本站QQ官方微博:@jixiaoJE &
&Copyright &2016&&www.qqje.com&&All Rights Reserved.
JE技校网 , 中国技校品牌网!}

我要回帖

更多关于 C语言编写简单通讯录 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信