<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
本文範例為大家分享了C++實現通訊錄功能的具體程式碼,供大家參考,具體內容如下
1.顯示選單欄
void menu() { 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; }
2.退出
int main() { int select = 0; cin >> select; switch (select) { case 0://退出通訊錄 cout << "歡迎下次使用" << endl; system("pause"); return 0; break; } system("pause"); return 0; }
3.建立結構體
3.1建立聯絡人結構體
3.2建立通訊錄結構體
//定義聯絡人結構體 //姓名、電話號碼、郵箱、地址 struct person { string name; string number; string Email; string address; }; // 定義通訊錄結構體 struct contacts { int people_num; struct person personarr[MAX];//子結構體:聯絡人資訊 };
4.新增聯絡人
void addperson(struct contacts* p) { if (p->people_num == MAX ) { cout << "通訊錄已滿" << endl; } else {//新增聯絡人資訊 string name, number, Email, address; cout << "請輸入姓名:" << endl; cin >> name; cout << "請輸入電話:" << endl; cin >> number; cout << "請輸入郵箱:" << endl; cin >> Email; cout << "請輸入地址:" << endl; cin >> address; p->personarr[p->people_num].name = name; p->personarr[p->people_num].number = number; p->personarr[p->people_num].Email = Email; p->personarr[p->people_num].address = address; p->people_num++; cout << "新增成功!" << endl; } }
5.刪除聯絡人
判斷聯絡人是否存在
int existperson(struct contacts* p,string name) { for (int i = 0; i < p->people_num; i++) { if ( p->personarr[i].name == name ) { return i; } } return -1; }
若存在,獲取聯絡人在通訊錄位置,將position後面的都往前移動一個位置,覆蓋之前的值
//刪除聯絡人 void delperson(struct contacts* p,int position) { while (position < (p->people_num)) { p->personarr[position] = p->personarr[position + 1]; position++; } p->people_num--; cout << "刪除成功!" << endl; }
6.修改
檢查要修改聯絡人是否存在,並獲取當前位置
void modifyperson(struct contacts* p, int position) { string number, Email, address; cout << "請輸入修改電話:" << endl; cin >> number; cout << "請輸入修改郵箱:" << endl; cin >> Email; cout << "請輸入修改地址:" << endl; cin >> address; p->personarr[position].number = number; p->personarr[position].Email = Email; p->personarr[position].address = address; cout << "修改成功!" << endl; }
7.查詢
void searchperson(struct contacts* p, int position) { cout << "姓名:" << p->personarr[position].name << " " << "電話:" << p->personarr[position].number << " " << "郵箱:" << p->personarr[position].Email << " " << "地址:" << p->personarr[position].address << " "; }
8.顯示通訊錄
void showcontact(struct contacts* p) { for (int i = 0; i < (p->people_num); i++) { cout <<"姓名:" << p->personarr[i].name << " " <<"電話:" << p->personarr[i].number << " " <<"郵箱:" << p->personarr[i].Email << " " <<"地址:" << p->personarr[i].address << " "<< endl; } }
9.清空通訊錄
void cleancontact(struct contacts* p) { p->people_num = 0; cout << "已清空!" << endl; }
#include<iostream> using namespace std; #define MAX 200 //1.選單欄顯示 void menu() { 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; } //2.定義結構體 //2.1定義聯絡人結構體 //姓名、電話號碼、郵箱、地址 struct person { string name; string number; string Email; string address; }; //2.2 定義通訊錄結構體 struct contacts { int people_num; struct person personarr[MAX];//子結構體:聯絡人資訊 }; //3.新增聯絡人 void addperson(struct contacts* p) { if (p->people_num == MAX ) { cout << "通訊錄已滿" << endl; } else {//新增聯絡人資訊 string name, number, Email, address; cout << "請輸入姓名:" << endl; cin >> name; cout << "請輸入電話:" << endl; cin >> number; cout << "請輸入郵箱:" << endl; cin >> Email; cout << "請輸入地址:" << endl; cin >> address; p->personarr[p->people_num].name = name; p->personarr[p->people_num].number = number; p->personarr[p->people_num].Email = Email; p->personarr[p->people_num].address = address; p->people_num++; cout << "新增成功!" << endl; } } //4.刪除聯絡人 //4.1檢測聯絡人是否存在 int existperson(struct contacts* p,string name) { for (int i = 0; i < p->people_num; i++) { if ( p->personarr[i].name == name ) { return i; } } return -1; } //刪除聯絡人 void delperson(struct contacts* p,int position) { while (position < (p->people_num)) { p->personarr[position] = p->personarr[position + 1]; position++; } p->people_num--; cout << "刪除成功!" << endl; } //5.修改聯絡人 void modifyperson(struct contacts* p, int position) { string number, Email, address; cout << "請輸入修改電話:" << endl; cin >> number; cout << "請輸入修改郵箱:" << endl; cin >> Email; cout << "請輸入修改地址:" << endl; cin >> address; p->personarr[position].number = number; p->personarr[position].Email = Email; p->personarr[position].address = address; cout << "修改成功!" << endl; } //6.查詢聯絡人 void searchperson(struct contacts* p, int position) { cout << "姓名:" << p->personarr[position].name << " " << "電話:" << p->personarr[position].number << " " << "郵箱:" << p->personarr[position].Email << " " << "地址:" << p->personarr[position].address << " "; } //7.顯示通訊錄 void showcontact(struct contacts* p) { for (int i = 0; i < (p->people_num); i++) { cout <<"姓名:" << p->personarr[i].name << " " <<"電話:" << p->personarr[i].number << " " <<"郵箱:" << p->personarr[i].Email << " " <<"地址:" << p->personarr[i].address << " "<< endl; } } //8.清空聯絡人 void cleancontact(struct contacts* p) { p->people_num = 0; cout << "已清空!" << endl; } int main() { //建立通訊錄結構體變數 struct contacts c; //初始化通訊錄當前聯絡人個數 c.people_num = 0; int select = 0; string name; while (1) { menu(); cin >> select; switch (select) { case 1:// 新增聯絡人 addperson(&c); system("pause"); break; case 2:// 刪除聯絡人 cout << "請輸入刪除聯絡人的姓名:"; cin >> name; if (existperson(&c,name)==-1) { cout << "該聯絡人不存在!"; } else{ delperson(&c, existperson(&c, name)); } system("pause"); break; case 3:// 修改聯絡人 cout << "請輸入要修改聯絡人的姓名:"; cin >> name; if (existperson(&c,name) == -1) { cout << "該聯絡人不存在!"; } else { modifyperson(&c, existperson(&c, name)); } system("pause"); break; case 4:// 查詢聯絡人 cout << "請輸入查詢聯絡人的姓名:"; cin >> name; if (existperson(&c,name) == -1) { cout << "該聯絡人不存在!"; } else { searchperson(&c, existperson(&c, name)); } system("pause"); break; case 5:// 顯示通訊錄 showcontact(&c); system("pause"); break; case 6:// 清空聯絡人 cleancontact(&c); system("pause"); break; case 0://退出通訊錄 cout << "歡迎下次使用" << endl; system("pause");//暫停批檔案的處理 return 0; break; } system("cls");//清屏 } system("pause"); return 0; }
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支援it145.com。
相關文章
<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
综合看Anker超能充系列的性价比很高,并且与不仅和iPhone12/苹果<em>Mac</em>Book很配,而且适合多设备充电需求的日常使用或差旅场景,不管是安卓还是Switch同样也能用得上它,希望这次分享能给准备购入充电器的小伙伴们有所
2021-06-01 09:31:42
除了L4WUDU与吴亦凡已经多次共事,成为了明面上的厂牌成员,吴亦凡还曾带领20XXCLUB全队参加2020年的一场音乐节,这也是20XXCLUB首次全员合照,王嗣尧Turbo、陈彦希Regi、<em>Mac</em> Ova Seas、林渝植等人全部出场。然而让
2021-06-01 09:31:34
目前应用IPFS的机构:1 谷歌<em>浏览器</em>支持IPFS分布式协议 2 万维网 (历史档案博物馆)数据库 3 火狐<em>浏览器</em>支持 IPFS分布式协议 4 EOS 等数字货币数据存储 5 美国国会图书馆,历史资料永久保存在 IPFS 6 加
2021-06-01 09:31:24
开拓者的车机是兼容苹果和<em>安卓</em>,虽然我不怎么用,但确实兼顾了我家人的很多需求:副驾的门板还配有解锁开关,有的时候老婆开车,下车的时候偶尔会忘记解锁,我在副驾驶可以自己开门:第二排设计很好,不仅配置了一个很大的
2021-06-01 09:30:48
不仅是<em>安卓</em>手机,苹果手机的降价力度也是前所未有了,iPhone12也“跳水价”了,发布价是6799元,如今已经跌至5308元,降价幅度超过1400元,最新定价确认了。iPhone12是苹果首款5G手机,同时也是全球首款5nm芯片的智能机,它
2021-06-01 09:30:45