通讯录管理系统

1 需求分析

需要设计一个简单的通讯录管理系统,来实现联系人信息的长时间存储(包含姓名、性别、年龄、电话号码等),并且在需要时能够查找出相关联系人的信息。需要包含录入、查找、修改、删除、保存等功能。

2 系统设计

2.1系统功能设计

该系统具有联系人基本信息的输入、查询、删除、修改等功能。具体可将本系统分为以下功能,每项功能的主要任务是:

1、录入联系人:完成联系人信息的输入。
2、查询联系人:根据姓名,查询联系人的信息。
3、删除联系人:根据姓名,删除联系人的信息。
4、修改联系人:修改已经录入的联系人的信息。
5、保存文件:保存已经录入的联系人的信息。
6、读取文件:读取已经存储的联系人的信息。

在这里插入图片描述

2.2数据结构设计

所有子任务都围绕着一批联系人的信息,每个联系人包括姓名、年龄、性别和电话号码,因此,定义一个联系人的结构体类型如下:

#define MAX_NAME 20
#define MAX_TELE 12
#define MAX_SEX 2
struct Contact
{
   
	char name[MAX_NAME];
	char tele[MAX_TELE];
	char sex[MAX_SEX];
	int age;
}

3主要模块设计与实现

//初始化通讯录
void InitiaContact(struct Contact* p, int *count);
//录入联系人信息
void InputContact(struct Contact* p, int *count);
//显示联系人信息
void ShowContact(struct Contact* p, int *count);
//修改联系人信息
void ModifyContact(struct Contact* p, int *count);
//查找联系人信息
void FindContact(struct Contact* p, int *count);
//删除联系人信息
void DeleteContact(struct Contact* p, int *count);
//保存联系人信息
void SaveContact(struct Contact* p, int *count);

4 系统运行测试

要针对程序处理的不同情况列出有代表性的输入和输出,用足够多的实例说明程序完成了设计任务和目标。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

5 源代码清单

//定义结构体以及函数声明

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

#define MAX_NAME 20
#define MAX_TELE 12
#define MAX_SEX 2

struct Contact
{
   
	char name[MAX_NAME];
	char tele[MAX_TELE];
	char sex[MAX_SEX];
	int age;
};

//初始化通讯录
void InitiaContact(struct Contact* p, int *count);
//录入联系人信息
void InputContact(struct Contact* p, int *count);
//显示联系人信息
void ShowContact(struct Contact* p, int *count);
//修改联系人信息
void ModifyContact(struct Contact* p, int *count);
//查找联系人信息
void FindContact(struct Contact* p, int *count);
//删除联系人信息
void DeleteContact(struct Contact* p, int *count);
//保存联系人信息
void SaveContact(struct Contact* p, int *count);
//菜单
void Menu()
{
   
	printf("******************************\n");
	printf("**       欢迎使用通讯录     **\n");
	printf("**--------------------------**\n");
	printf("**                          **\n");
	printf("**    1.  录入联系人信息    **\n");
	printf("**    2.  显示联系人信息    **\n");
	printf("**    3.  修改联系人信息    **\n");
	printf("**    4.  查找联系人信息    **\n");
	printf("**    5.  删除联系人信息    **\n");
	printf("**    6.  保存联系人信息    **\n");
	printf("**         0.  退出         **\n");
	printf
  • 6
    点赞
  • 36
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值