C程序实例1--个人通讯录管理系统

个人通讯录管理系统

已实现的功能:

1. 界面选择是否进入通讯录;
2. 一次添加多条联系人;
3. 显示全部联系人;

未实现的功能:

1. 退出程序后通讯录不会保存;
2. 退出系统后需要重新打开程序才可进入系统;

通讯录信息包括:姓名、工作单位、固定电话、手机号、关系、EMAIL、QQ。

数据变量类型说明
namechar [30]姓名
telephonechar [30]固定电话
mobilephonechar [30]手机号
typechar [30]关系
qqchar [30]qq号
emailchar [64]EMAIL
departmentchar [512]工作单位

包含的功能:添加联系人、显示全部联系人。

添加联系人:首先需要输入添加几个联系人,然后分别添加每个联系人的信息,输入信息时需要与添加的信息内容保持一致;

代码:

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

#define MAX_CHARS 512
#define MAX_CONTACTS_COUNT 256
enum {
	SYS_CONTACTS_INPUT=1,
	SYS_CONTACTS_OUTPUT=2,
	SYS_CONTACTS_EXIT = 3,
};

// 结构体 记录要输入或显示的信息,包括 姓名、单位、固定电话、手持电话、关系、email、qq
typedef struct T_SYS_CONTACTS{
	char name[30];  // 姓名
	char telephone[30];  // 固定电话
	char mobilphone[30];  // 手持电话
	char type[30];  // 关系
	char qq[30];  // qq
	char email[64];  // email
	char department[MAX_CHARS];  // 单位
}ContactSys;

void InputContacts();  // 添加联系人
void OutputContacts();  // 显示联系人

ContactSys g_contacts[MAX_CONTACTS_COUNT];  // 通讯录里的联系人信息
int nContacts;  // 联系人个数

int main()
{
	int isAccess = -1;  // 是否进入通讯录管理系统
	printf("【0】 进入个人通讯录管理系统\n");
	printf("【非0】 退出程序\n");
	printf("请输入你需要完成的操作:");
	scanf("%d",&isAccess);
	if(0 != isAccess)
		return 0;

	printf("*******************欢迎访问个人通讯录系统^_^****************************\r\n\n");
	do 
	{
		printf("\t序号【1】:添加联系人.\r\n");
		printf("\t序号【2】:显示联系人.\r\n");
		printf("\t序号【3】:退出系统\r\n\n");

		printf("请输入你需要完成的操作序号:");
		int nCommand;
		scanf("%d",&nCommand);

		switch(nCommand)
		{
		case SYS_CONTACTS_INPUT:
			InputContacts();
			break;
		case SYS_CONTACTS_OUTPUT:
			OutputContacts();
			break;
		case SYS_CONTACTS_EXIT:	
			{
				printf("退出个人通讯录管理系统\r\n");
			}
			break;
		}

		if(SYS_CONTACTS_EXIT == nCommand)
			break;

	} while (1);
	printf("\r\n*******************退出个人通讯录系统^_^****************************\r\n\n");


	system("pause");
	return 0;
}

void InputContacts()
{
	printf("\n##开始添加联系人\r\n请输入添加的联系人的个数(<256):");
	scanf("%d",&nContacts);

	printf("\t请输入联系人的信息,输入时使用Tab键对齐要输入的信息\r\n\t\t姓名\t单位\t固定电话\t移动手机\t分类\tEMAIL\t\tQQ\t\r\n");
	for(int i=0;i<nContacts;i++)
	{
		printf("\t\t");
		scanf("%s\t%s\t%s\t\t%s\t\t%s\t%s\t%s",&g_contacts[i].name,
			&g_contacts[i].department,
			&g_contacts[i].telephone,
			&g_contacts[i].mobilphone,
			&g_contacts[i].type,
			&g_contacts[i].email,
			&g_contacts[i].qq);
	}

	printf("\n添加联系人结束\r\n\n");

}

void OutputContacts()
{

	printf("\n##显示联系人\r\n");

	printf("姓名\t单位\t固定电话\t移动手机\t分类\tEMAIL\t\tQQ\t\r\n");
	for(int i=0;i<nContacts;i++)
	{
		printf("%s\t%s\t%s\t\t%s\t\t%s\t%s\t%s\r\n",g_contacts[i].name,
			g_contacts[i].department,
			g_contacts[i].telephone,
			g_contacts[i].mobilphone,
			g_contacts[i].type,
			g_contacts[i].email,
			g_contacts[i].qq);
		if((i+1) %10 ==0)
			printf("-------------------------------------------------------------\r\n");

	}

	printf("\n显示联系人结束\r\n\n");
}


运行结果:

  • 0
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值