C++實(shí)現(xiàn)管理系統(tǒng)的示例代碼
概述
系統(tǒng)中需要實(shí)現(xiàn)的功能如下:
- 添加聯(lián)系人:向通訊錄中添加新人,信息包括(姓名、性別、年齡、聯(lián)系電話、家庭住址)最多記錄1000人
- 顯示聯(lián)系人:顯示通訊錄中所有的聯(lián)系人信息
- 刪除聯(lián)系人:按照姓名進(jìn)行刪除指定聯(lián)系人
- 查找聯(lián)系人:按照姓名查看指定聯(lián)系人信息
- 修改聯(lián)系人:按照姓名重新修改指定聯(lián)系人
- 清空聯(lián)系人:清空通訊錄中所有信息
- 退出通訊錄:退出當(dāng)前使用的通訊錄
步驟
新建結(jié)構(gòu)體
contact.h
#include<iostream>
#include<string>
using namespace std;
struct Contact
{
string name;//姓名
string sex;//性別
int age;//年齡
int phoneNumber;//聯(lián)系電話
string address;//家庭地址
};
void printContactInfo(const Contact *p);
定義
contact.cpp
#include "Contact.h"
void printContactInfo(const Contact * p)
{
cout << "姓名:" << p->name <<
"---性別:" << p->sex <<
"---年齡:" << p->age <<
"---聯(lián)系電話:" << p->phoneNumber <<
"---家庭地址:" << p->address << endl;
}
ContactManager.h
#include<iostream>
#include "Contact.h"
using namespace std;
#define MAX 1000
struct ContactManager
{
//聯(lián)系人數(shù)組
Contact contactArr[MAX];
//當(dāng)前聯(lián)系人數(shù)量
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);
實(shí)現(xiàn)管理者
實(shí)現(xiàn)菜單功能
#include "ContactManager.h"
void showMenu()
{
cout << "*********************************************" << endl;
cout << "******** 1、添加聯(lián)系人 ************" << endl;
cout << "******** 2、顯示聯(lián)系人 ************" << endl;
cout << "******** 3、刪除聯(lián)系人 ************" << endl;
cout << "******** 4、查找聯(lián)系人 ************" << endl;
cout << "******** 5、修改聯(lián)系人 ************" << endl;
cout << "******** 6、清空聯(lián)系人 ************" << endl;
cout << "******** 0、退出通訊錄 ************" << endl;
cout << "*********************************************" << endl;
cout << "-----> 請選擇操作項(xiàng)并輸入操作項(xiàng)編號(hào):" << endl;
}
實(shí)現(xiàn)退出功能
void exitSys()
{
cout << "歡迎下次使用,再見" << endl;
system("pause");
}
新增聯(lián)系人
void addContact(ContactManager *manager)
{
cout << "請輸入聯(lián)系人姓名:";
cin >> manager->contactArr[manager->size].name;
cout << "請輸入聯(lián)系人性別:";
cin >> manager->contactArr[manager->size].sex;
cout << "請輸入聯(lián)系人年齡:";
cin >> manager->contactArr[manager->size].age;
cout << "請輸入聯(lián)系人號(hào)碼:";
cin >> manager->contactArr[manager->size].phoneNumber;
cout << "請輸入聯(lián)系人地址:";
cin >> manager->contactArr[manager->size].address;
cout << "添加聯(lián)系人成功!??!" << endl;
manager->size++;
system("pause");
system("cls");
}
展示聯(lián)系人列表
void showContactList(ContactManager * manager)
{
for (int i = 0; i < manager->size; i++)
{
printContactInfo(&manager->contactArr[i]);
}
system("pause");
system("cls");
}
刪除聯(lián)系人
void delContactByName(ContactManager * manager)
{
cout << "請輸入要?jiǎng)h除聯(lián)系人的姓名:";
string name;
cin >> name;
int pos = isExist(manager, name);
if (pos == -1)
{
cout << "聯(lián)系人不存在??!" << endl;
}
else
{
cout << "聯(lián)系人的位置在" << pos << endl;
//數(shù)據(jù)前移
for (int i = pos; i < manager->size; i++)
{
manager->contactArr[pos] = manager->contactArr[pos + 1];
}
cout << "刪除聯(lián)系人成功??!" << endl;
manager->size--;
}
system("pause");
system("cls");
}
查找聯(lián)系人
void findContactByName(ContactManager * manager)
{
cout << "請輸入要查找聯(lián)系人的姓名:";
string name;
cin >> name;
int pos = isExist(manager, name);
if (pos == -1)
{
cout << "聯(lián)系人不存在?。? << endl;
}
else
{
printContactInfo(&manager->contactArr[pos]);
}
system("pause");
system("cls");
}
更新聯(lián)系人
void updateContactByName(ContactManager * manager)
{
cout << "請輸入要修改聯(lián)系人的姓名:";
string name;
cin >> name;
int pos = isExist(manager, name);
if (pos == -1)
{
cout << "聯(lián)系人不存在?。? << endl;
}
else
{
cout << "請輸入聯(lián)系人性別:";
cin >> manager->contactArr[pos].sex;
cout << "請輸入聯(lián)系人年齡:";
cin >> manager->contactArr[pos].age;
cout << "請輸入聯(lián)系人號(hào)碼:";
cin >> manager->contactArr[pos].phoneNumber;
cout << "請輸入聯(lián)系人地址:";
cin >> manager->contactArr[pos].address;
cout << "修改聯(lián)系人成功?。?!" << endl;
}
system("pause");
system("cls");
}
清空通訊錄
void clearManager(ContactManager * manager)
{
manager->size = 0;
cout << "清空聯(lián)系人成功?。?!" << endl;
system("pause");
system("cls");
}
運(yùn)行截圖

那么整體的項(xiàng)目到這里就算完成了。
到此這篇關(guān)于C++實(shí)現(xiàn)管理系統(tǒng)的示例代碼的文章就介紹到這了,更多相關(guān)C++ 管理系統(tǒng)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- C++實(shí)現(xiàn)簡單的圖書管理系統(tǒng)
- C++實(shí)現(xiàn)簡單職工信息管理系統(tǒng)
- C++實(shí)現(xiàn)簡單的學(xué)生管理系統(tǒng)
- C++學(xué)生信息管理系統(tǒng)
- C++實(shí)現(xiàn)停車場管理系統(tǒng)
- C++實(shí)現(xiàn)簡單的信息管理系統(tǒng)
- C++實(shí)現(xiàn)簡單職工管理系統(tǒng)
- C++基礎(chǔ)學(xué)生管理系統(tǒng)
- C++實(shí)現(xiàn)景區(qū)信息管理系統(tǒng)
- C++實(shí)現(xiàn)學(xué)校運(yùn)動(dòng)會(huì)管理系統(tǒng)
- linux下C/C++學(xué)生信息管理系統(tǒng)
相關(guān)文章
C到C++的升級關(guān)系及區(qū)別實(shí)例探究
這篇文章主要為大家介紹了C到C++的升級關(guān)系及區(qū)別實(shí)例探究,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2024-01-01
C++數(shù)據(jù)結(jié)構(gòu)之單鏈表的實(shí)現(xiàn)
線性表的鏈?zhǔn)酱鎯?chǔ)又稱為單鏈表,它是指通過一組任意的存儲(chǔ)單元來存儲(chǔ)線性表中的數(shù)據(jù)元素。本文將用C++實(shí)現(xiàn)單鏈表,需要的可以參考一下2022-05-05
關(guān)于C++的重載運(yùn)算符和重載函數(shù)
一般來說,重載運(yùn)算符在實(shí)際的項(xiàng)目開發(fā)中會(huì)經(jīng)常的用到,但如果某些自定義類型通過簡短幾行代碼重載一些常用的運(yùn)算符(如:+-*/),就能讓編程工作帶來方便,需要的朋友可以參考下本文2023-05-05

