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 << "-----> 請(qǐng)選擇操作項(xiàng)并輸入操作項(xiàng)編號(hào):" << endl; }
實(shí)現(xiàn)退出功能
void exitSys() { cout << "歡迎下次使用,再見(jiàn)" << endl; system("pause"); }
新增聯(lián)系人
void addContact(ContactManager *manager) { cout << "請(qǐng)輸入聯(lián)系人姓名:"; cin >> manager->contactArr[manager->size].name; cout << "請(qǐng)輸入聯(lián)系人性別:"; cin >> manager->contactArr[manager->size].sex; cout << "請(qǐng)輸入聯(lián)系人年齡:"; cin >> manager->contactArr[manager->size].age; cout << "請(qǐng)輸入聯(lián)系人號(hào)碼:"; cin >> manager->contactArr[manager->size].phoneNumber; cout << "請(qǐng)輸入聯(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 << "請(qǐng)輸入要?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 << "請(qǐng)輸入要查找聯(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 << "請(qǐng)輸入要修改聯(lián)系人的姓名:"; string name; cin >> name; int pos = isExist(manager, name); if (pos == -1) { cout << "聯(lián)系人不存在?。? << endl; } else { cout << "請(qǐng)輸入聯(lián)系人性別:"; cin >> manager->contactArr[pos].sex; cout << "請(qǐng)輸入聯(lián)系人年齡:"; cin >> manager->contactArr[pos].age; cout << "請(qǐng)輸入聯(lián)系人號(hào)碼:"; cin >> manager->contactArr[pos].phoneNumber; cout << "請(qǐng)輸入聯(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)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- C++實(shí)現(xiàn)簡(jiǎn)單的圖書管理系統(tǒng)
- C++實(shí)現(xiàn)簡(jiǎn)單職工信息管理系統(tǒng)
- C++實(shí)現(xiàn)簡(jiǎn)單的學(xué)生管理系統(tǒng)
- C++學(xué)生信息管理系統(tǒng)
- C++實(shí)現(xiàn)停車場(chǎng)管理系統(tǒng)
- C++實(shí)現(xiàn)簡(jiǎn)單的信息管理系統(tǒng)
- C++實(shí)現(xiàn)簡(jiǎ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語(yǔ)言實(shí)現(xiàn)一個(gè)簡(jiǎn)單的掃雷游戲
掃雷是電腦上很經(jīng)典的游戲,特意去網(wǎng)上玩了一會(huì),幾次調(diào)試之后,發(fā)現(xiàn)這個(gè)比三子棋要復(fù)雜一些,尤其是空白展開算法上和堵截玩家有的一拼,與實(shí)際游戲差別較大,不能使用光標(biāo),下面來(lái)詳解每一步分析2021-10-10C到C++的升級(jí)關(guān)系及區(qū)別實(shí)例探究
這篇文章主要為大家介紹了C到C++的升級(jí)關(guān)系及區(qū)別實(shí)例探究,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2024-01-01C++數(shù)據(jù)結(jié)構(gòu)之單鏈表的實(shí)現(xiàn)
線性表的鏈?zhǔn)酱鎯?chǔ)又稱為單鏈表,它是指通過(guò)一組任意的存儲(chǔ)單元來(lái)存儲(chǔ)線性表中的數(shù)據(jù)元素。本文將用C++實(shí)現(xiàn)單鏈表,需要的可以參考一下2022-05-05關(guān)于C++的重載運(yùn)算符和重載函數(shù)
一般來(lái)說(shuō),重載運(yùn)算符在實(shí)際的項(xiàng)目開發(fā)中會(huì)經(jīng)常的用到,但如果某些自定義類型通過(guò)簡(jiǎn)短幾行代碼重載一些常用的運(yùn)算符(如:+-*/),就能讓編程工作帶來(lái)方便,需要的朋友可以參考下本文2023-05-05