快生活 - 生活常识大全

实现通讯录管理系统控制台版


  此项目适合c++初学者,针对c++基础知识,涉及到变量、结构体定义使用、数组定义使用、指针定义使用等。
  运行之后的结果如下:
  代码:
  #include<iostream></iostream>
  #include<string></string>
  using namespace std;
  #define MAX 1000//定义通讯录最大容量为1000
  //联系人结构体
  struct person
  {
  string name;
  int sex;
  int age;
  string address;
  };
  //通讯录结构体
  struct contact
  {
  struct person p[MAX];
  int size;
  };
  //操作菜单
  void showMenu() {
  cout &lt;&lt; "*********通讯录管理系统**********" &lt;&lt; endl;
  cout &lt;&lt; "********* 1.增加联系人 **********" &lt;&lt; endl;
  cout &lt;&lt; "********* 2.删除联系人 **********" &lt;&lt; endl;
  cout &lt;&lt; "********* 3.修改联系人 **********" &lt;&lt; endl;
  cout &lt;&lt; "********* 4.查询联系人 **********" &lt;&lt; endl;
  cout &lt;&lt; "********* 5.显示联系人 **********" &lt;&lt; endl;
  cout &lt;&lt; "********* 6.清空通讯录 **********" &lt;&lt; endl;
  cout &lt;&lt; "********* 0.退出通讯录 **********" &lt;&lt; endl;
  }
  //封装查询联系人是否存在
  int isExist(contact* con, string name) {
  for (int i = 0; i &lt; con-&gt;size; i++) {
  if (con-&gt;p[i].name == name) {
  return i;
  }
  }
  return -1;
  }
  //添加联系人函数
  void addPerson(contact *con){//传入数组的指针
  if (con-&gt;size == MAX) {
  cout &lt;&lt; "通讯录已满"&lt;&lt;endl;
  }
  else {
  cout &lt;&lt; "输入姓名";
  string name;
  cin &gt;&gt; name;
  cout &lt;&lt; "输入年龄";
  int age;
  cin &gt;&gt; age;
  cout &lt;&lt; "输入性别1:女 2:男";
  int sex;
  cin &gt;&gt; sex;
  cout &lt;&lt; "输入地址";
  string address;
  cin &gt;&gt; address;
  con-&gt;p[con-&gt;size].name = name;
  con-&gt;p[con-&gt;size].age = age;
  con-&gt;p[con-&gt;size].sex = sex;
  con-&gt;p[con-&gt;size].address = address;
  con-&gt;size++;
  }
  cout &lt;&lt; "添加成功"&lt;&lt;endl;
  system("pause");
  }
  //删除联系人函数
  void deletecon(contact* con) {
  string name;
  cout &lt;&lt; "输入要删除的姓名";
  cin &gt;&gt; name;
  int res = isExist(con,name);
  if (res != -1) {
  for (int i = res; i &lt; con-&gt;size; i++) {
  con-&gt;p[res] = con-&gt;p[res + 1];
  }
  cout &lt;&lt; "删除成功" &lt;&lt; endl;
  con-&gt;size--;
  }
  else {
  cout &lt;&lt; "查无此人"&lt;&lt;endl;
  }
  system("pause");
  }
  //修改联系人函数
  void updateContact(contact* con) {
  string name;
  cout &lt;&lt; "输入要修改的联系人姓名查询" &lt;&lt; endl;
  cin &gt;&gt; name;
  int res = isExist(con, name);
  if (res != -1) {
  cout &lt;&lt; "姓名:" &lt;&lt; con-&gt;p[res].name &lt;&lt; "年龄:" &lt;&lt; con-&gt;p[res].age &lt;&lt; "性别:" &lt;&lt; (con-&gt;p[res].sex == 1 ? "女" : "男") &lt;&lt; "地址:" &lt;&lt; con-&gt;p[res].address &lt;&lt; endl;
  cout &lt;&lt; "输入修改姓名";
  string nametemp;
  cin &gt;&gt; nametemp;
  con-&gt;p[res].name = nametemp;
  cout &lt;&lt; "输入修改年龄" &lt;&lt; endl;
  int age;
  cin &gt;&gt; age;
  con-&gt;p[res].age = age;
  cout &lt;&lt; "输入修改性别1:女2:男" &lt;&lt; endl;
  int sex;
  cin &gt;&gt; sex;
  con-&gt;p[res].sex = sex;
  cout &lt;&lt; "输入修改地址" &lt;&lt; endl;
  string address;
  cin &gt;&gt; address;
  con-&gt;p[res].address = address;
  cout &lt;&lt; "修改成功" &lt;&lt; endl;
  }
  else {
  cout &lt;&lt; "查无此人" &lt;&lt; endl;
  }
  system("pause");
  }
  //查询联系人函数
  void search(contact *con) {
  string name;
  cout &lt;&lt; "输入姓名查询"&lt;&lt;endl;
  cin &gt;&gt; name;
  int res = isExist(con, name);
  if (res != -1) {
  cout &lt;&lt; "姓名:" &lt;&lt; con-&gt;p[res].name &lt;&lt; "年龄:" &lt;&lt; con-&gt;p[res].age &lt;&lt; "性别:" &lt;&lt;(con-&gt;p[res].sex==1?"女":"男")&lt;&lt;endl;<!--(con--->
  }
  else {
  cout &lt;&lt; "查无此人" &lt;&lt; endl;
  }
  system("pause");
  }
  //清空联系人函数
  void clearContact(contact* con) {
  con-&gt;size = 0;
  cout &lt;&lt; "已清空通讯录"&lt;&lt;endl;
  system("pause");
  }
  //显示联系人函数
  void showContact(contact* con) {
  if (con-&gt;size == 0) {
  cout &lt;&lt; "暂无联系人"&lt;&lt;endl;
  }
  else {
  for (int i = 0; i &lt; con-&gt;size; i++) {
  cout &lt;&lt;"姓名:"&lt;&lt; con-&gt;p[i].name &lt;&lt;"年龄:"&lt;&lt; con-&gt;p[i].age &lt;&lt;"地址:"&lt;&lt; con-&gt;p[i].address &lt;&lt;"性别:"&lt;&lt;(con-&gt;p[i].sex==1?"女":"男") &lt;&lt; endl;<!--(con--->
  }
  }
  system("pause");
  }
  //退出系统函数
  int exitapp() {
  exit(0);
  }
  /**
  通讯录管理系统主程序
  */
  int main() {
  contact con;
  con.size = 0;
  while (true)
  {
  system("cls");//清屏
  showMenu();
  cout &lt;&lt; "输入你的选择";
  int select;
  cin &gt;&gt; select;
  switch (select) {
  case 1:
  addPerson(&amp;con);
  break;
  case 2:
  deletecon(&amp;con);
  break;
  case 3:
  updateContact(&amp;con);
  break;
  case 4:
  search(&amp;con);
  break;
  case 5:
  showContact(&amp;con);
  break;
  case 6:
  clearContact(&amp;con);
  break;
  case 0://退出
  exitapp();
  break;
  }
  }
  }
网站目录投稿:雪山