C++實現(xiàn)管理系統(tǒng)的示例代碼
概述
系統(tǒng)中需要實現(xiàn)的功能如下:
- 添加聯(lián)系人:向通訊錄中添加新人,信息包括(姓名、性別、年齡、聯(lián)系電話、家庭住址)最多記錄1000人
- 顯示聯(lián)系人:顯示通訊錄中所有的聯(lián)系人信息
- 刪除聯(lián)系人:按照姓名進行刪除指定聯(lián)系人
- 查找聯(lián)系人:按照姓名查看指定聯(lián)系人信息
- 修改聯(lián)系人:按照姓名重新修改指定聯(lián)系人
- 清空聯(lián)系人:清空通訊錄中所有信息
- 退出通訊錄:退出當前使用的通訊錄
步驟
新建結(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]; //當前聯(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);
實現(xiàn)管理者
實現(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 << "-----> 請選擇操作項并輸入操作項編號:" << endl; }
實現(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)系人號碼:"; 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 << "請輸入要刪除聯(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)系人號碼:"; 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"); }
運行截圖
那么整體的項目到這里就算完成了。
到此這篇關(guān)于C++實現(xiàn)管理系統(tǒng)的示例代碼的文章就介紹到這了,更多相關(guān)C++ 管理系統(tǒng)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
C++數(shù)據(jù)結(jié)構(gòu)之單鏈表的實現(xiàn)
線性表的鏈式存儲又稱為單鏈表,它是指通過一組任意的存儲單元來存儲線性表中的數(shù)據(jù)元素。本文將用C++實現(xiàn)單鏈表,需要的可以參考一下2022-05-05