【c语言】实现一个通讯录

实现一个通讯录;

通讯录可以用来存储1000个人的信息,每个人的信息包括:

姓名、性别、年龄、电话、住址

提供方法:

1.    添加联系人信息

2.    删除指定联系人信息

3.    查找指定联系人信息

4.    修改指定联系人信息

5.    显示所有联系人信息

6.    清空所有联系人

//头文件:

#ifndef _CONTACT__
#define _CONTACT__
#define NAME_MAX 20
#define SEX_MAX 5
#define TELE_MAX 20
#define ADDR_MAX 30
#define SB_MAX 1000

#include <stdio.h>
#include <string.h>

typedef struct sb
{
	char name[NAME_MAX];
	char sex[SEX_MAX];
	int age;
	char tele[TELE_MAX];
	char addr[ADDR_MAX];
}*sbcon;

typedef struct contact
{
	struct sb telen[SB_MAX];
	int count;
}*pCon;

void add(pCon pcon);
void dele(pCon pcon);
void search(pCon pcon);
void modify(pCon pcon);
void show(pCon pcon);
void clear(pCon pcon);

#endif

功能函数如下:

<pre name="code" class="cpp">#include "contact.h"

int find(pCon pcon,char *name)
{
	int i = 0;
	while( i < pcon->count )
	{
		if( strcmp(name,pcon->telen[i].name) == 0 )
			return i;
		i++;
	}
	return -1;
}
//添加联系人
void add(pCon pcon)
{
	//判断电话本是否满了
	if(pcon->count == SB_MAX)
	{
		printf("电话本已满\n");
		return;
	}
	else
	{
		printf("姓名:");
		scanf("%s",(pcon->telen[pcon->count]).name);
		printf("性别:");
		scanf("%s",(pcon->telen[pcon->count]).sex);
		printf("年龄:");
		scanf("%d",&(pcon->telen[pcon->count]).age);
		printf("联系电话:");
		scanf("%s",(pcon->telen[pcon->count]).tele);
		printf("家庭住址:");
		scanf("%s",(pcon->telen[pcon->count]).addr);
		pcon->count++;
	}
}
//删除联系人
void dele(pCon pcon)
{
	int ret = 0;
	char tname[NAME_MAX];
	printf("请输入要删除的名字:");
	scanf("%s",tname);
	ret = find(pcon,tname);
	if( -1 != ret )
	{
		int j = ret;
		for(; j < pcon->count-1; j++)
		{
			pcon->telen[j] = pcon->telen[j+1];
		}
		pcon->count--;

	}
	else
		printf("没有找到你要删除的人\n");
}
//查找联系人
void search(pCon pcon)
{
	int ret = 0;
	char tname[NAME_MAX];
	printf("请输入要修改的名字:");
	scanf("%s",tname);
	ret = find(pcon,tname);
	if( -1 != ret )
	{
		printf("%s\t%s\t%d\t%s\t%s\t\n",
			(pcon->telen[ret]).name,
			(pcon->telen[ret]).sex,
			(pcon->telen[ret]).age,
			(pcon->telen[ret]).tele,
			(pcon->telen[ret]).addr);
	}
	else
		printf("没有找到你要找的人\n");
}
//修改联系人
void modify(pCon pcon)
{
	int ret = 0;
	char tname[NAME_MAX];
	printf("请输入要修改的名字:");
	scanf("%s",tname);
	ret = find(pcon,tname);
	if( -1 != ret )
	{
		printf("姓名:");
		scanf("%s",(pcon->telen[ret]).name);
		printf("性别:");
		scanf("%s",(pcon->telen[ret]).sex);
		printf("年龄:");
		scanf("%d",&(pcon->telen[ret]).age);
		printf("联系电话:");
		scanf("%s",(pcon->telen[ret]).tele);
		printf("家庭住址:");
		scanf("%s",(pcon->telen[ret]).addr);
	}
	else
		printf("没有找到你要找的人\n");
}
//展示
void show(pCon pcon)
{
	int i = 0;
	for(; i < (pcon->count); i++)
	{
		printf("%s\t%s\t%d\t%s\t%s\t\n",
				(pcon->telen[i]).name,
				(pcon->telen[i]).sex,
				(pcon->telen[i]).age,
				(pcon->telen[i]).tele,
				(pcon->telen[i]).addr);
	}
}
//清空
void clear(pCon pcon)
{
	pcon->count = 0;
	printf("电话本是空的\n");
}

//主函数:


#include "contact.h"

void shou_menue()
{
	printf("*********************************\n");
	printf("*  1:添加联系人    2:删除联系人 *\n");
	printf("*  3:查找联系人    4:修改联系人 *\n");
	printf("*  5:显示联系人    6:清空联系人 *\n");
	printf("*********************************\n");
}

int main()
{
	struct contact my_contact;
	int input = 1;
	my_contact.count = 0;
	while(input)
	{
		shou_menue();
		printf("请选择你想要的操作:");
		scanf("%d",&input);
		switch(input)
		{
			case 1:
				add(&my_contact);
				break;
			case 2:
				dele(&my_contact);
				break;
			case 3:
				search(&my_contact);
				break;
			case 4:
				modify(&my_contact);
				break;
			case 5:
				show(&my_contact);
				break;
			case 6:
				clear(&my_contact);
				break;
			default:
				break;

		}
	}

	return 0;
}

以下是运行结果截图:

添加联系人以及显示联系人:

删除联系人:

查找联系人:

修改联系人:

清空联系人:

时间: 2025-02-01 17:43:03

【c语言】实现一个通讯录的相关文章

C语言做一个通讯录程序(在console里面运行)

最近复习C语言的时候看到网上有个C语言通讯录的小项目,于是看了下那个程序实现的大概的功能,然后自己也跟着做了个.代码还算简洁,贴上来给有需要的人. 1 // 2 // main.m 3 // AdressBook 4 // 5 // Created by bestkayle on 15/8/8. 6 // Copyright (c) 2015年 bestkayle. All rights reserved. 7 // 8 9 #import <Foundation/Foundation.h>

c语言制作一个通讯录

我的通讯录包括添加.查找.显示.修改.删除.清空.排序,这几项功能.成员信息包括:姓名.性别.年龄.电话.住址. 程序代码: #include<stdio.h> #include<string.h> #include<stdlib.h> #define MAX 1000//通讯录中最大存储人数 //功能 enum OP { EXIT, ADD, FIND, SHOW, MODIFY, DELE, EMPTY, SORT }; //个人信息 typedef struct

用c语言实现 一个通讯录(实现 增加、删除、查找、修改、显示、清空功能)

源程序头文件contact.h #ifndef _CONTACT_H__ #define _CONTACT_H__ #define NAME_MAX 20 #define SEX_MAX 5 #define TELE_MAX 15 #define ADDR_MAX 50 #define PEO_MAX 1000 #include <stdio.h> #include <string.h> #include <stdlib.h> typedef struct people

C语言利用结构体实现一个通讯录

实现一个通讯录: 通讯录可以用来存储1000个人的信息,每个人的信息包括: 姓名.性别.年龄.电话.住址 提供以下方法: 1. 添加联系人信息 2. 删除指定联系人信息 3. 查找指定联系人信息 4. 修改指定联系人信息 5. 显示所有联系人信息 6. 以名字排序所有联系人 7. 清空所有联系人 student.h: #ifndef __CRT #define _CRT_SECURE_NO_WARNINGS 1 #endif #ifndef __STUDENT #ifndef __STDIO_H

初学django搭建一个通讯录应用

---恢复内容开始--- django搭建一个通讯录应用 一.环境介绍 window10 64位 Django-1.5.12 python 2.7 Sqlite3 二.基本安装 python2.7安装教程地址:http://jingyan.baidu.com/article/19192ad8399a62e53e5707e0.html Django安装教程地址:http://www.runoob.com/django/django-install.html SQLite3安装教程: 下载地址:ht

怎样学好C语言,一个成功人士的心得!

今天,我能够自称是一个混IT的人,并能以此谋生,将来大家能一次谋生,都要感谢两个人:克劳德.香农和约翰.冯.诺依曼,是他们发现了全部的数字化信息,不论是一段程序,一封email,一部电影都是用一连串的1和0进行编码的:是他们发现了我们能够利用一个预先编写好的程序控制机器,并使之完毕我们期望它完毕的动作.建议大家在心里默念三遍他们的名字,以示敬仰.当然,假设让你们带着如今的知识回到他们的那个时代,那么就没有什么图灵奖了.C语言程序设计是我们的专业基础课,可是C语言本身却是一个非常强大的工具,它是到

C语言实现简易通讯录

实现一个通讯录: 通讯录可以用来存储联系人的信息,每个人的信息包括: 姓名.性别.年龄.电话.住址 提供方法: 1.添加联系人信息 2.删除指定联系人信息 3.查找指定联系人信息 4.修改指定联系人信息 5.显示所有联系人信息 6.以名字排序所有联系人 #define _CRT_SECURE_NO_WARNINGS #include<stdio.h> #include<stdlib.h> #include<string.h> enum OP        //枚举定义s

用c语言统计一个字符串中有多少个数字字符

用c语言统计一个字符串中有多少个数字字符. #include<stdio.h>int main(){    char ch;     int count=0;    while((ch=getchar())!='\n')     {        if(ch>'0'&&ch<'9')              count++;     }     printf("%d\n",count);     return 0; }

c语言 链表 写通讯录

/*   实现一个通讯录: 通讯录可以用来存储1000个人的信息,每个人的信息包括: 姓名.性别.年龄.电话.住址 提供方法: 1. 添加联系人信息 2. 删除指定联系人信息 3. 查找指定联系人信息 4. 修改指定联系人信息 5. 显示所有联系人信息 6. 清空所有联系人  */ #include<stdio.h> #include"phone_book.h" #include<string.h> #include<assert.h> typede