摘要:添加聯(lián)系人顯示聯(lián)系人刪除聯(lián)系人查找聯(lián)系人修改聯(lián)系人清空聯(lián)系人退出通訊錄您輸入的聯(lián)系人信息已達(dá)最大值請(qǐng)輸入該聯(lián)系人姓名請(qǐng)輸入該聯(lián)系人性別男女請(qǐng)輸入正確的性別。
#include
using namespace std;
#define Max 1000
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;
}
struct person
{
?? ?string p_name;
?? ?int p_gender = 0;
?? ?int p_age = 0;
?? ?string p_phone;
?? ?string p_addr;
};
struct addressbook
{
?? ?struct person personArray[Max];
?? ?int p_size;
};
void addperson(struct addressbook* ab)
{
?? ?if (ab->p_size == Max)
?? ?{
?? ??? ?cout << "您輸入的聯(lián)系人信息已達(dá)最大值" << endl;
?? ??? ?return;
?? ?}
?? ?else
?? ?{
?? ??? ?string name;
?? ??? ?cout << "請(qǐng)輸入該聯(lián)系人姓名" << endl;
?? ??? ?cin >> name;
?? ??? ?ab->personArray[ab->p_size].p_name = name;
?? ??? ?int gender = 0;
?? ??? ?cout << "請(qǐng)輸入該聯(lián)系人性別" << endl;
?? ??? ?cout << "1、男" << endl;
?? ??? ?cout << "2、女" << endl;
?? ??? ?cin >> gender;
?? ??? ?while (true)
?? ??? ?{
?? ??? ??? ?if (gender == 1 || gender == 2)
?? ??? ??? ?{
?? ??? ??? ??? ?ab->personArray[ab->p_size].p_gender = gender;
?? ??? ??? ??? ?break;
?? ??? ??? ?}
?? ??? ??? ?cout << "請(qǐng)輸入正確的性別。" << endl;
?? ??? ??? ?cin >> gender;
?? ??? ?}
?? ??? ?int age = 0;
?? ??? ?cout << "請(qǐng)輸入該聯(lián)系人年齡" << endl;
?? ??? ?cin >> age;
?? ??? ?ab->personArray[ab->p_size].p_age = age;
?? ??? ?string phone;
?? ??? ?cout << "請(qǐng)輸入該聯(lián)系人手機(jī)號(hào)碼" << endl;
?? ??? ?cin >> phone;
?? ??? ?ab->personArray[ab->p_size].p_phone = phone;
?? ??? ?string addr;
?? ??? ?cout << "請(qǐng)輸入該聯(lián)系人地址" << endl;
?? ??? ?cin >> addr;
?? ??? ?ab->personArray[ab->p_size].p_addr = addr;
?? ??? ?ab->p_size++;
?? ??? ?cout << "添加成功!" << endl;
?? ??? ?system("pause");
?? ??? ?system("cls");
?? ?}
}
void showperson(struct addressbook* ab)
{
?? ?if (ab->p_size == 0)
?? ?{
?? ??? ?cout << "當(dāng)前記錄為空" << endl;
?? ?}
?? ?else
?? ?{
?? ??? ?for (int i = 0; i < ab->p_size; i++)
?? ??? ?{
?? ??? ??? ?cout << "姓名:" << ab->personArray[i].p_name << "/t"
?? ??? ??? ??? ? << "性別:" << (ab->personArray[i].p_gender == 1 ? "男" : "女") << "/t"
?? ??? ??? ??? ? << "年齡:" << ab->personArray[i].p_age << "/t"
?? ??? ??? ??? ? << "電話:" << ab->personArray[i].p_phone << "/t"
?? ??? ??? ??? ? << "地址:" << ab->personArray[i].p_addr
?? ??? ??? ??? ? << endl;
?? ??? ?}
?? ?}
?? ?system("pause");
?? ?system("cls");
}
int exist(addressbook* ab, string name)
{
?? ?for (int i = 0; i < ab->p_size; i++)
?? ?{
?? ??? ?if (ab->personArray[i].p_name == name)
?? ??? ?{
?? ??? ??? ?return i;
?? ??? ?}
?? ?}
?? ?return -1;
}
void deleteperson(addressbook* ab)
{
?? ?cout << "請(qǐng)輸入您要?jiǎng)h除的聯(lián)系人" << endl;
?? ?string name;
?? ?cin >> name;
?? ?int ret = exist(ab, name);
?? ?if (ret != -1)
?? ?{
?? ??? ?for (int i = ret; i < ab->p_size; i++)
?? ??? ?{
?? ??? ??? ?ab->personArray[i] = ab->personArray[i + 1];//數(shù)據(jù)前移
?? ??? ?}
?? ??? ?ab->p_size--;
?? ??? ?cout << "刪除成功" << endl;
?? ?}
?? ?else
?? ?{
?? ??? ?cout << "查無此人" << endl;
?? ?}
?? ?system("pause");
?? ?system("cls");
}
void findperson(addressbook* ab)
{
?? ?string name;
?? ?cout << "請(qǐng)輸入您要查找人的姓名" << endl;
?? ?cin >> name;
?? ?int ret = exist(ab, name);
?? ?if (ret == -1)
?? ?{
?? ??? ?cout << "查無此人" << endl;
?? ?}
?? ?else
?? ?{
?? ??? ?cout << "姓名:" << ab->personArray[ret].p_name << "/t"
?? ??? ??? ? << "性別:" << (ab->personArray[ret].p_gender == 1 ? "男" : "女") << "/t"
?? ??? ??? ? << "年齡:" << ab->personArray[ret].p_age << "/t"
?? ??? ? ? ?? ? << "電話:" << ab->personArray[ret].p_phone << "/t"
?? ??? ? ?? ? << "地址:" << ab->personArray[ret].p_addr
?? ??? ??? ? << endl;
?? ?}
?? ?system("pause");
?? ?system("cls");
}
void modifyperson(addressbook* ab)
{
?? ?cout << "請(qǐng)輸入您要查找人的姓名" << endl;
?? ?string name;
?? ?cin >> name;
?? ?int ret = exist(ab, name);
?? ?if (ret == -1)
?? ?{
?? ??? ?cout << "查無此人" << endl;
?? ??? ?system("pause");
?? ??? ?system("cls");
?? ?}
?? ?else
?? ?{
?? ??? ?cout << "請(qǐng)輸入您要修改的聯(lián)系人姓名" << endl;
?? ??? ?string new_name;
?? ??? ?cin >> new_name;
?? ??? ?ab->personArray[ret].p_name = new_name;
?? ??? ?cout << "請(qǐng)輸入您要修改的聯(lián)系人性別" << endl;
?? ??? ?cout << "1、男" << endl;
?? ??? ?cout << "2、女" << endl;
?? ??? ?int new_gender;
?? ??? ?cin >> new_gender;
?? ??? ?while (true)
?? ??? ?{
?? ??? ??? ?cin >> new_gender;
?? ??? ??? ?if (new_gender == 1 || new_gender == 2)
?? ??? ??? ?{
?? ??? ??? ??? ?ab->personArray[ret].p_gender = new_gender;
?? ??? ??? ??? ?break;
?? ??? ??? ?}
?? ??? ??? ?else?
?? ??? ??? ?{
?? ??? ??? ??? ?cout << "輸入有誤,請(qǐng)重新輸入" << endl;
?? ??? ??? ?}
?? ??? ?}
?? ?
?? ??? ?cout << "請(qǐng)輸入您要修改的聯(lián)系人年齡" << endl;
?? ??? ?int new_age;
?? ??? ?cin >> new_age;
?? ??? ?ab->personArray[ret].p_age = new_age;
?? ??? ?cout << "請(qǐng)輸入您要修改的聯(lián)系人手機(jī)號(hào)碼" << endl;
?? ??? ?string new_phone;
?? ??? ?cin >> new_phone;
?? ??? ?ab->personArray[ret].p_phone = new_phone;
?? ??? ?cout << "請(qǐng)輸入您要修改的聯(lián)系人地址" << endl;
?? ??? ?string new_addr;
?? ??? ?cin >> new_addr;
?? ??? ?ab->personArray[ret].p_addr = new_addr;
?? ??? ?cout << "修改成功" << endl;
?? ??? ?system("pause");
?? ??? ?system("cls");
?? ?}
}
void cleanpeople(addressbook* ab)
{
?? ?cout << "您是否要進(jìn)行清空操作?" << endl;
?? ?cout << "如果是(清空操作),請(qǐng)按1;不是,輸入任意其他數(shù)字返回" << endl;
?? ?int flag = 0;
?? ?cin >> flag;
?? ?if (flag == 1)
?? ?{
?? ??? ?cout << "如果是(清空操作),請(qǐng)按2;不是,輸入任意其他數(shù)字返回" << endl;
?? ??? ?cin >> flag;
?? ??? ?if (flag == 2)
?? ??? ?{
?? ??? ??? ?cout << "如果是(清空操作),請(qǐng)按3;不是,輸入任意其他數(shù)字返回" << endl;
?? ??? ??? ?cin >> flag;
?? ??? ??? ?if (flag == 3)
?? ??? ??? ?{
?? ??? ??? ??? ?ab->p_size = 0;
?? ??? ??? ??? ?cout << "清空完成" << endl;
?? ??? ??? ?}
?? ??? ?}
?? ?}
?? ?system("pause");
?? ?system("cls");
}
int main()
{
?? ?addressbook ab;
?? ?ab.p_size = 0;
?? ?
?? ?int select = 0;
?? ?while (true)
?? ?{
?? ??? ?showMenu();
?? ??? ?cin >> select;
?? ??? ?switch (select)
?? ??? ?{
?? ??? ?case 1://添加
?? ??? ??? ?addperson(&ab);
?? ??? ??? ?break;
?? ??? ?case 2://顯示
?? ??? ??? ?showperson(&ab);
?? ??? ??? ?break;
?? ??? ?case 3://刪除
?? ??? ?/*{
?? ??? ??? ?cout << "請(qǐng)輸入刪除聯(lián)系人的姓名" << endl;
?? ??? ??? ?string name;
?? ??? ??? ?cin >> name;
?? ??? ??? ?if (exist(&ab, name) == -1)
?? ??? ??? ?{
?? ??? ??? ??? ?cout << "查無此人" << endl;
?? ??? ??? ?}
?? ??? ??? ?else
?? ??? ??? ?{
?? ??? ??? ??? ?cout << "找到此人" << endl;
?? ??? ??? ?}
?? ??? ?}*/
?? ??? ??? ?deleteperson(&ab);
?? ??? ??? ?break;
?? ??? ?case 4://查找
?? ??? ??? ?findperson(&ab);
?? ??? ??? ?break;
?? ??? ?case 5://修改
?? ??? ??? ?modifyperson(&ab);
?? ??? ??? ?break;
?? ??? ?case 6://清空
?? ??? ??? ?cleanpeople(&ab);
?? ??? ??? ?break;
?? ??? ?case 0://退出
?? ??? ??? ?cout << "歡迎下次使用" << endl;
?? ??? ??? ?system("pause");
?? ??? ??? ?return 0;
?? ??? ??? ?break;
?? ??? ?default:
?? ??? ??? ?cout << "請(qǐng)輸入合適的數(shù)" << endl;
?? ??? ?}
?? ?}
?? ?system("pause");
?? ?return 0;
}
程序打包方法:
1,擴(kuò)展--管理擴(kuò)展--找到并下載 installer projects
2,新建項(xiàng)目與原項(xiàng)目在一起
?如圖所示
?3,添加項(xiàng)目輸出
?
?
?創(chuàng)建快捷方式,并拖入user‘s desktop
在屬性中重命名以及添加圖標(biāo)文件,圖標(biāo)文件可從其他地方拖進(jìn)相應(yīng)文件夾中
?
?
?
在User"s Programs Menu 添加文件夾,在右邊空白處右擊,按照先前方式創(chuàng)建新的快捷方式,選擇Applicaiton Folder,主輸出,確定。
?
?
?
4,最后設(shè)置一些安裝包屬性以及環(huán)境需求,選擇生成
?
?5,安裝與運(yùn)行
?
?
?安裝完畢,運(yùn)行成功。
?
?
?
?
?
?
?
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/121398.html
摘要:與的理解與都是一種通訊協(xié)議,是與其他程序此程序通常叫做程序,如腳本解析器之間通訊的橋梁是的改良進(jìn)化版,相比更安全性能更好所以現(xiàn)在都是使用協(xié)議進(jìn)行通訊兼容與其實(shí)就是腳本解析器,他是協(xié)議的實(shí)現(xiàn)就是協(xié)議的實(shí)現(xiàn)和都是程序與的執(zhí)行流程 CGI與FastCGI的理解 CGI與FastCGI都是一種通訊協(xié)議,是web Sever(Apache/nginx/iis)與其他程序(此程序通常叫做CGI程...
摘要:那么我們首先來改造儲(chǔ)存空間也就是通訊錄結(jié)構(gòu)體靜態(tài)版本人信息存放在數(shù)組中統(tǒng)計(jì)存放的人數(shù)動(dòng)態(tài)版本統(tǒng)計(jì)存放的人數(shù)有效容量我們將原本的結(jié)構(gòu)體數(shù)組改為一個(gè)結(jié)構(gòu)體指針,以此來維護(hù)用以儲(chǔ)存?zhèn)€人信息的空間。 上一期我們編寫了一個(gè)C語(yǔ)言版本的簡(jiǎn)易通訊錄,但是我們的之前的通訊錄是沒有記憶功能的,也就是說,一旦關(guān)...
摘要:年前端有哪些領(lǐng)域,技術(shù)值得關(guān)注,哪些技術(shù)會(huì)興起,哪些技術(shù)會(huì)沒落。自從谷歌提出后,就持續(xù)的獲得了業(yè)界的關(guān)注,熱度可見一斑。就在今年,谷歌也宣布將獲得與安卓原生應(yīng)用同等的待遇與權(quán)限。但是無論都值得關(guān)注。 1.前言 2017悄然過去,2018已經(jīng)來到。人在進(jìn)步,技術(shù)在發(fā)展。2018年前端有哪些領(lǐng)域,技術(shù)值得關(guān)注,哪些技術(shù)會(huì)興起,哪些技術(shù)會(huì)沒落。下面就我個(gè)人的判斷進(jìn)行一個(gè)預(yù)測(cè)判斷,希望能對(duì)大家...
摘要:年前端有哪些領(lǐng)域,技術(shù)值得關(guān)注,哪些技術(shù)會(huì)興起,哪些技術(shù)會(huì)沒落。自從谷歌提出后,就持續(xù)的獲得了業(yè)界的關(guān)注,熱度可見一斑。就在今年,谷歌也宣布將獲得與安卓原生應(yīng)用同等的待遇與權(quán)限。但是無論都值得關(guān)注。 1.前言 2017悄然過去,2018已經(jīng)來到。人在進(jìn)步,技術(shù)在發(fā)展。2018年前端有哪些領(lǐng)域,技術(shù)值得關(guān)注,哪些技術(shù)會(huì)興起,哪些技術(shù)會(huì)沒落。下面就我個(gè)人的判斷進(jìn)行一個(gè)預(yù)測(cè)判斷,希望能對(duì)大家...
摘要:我自己印象最深的是在上安裝加密和科學(xué)計(jì)算模塊,折騰了很久。這個(gè)精裝是面向數(shù)據(jù)科學(xué)的,同時(shí)也保留了你自己進(jìn)一步改裝的空間。數(shù)據(jù)科學(xué)庫(kù)包環(huán)境管理工具,這幾樣就是的主要功能。 幾乎所有的 Python 學(xué)習(xí)者都遇到過 安裝 方面的問題。這些安裝問題包括 Python 自身環(huán)境的安裝、第三方模塊的安裝、不同版本的切換,以及不同平臺(tái)、版本間的兼容問題 等。當(dāng)你因?yàn)檫@些問題而卡殼,一行代碼沒寫就已...
閱讀 2458·2021-09-28 09:36
閱讀 3597·2021-09-22 15:41
閱讀 4382·2021-09-04 16:45
閱讀 1954·2019-08-30 15:55
閱讀 2846·2019-08-30 13:49
閱讀 824·2019-08-29 16:34
閱讀 2369·2019-08-29 12:57
閱讀 1679·2019-08-26 18:42