<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12
      XiShiYuYuan's Blogs  
      其實(shí),我只會打游戲。。。

      記錄一下利用C++來實(shí)現(xiàn)一個(gè)通訊錄管理系統(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)前使用的通訊錄

      顯示菜單功能

      首先創(chuàng)建一個(gè)cpp文件,寫好基本框架:

      #include <iostream>
      using namespace std;
      
      int main(){
      
          system("pause");
          return 0;
      }
      

      之后創(chuàng)建一個(gè)showMenu函數(shù)用于顯示系統(tǒng)的菜單

      實(shí)際上就是打印出提示信息,提示用戶輸入不同數(shù)字代表對應(yīng)的功能:

      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;
      }
      

      之后在main函數(shù)中調(diào)用這個(gè)函數(shù)即可:

      #include <iostream>
      using namespace std;
      
      int main(){
      	showMenu();
          system("pause");
          return 0;
      }
      

      退出系統(tǒng)功能

      定義個(gè)select變量接收用戶輸入,

      使用switch結(jié)構(gòu)分別對用戶不同的輸入數(shù)字進(jìn)行處理,

      同時(shí)在外層使用一個(gè)while循環(huán),讓程序循環(huán)執(zhí)行,使用戶能持續(xù)輸入,

      最終輸入0后,直接結(jié)束程序,達(dá)到退出系統(tǒng)的功能。

      int main(){
      
          int select = 0;	//用于接收用戶輸入的數(shù)字,對應(yīng)執(zhí)行不同的功能
          while (true)
          {
              showMenu();
              cin >> select;
              switch (select)
              {
                  case 1:
                      
                      break;
                  case 2:
                      
                      break;                
                  case 3:
                      
                      break;
                  case 4:
                      
                      break;
                  case 5:
                      
                      break;
                  case 6:
                      
                      break;
                  case 0:								
                      cout << "歡迎下次使用" << endl;
                      system("pause");
                      return 0;					//當(dāng)輸入0后,直接return退出程序
                      break;
                  default:
                      cout << "你輸入的是啥玩意???" << endl;
                      break;
              }
          }
          system("pause");
          return 0;
      }
      

      定義人員結(jié)構(gòu)體和通訊錄結(jié)構(gòu)體

      #define MAX 1000
      
      
      struct Person
      {
          string name;
          int sex;
          int age;
          string phone;
          string address;
      };
      
      struct Books
      {
          struct Person personArray[MAX];     //用于保存聯(lián)系人信息的數(shù)組,最大人數(shù)為1000
      
          int p_size;     //記錄通訊錄中的人員個(gè)數(shù)
          
      };
      

      添加聯(lián)系人

      在函數(shù)最后使用system("cls");實(shí)現(xiàn)窗口信息清屏操作

      void addPerson(struct Books * b){
          if (b->p_size == MAX)
          {
              cout << "已經(jīng)滿員啦!!" << endl;
              return;
          }
          else{
              //輸入姓名
              string name;
              cout << "請輸入姓名:" << endl;
              cin >> name;
              b->personArray[b->p_size].name = name;
      
              //輸入性別
              cout << "請輸入性別:" << endl;
              cout << "1 代表 男" << endl;
              cout << "2 代表 女" << endl;
              int sex = 0;
              while (true)
              {
                  cin >> sex;
                  if (sex == 1 || sex == 2)
                  {
                      b->personArray[b->p_size].sex = sex;
                      break;
                  }
                  cout << "輸入錯(cuò)誤!請檢查輸入" << endl;
              }
              
              //輸入年齡
              int age = 0;
              cout << "請輸入年齡:" << endl;
              cin >> age;
              b->personArray[b->p_size].age = age;
              
              //輸入電話
              string phone;
              cout << "請輸入電話:" << endl;
              cin >> phone;
              b->personArray[b->p_size].phone = phone;
      
              //輸入地址
              string address;
              cout << "請輸入地址:" << endl;
              cin >> address;
              b->personArray[b->p_size].address = address;
      
      
              b->p_size++;
              cout << "添加完成" << endl;
              system("pause");
              system("cls");		//進(jìn)行清屏操作,使用戶完成操作后,終端只顯示菜單信息
      
          }
          
      }
      

      查看聯(lián)系人

      打印出通訊錄內(nèi)的所有聯(lián)系人信息

      void showPerson(struct Books * b){
          if (b->p_size == 0)
          {
              cout << "當(dāng)前記錄為空!" << endl;		//檢查通訊錄是否為空
              system("pause");
              system("cls");
          }
          else
          {
              for (int i = 0; i < b->p_size; i++)		//打印出所有聯(lián)系人信息
              {
                  cout << "姓名:" << b->personArray[i].name << "\t";
                  cout << "性別:" << (b->personArray[i].sex == 1 ? "男" : "女") << "\t";
                  cout << "年齡:" << b->personArray[i].age << "\t";
                  cout << "電話:" << b->personArray[i].phone << "\t";
                  cout << "地址:" << b->personArray[i].address << endl;
              }
      
              system("pause");
              system("cls");
          }
      }
      

      判斷聯(lián)系人是否存在

      這里定義了一個(gè)根據(jù)姓名判斷聯(lián)系人是否存在的函數(shù),

      因?yàn)楹罄m(xù)的刪除、查找、修改功能都需要先進(jìn)行檢查聯(lián)系人是否存在,因此封裝了一個(gè)額外的函數(shù)

      int isExist(struct Books * b, string name){
          for (int i = 0; i < b->p_size; i++)
          {
              if (b->personArray[i].name == name)
              {
                  return i;      //如果通訊錄中有聯(lián)系人的姓名,返回聯(lián)系人信息的下標(biāo)索引編號             
              }
              
          }
          return -1;              //沒有則返回-1
      }
      

      刪除聯(lián)系人

      刪除聯(lián)系人:只需要將后面聯(lián)系人信息往前覆蓋,就可以刪除當(dāng)前的聯(lián)系人信息了

      void deletePerson(struct Books * b){
          cout << "請輸入需要刪除的聯(lián)系人姓名:" << endl;
          string name;
          cin >> name;
          if (isExist(b, name) != -1)
          {
              for (int i = isExist(b, name); i < b->p_size; i++)
              {   
                  //聯(lián)系人信息進(jìn)行一個(gè)前移的操作,即實(shí)現(xiàn)刪除當(dāng)前聯(lián)系人
                  b->personArray[i] = b->personArray[i+1];    
              }
              b->p_size--;
              cout << "刪除成功!" << endl;
      
          }
          else
          {
              cout << "查無此人,請重新輸入" << endl;
          }
          system("pause");
          system("cls");
      }
      

      查找聯(lián)系人

      根據(jù)姓名查找聯(lián)系人信息,并打印出來

      void findPerson(struct Books * b){
          cout << "請輸入需要查找的聯(lián)系人姓名:" << endl;
          string name;
          cin >> name;
          int ret = isExist(b, name);
          if (ret != -1)
          {
              cout << "姓名:" << b->personArray[ret].name << "\t";
              cout << "性別:" << (b->personArray[ret].sex == 1 ? "男" : "女") << "\t";
              cout << "年齡:" << b->personArray[ret].age << "\t";
              cout << "電話:" << b->personArray[ret].phone << "\t";
              cout << "地址:" << b->personArray[ret].address << endl;
          }
          else
          {
              cout << "查無此人,請重新輸入" << endl;
          }
          system("pause");
          system("cls");
      }
      

      修改聯(lián)系人

      根據(jù)姓名選擇所要修改的聯(lián)系人信息,把新輸入的信息覆蓋掉原來的信息

      void modifyPerson(struct Books * b){
          cout << "請輸入需要修改的聯(lián)系人姓名:" << endl;
          string name;
          cin >> name;
          int ret = isExist(b, name);
          if (ret != -1)
          {
              //修改姓名
              cout << "請輸入修改的姓名:" << endl;
              string name;
              cin >> name;
              b->personArray[ret].name = name;
      
              //修改性別
              cout << "請輸入修改的性別:" << endl;
              cout << "1 代表 男" << endl;
              cout << "2 代表 女" << endl;
              int sex;
              while(true){
                  cin >> sex;            
                  if (sex == 1 || sex == 2)
                  {
                      b->personArray[ret].sex = sex;
                      break;
                  }
                  else
                  {
                      cout << "輸入有誤,請重新輸入!" << endl;
                  }
              }
              
              //修改年齡
              int age = 0;
              cout << "請輸入修改的年齡:" << endl;
              cin >> age;
              b->personArray[ret].age = age;
              
              //修改電話
              string phone;
              cout << "請輸入修改的電話:" << endl;
              cin >> phone;
              b->personArray[ret].phone = phone;
      
              //修改地址
              string address;
              cout << "請輸入修改的地址:" << endl;
              cin >> address;
              b->personArray[ret].address = address;
      
              cout << "修改成功!!" << endl;
          }
          else
          {
              cout << "查無此人,請重新輸入" << endl;
          }
          system("pause");
          system("cls");
      }
      

      清空通訊錄

      void cleanPerson(struct Books * b){
          cout << "確定清空通訊錄所有信息?" << endl;
          cout << "1 代表 確定" << endl;
          cout << "2 代表 取消" << endl;
          int n;
          while(true){
              cin >> n;            
              if (n == 1)
              {
                  b->p_size = 0;  //直接把通訊錄的聯(lián)系人數(shù)量置為0,做邏輯清空即可
                  cout << "通訊錄已清空" << endl;
                  break;
              }
              else if (n == 2)
              {
                  cout << "已取消" << endl;
                  break;
              }
              else
              {
                  cout << "輸入有誤,請重新輸入!" << endl;
              }
          }
          system("pause");
          system("cls");
      }
      

      主函數(shù)程序

      在主函數(shù)中根據(jù)用戶輸入的數(shù)字調(diào)用不同的功能函數(shù)即可:

      int main(){
          Books books;        //創(chuàng)建通訊錄結(jié)構(gòu)體
          books.p_size = 0;   //先初始化人員個(gè)數(shù)為 0
      
          int select = 0;
          while (true)
          {
              showMenu();
              cin >> select;
              switch (select)
              {
                  case 1:
                      addPerson(&books);
                      break;
                  case 2:
                      showPerson(&books);
                      break;                
                  case 3:
                      deletePerson(&books);
                      break;
                  case 4:
                      findPerson(&books);
                      break;
                  case 5:
                      modifyPerson(&books);
                      break;
                  case 6:
                      cleanPerson(&books);
                      break;
                  case 0:
                      cout << "歡迎下次使用" << endl;
                      system("pause");
                      return 0;
                      break;
                  default:
                      cout << "你輸入的是啥玩意???" << endl;
                      system("pause");
                      system("cls");
                      break;
              }
          }
          system("pause");
          return 0;
      }
      
      posted on 2024-07-25 09:27  惜時(shí)與緣  閱讀(70)  評論(0)    收藏  舉報(bào)
       
      主站蜘蛛池模板: 久久一夜天堂av一区二区| 少妇又紧又色又爽又刺激视频| 人人妻一区二区三区| 女子spa高潮呻吟抽搐| 亚洲国产精品日韩在线| 国产成人精品无码片区在线观看 | 中文字幕亚洲国产精品| 亚洲一级特黄大片在线观看| 成人午夜在线观看刺激| 亚洲精品久久| 亚洲一区二区av偷偷| 青青草原国产AV福利网站| 久久精品国产99久久久古代| 久久热这里只有精品最新| 日韩精品国产另类专区| 亚洲国产码专区在线观看| 欧洲中文字幕国产精品| 三男一女吃奶添下面视频| 亚洲欧美中文字幕日韩一区二区| 亚洲熟女乱色一区二区三区| av在线播放国产一区| 日韩高清砖码一二区在线| 久久久久国产精品人妻| 四虎永久免费精品视频| 虎白女粉嫩尤物福利视频| 国产mv在线天堂mv免费观看| 国产成人综合在线观看不卡| 亚洲国产精品无码久久久| 国产第一区二区三区精品| 亚洲精品午夜国产VA久久成人 | 久久人人爽人人爽人人av| 中文字幕久久人妻熟人妻| 亚洲人成网站在线观看播放不卡| 日本一区二区三区后入式| 亚洲精品日韩中文字幕| 亚洲一区二区精品动漫| 国产精品国三级国产av| 国产稚嫩高中生呻吟激情在线视频| 蜜臀av一区二区三区在线| 中文日产幕无线码一区中文| 永顺县|