国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

【黑馬程序員】通訊錄管理系統(tǒng)----個(gè)人改良版(附帶程序打包)

tanglijun / 2457人閱讀

摘要:添加聯(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

相關(guān)文章

  • CGI、FastCGI、PHP-CGI、PHP-FPM個(gè)人理解

    摘要:與的理解與都是一種通訊協(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程...

    Bryan 評(píng)論0 收藏0
  • 動(dòng)態(tài)文件通訊及C語(yǔ)言中的文件的讀寫操作

    摘要:那么我們首先來改造儲(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)...

    h9911 評(píng)論0 收藏0
  • 2018前端值得關(guān)注的技術(shù)

    摘要:年前端有哪些領(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ì)大家...

    xiao7cn 評(píng)論0 收藏0
  • 2018前端值得關(guān)注的技術(shù)

    摘要:年前端有哪些領(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ì)大家...

    用戶84 評(píng)論0 收藏0
  • Python數(shù)據(jù)科學(xué)環(huán)境:Anaconda 了解一下

    摘要:我自己印象最深的是在上安裝加密和科學(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)檫@些問題而卡殼,一行代碼沒寫就已...

    shaonbean 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<