C++实现管理系统

1,689 阅读2分钟

概述

系统中需要实现的功能如下:

  • 添加联系人:向通讯录中添加新人,信息包括(姓名、性别、年龄、联系电话、家庭住址)最多记录1000人
  • 显示联系人:显示通讯录中所有的联系人信息
  • 删除联系人:按照姓名进行删除指定联系人
  • 查找联系人:按照姓名查看指定联系人信息
  • 修改联系人:按照姓名重新修改指定联系人
  • 清空联系人:清空通讯录中所有信息
  • 退出通讯录:退出当前使用的通讯录

步骤

新建结构体

contact.h

#include<iostream>
#include<string>
using namespace std;

struct Contact
{
	string name;//姓名
	string sex;//性别
	int age;//年龄
	int phoneNumber;//联系电话
	string address;//家庭地址
};

void printContactInfo(const Contact *p);

定义

contact.cpp

#include "Contact.h"

void printContactInfo(const Contact * p)
{
	cout << "姓名:" << p->name <<
		"---性别:" << p->sex <<
		"---年龄:" << p->age <<
		"---联系电话:" << p->phoneNumber <<
		"---家庭地址:" << p->address << endl;
}

ContactManager.h

#include<iostream>
#include "Contact.h"
using namespace std;

#define MAX 1000

struct ContactManager
{
	//联系人数组
	Contact contactArr[MAX];
	//当前联系人数量
	int size;
};

void showMenu();
void exitSys();
void addContact(ContactManager *manager);
void showContactList(ContactManager *manager);
void delContactByName(ContactManager *manager);
void findContactByName(ContactManager *manager);
void updateContactByName(ContactManager *manager);
void clearManager(ContactManager *manager);

实现管理者

实现菜单功能
#include "ContactManager.h"

void showMenu()
{
	cout << "*********************************************" << endl;
	cout << "********      1、添加联系人      ************" << endl;
	cout << "********      2、显示联系人      ************" << endl;
	cout << "********      3、删除联系人      ************" << endl;
	cout << "********      4、查找联系人      ************" << endl;
	cout << "********      5、修改联系人      ************" << endl;
	cout << "********      6、清空联系人      ************" << endl;
	cout << "********      0、退出通讯录      ************" << endl;
	cout << "*********************************************" << endl;
	cout << "----->  请选择操作项并输入操作项编号:" << endl;
}
实现退出功能
void exitSys()
{
	cout << "欢迎下次使用,再见" << endl;
	system("pause");
}
新增联系人
void addContact(ContactManager  *manager)
{
	cout << "请输入联系人姓名:";
	cin >> manager->contactArr[manager->size].name;
	cout << "请输入联系人性别:";
	cin >> manager->contactArr[manager->size].sex;
	cout << "请输入联系人年龄:";
	cin >> manager->contactArr[manager->size].age;
	cout << "请输入联系人号码:";
	cin >> manager->contactArr[manager->size].phoneNumber;
	cout << "请输入联系人地址:";
	cin >> manager->contactArr[manager->size].address;
	cout << "添加联系人成功!!!" << endl;
	manager->size++;
	system("pause");
	system("cls");
}
展示联系人列表
void showContactList(ContactManager * manager)
{
	for (int i = 0; i < manager->size; i++)
	{
		printContactInfo(&manager->contactArr[i]);
	}
	system("pause");
	system("cls");
}
删除联系人
void delContactByName(ContactManager * manager)
{
	cout << "请输入要删除联系人的姓名:";
	string name;
	cin >> name;
	int pos = isExist(manager, name);
	if (pos == -1)
	{
		cout << "联系人不存在!!" << endl;
	}
	else
	{
		cout << "联系人的位置在" << pos << endl;
		//数据前移
		for (int i = pos; i < manager->size; i++)
		{
			manager->contactArr[pos] = manager->contactArr[pos + 1];
		}
		cout << "删除联系人成功!!" << endl;
		manager->size--;
	}
	
	system("pause");
	system("cls");
}
查找联系人
void findContactByName(ContactManager * manager)
{
	cout << "请输入要查找联系人的姓名:";
	string name;
	cin >> name;
	int pos = isExist(manager, name);
	if (pos == -1)
	{
		cout << "联系人不存在!!" << endl;
	}
	else
	{
		printContactInfo(&manager->contactArr[pos]);
	}

	system("pause");
	system("cls");
}
更新联系人
void updateContactByName(ContactManager * manager)
{
	cout << "请输入要修改联系人的姓名:";
	string name;
	cin >> name;
	int pos = isExist(manager, name);
	if (pos == -1)
	{
		cout << "联系人不存在!!" << endl;
	}
	else
	{
		cout << "请输入联系人性别:";
		cin >> manager->contactArr[pos].sex;
		cout << "请输入联系人年龄:";
		cin >> manager->contactArr[pos].age;
		cout << "请输入联系人号码:";
		cin >> manager->contactArr[pos].phoneNumber;
		cout << "请输入联系人地址:";
		cin >> manager->contactArr[pos].address;
		cout << "修改联系人成功!!!" << endl;
	}
	system("pause");
	system("cls");
}
清空通讯录
void clearManager(ContactManager * manager)
{
	manager->size = 0;
	cout << "清空联系人成功!!!" << endl;
	system("pause");
	system("cls");
}

运行截图

那么整体的项目到这里就算完成了。

需要代码的或者 需要帮忙协助开发的 请加QQ:1170932205 ,