C++实现管理系统


概述

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

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

步骤

新建结构体

contact.h

1
2
3
4
5
6
7
8
9
10
11
12
13
14
#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

1
2
3
4
5
6
7
8
9
10
#include "Contact.h"
 
void printContactInfo( const Contact * p)
{
   cout << "姓名:" << p->name <<
     "---性别:" << p->sex <<
     "---年龄:" << p->age <<
     "---联系电话:" << p->phoneNumber <<
     "---家庭地址:" << p->address << endl;
}

ContactManager.h

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#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);

实现管理者

实现菜单功能

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#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;
}

实现退出功能

1
2
3
4
5
void exitSys()
{
   cout << "欢迎下次使用,再见" << endl;
   system ( "pause" );
}

新增联系人

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
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" );
}

展示联系人列表

1
2
3
4
5
6
7
8
9
void showContactList(ContactManager * manager)
{
   for ( int i = 0; i < manager->size; i++)
   {
     printContactInfo(&manager->contactArr[i]);
   }
   system ( "pause" );
   system ( "cls" );
}

删除联系人

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
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" );
}

查找联系人

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
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" );
}

更新联系人

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
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" );
}

清空通讯录

1
2
3
4
5
6
7
void clearManager(ContactManager * manager)
{
   manager->size = 0;
   cout << "清空联系人成功!!!" << endl;
   system ( "pause" );
   system ( "cls" );
}

运行截图

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM