c/c++语言开发共享C++实现智能柜管理系统

本文实例为大家分享了c++实现智能柜管理系统的具体代码,供大家参考,具体内容如下#define _crt_secure_no_deprecate#include <iostream>#in

c/c++开发分享C++实现智能柜管理系统实例为大家分享了c++实现智能柜管理系统的具体代码,供大家参考,具体内容如下

C++实现智能柜管理系统

C++实现智能柜管理系统

C++实现智能柜管理系统

C++实现智能柜管理系统

C++实现智能柜管理系统

#define _crt_secure_no_deprecate  #include <iostream>  #include <stdlib.h>  #include <fstream>  #include <cstdlib>  #include <ctime>  #include <string>  using namespace std;    struct node  {      int pcode;      int num;      string pnum;      time_t tnum;      node *next;      node *prev;  };    //取件成功+剩余提示  void rreaction(int l) {      cout << "______________________________________________________________";      cout << endl;      cout << endl;      cout << "                        取件成功!!!";      cout << endl;      cout << "______________________________________________________________";      cout << endl;      system("pause");      system("cls");      if (l != 0) {          cout << "______________________________________________________________";          cout << endl;          cout << endl;          cout << "              当前手机号还有"<< l <<"件未取!!!";          cout << endl;          cout << "______________________________________________________________";          cout << endl;          system("pause");          system("cls");      }  }    //取件码错误  void freaction() {      cout << "______________________________________________________________";      cout << endl;      cout << endl;      cout << "                        取件码错误!!!";      cout << endl;      cout << "______________________________________________________________";      cout << endl;      system("pause");      system("cls");  }    //取件系统  int pcode() {      int j = 0;      int l = 0;      int list1[25];      int list2[25];      string list3[25];      int list4[25];      ifstream file1("num.txt");      ifstream file2("tnum.txt");      ifstream file3("pnum.txt");      ifstream file4("pcode.txt");      while (file1.peek() != eof) {          file1 >> list1[j];          file2 >> list2[j];          file3 >> list3[j];          file4 >> list4[j++];      }            file1.close();      file2.close();      file3.close();      file4.close();        int pcode;      cout << "______________________________________________________________";      cout << endl;      cout << endl;      cout << "                        取件码:"; cin >> pcode;      cout << endl;      cout << "______________________________________________________________";            for (int i = 0; i < j-1; i++) {          if (list4[i] == pcode) {               ofstream file1;              file1.open("num.txt");              ofstream file2;              file2.open("tnum.txt");              ofstream file3;              file3.open("pnum.txt");              ofstream file4;              file4.open("pcode.txt");              for (int k = 0; k < j-1; k++) {                  if (k == i)continue;                  else {                      if (list3[i] == list3[k])l = l + 1;                      file1 << list1[k] << endl;                      file2 << list2[k] << endl;                      file3 << list3[k] << endl;                      file4 << list4[k] << endl;                  }              }                            file1.close();              file2.close();              file3.close();              file4.close();                system("cls");               cout << "______________________________________________________________";              cout << endl;              cout << endl;              cout << "                        柜号"<<list1[i]<<"已打开";              cout << endl;              cout << "______________________________________________________________";              cout << endl;              system("pause");              system("cls");              return l;           }      }      system("cls");       return -1;  }    //快递员取件  node* dnode(node* head,int n) {      node *p0;      p0 = head;      while (p0->prev != null) {          if (p0->num == n) {              if (p0 == head) {                  head = head->prev;                  delete p0;                  return head;              }              else {                  p0->prev->next = p0->next;                  p0->next->prev = p0->prev;                  delete p0;                  return head;              }          }          p0 = p0->prev;          if (p0->prev == null)          {                  cout << "______________________________________________________________";              cout << endl;              cout << endl;              cout << "                       柜号" << n << "为空!!!";              cout << endl;              cout << "______________________________________________________________";              cout << endl;              system("pause");              system("cls");              return head;          }      }      return head;  }    //柜子界面  int ginformation(node* head) {      node *p0;      p0 = head;      int j = 1;      int n;      int m[26] = { 0 };      while (p0->prev != null) {          m[p0->num] = 1;          p0 = p0->prev;      }      cout << "_________________________________________________________________________________________________________________________" << endl;      cout << "|           1           |           2           |           3           |           4           |           5           |" << endl;      cout << "|         "; if (m[j] == 0) { j++; cout << " ---  "; }      else { j++; cout << "已存放"; } cout << "        |         "; if (m[j] == 0) { j++; cout << " ---  "; }      else { j++; cout << "已存放"; } cout << "        |         "; if (m[j] == 0) { j++; cout << " ---  "; }      else { j++; cout << "已存放"; } cout << "        |         "; if (m[j] == 0) { j++; cout << " ---  "; }      else { j++; cout << "已存放"; } cout << "        |         "; if (m[j] == 0) { j++; cout << " ---  "; }      else { j++; cout << "已存放"; } cout << "        |" << endl;      cout << "|_______________________|_______________________|_______________________|_______________________|_______________________|" << endl;      cout << "|           6           |           7           |           8           |           9           |           10          |" << endl;      cout << "|         "; if (m[j] == 0) { j++; cout << " ---  "; }      else { j++; cout << "已存放"; } cout << "        |         "; if (m[j] == 0) { j++; cout << " ---  "; }      else { j++; cout << "已存放"; } cout << "        |         "; if (m[j] == 0) { j++; cout << " ---  "; }      else { j++; cout << "已存放"; } cout << "        |         "; if (m[j] == 0) { j++; cout << " ---  "; }      else { j++; cout << "已存放"; } cout << "        |         "; if (m[j] == 0) { j++; cout << " ---  "; }      else { j++; cout << "已存放"; } cout << "        |" << endl;      cout << "|_______________________|_______________________|_______________________|_______________________|_______________________|" << endl;      cout << "|           11          |           12          |           13          |           14          |           15          |" << endl;      cout << "|                       |                       |                       |                       |                       |" << endl;      cout << "|         "; if (m[j] == 0) { j++; cout << " ---  "; }      else { j++; cout << "已存放"; } cout << "        |         "; if (m[j] == 0) { j++; cout << " ---  "; }      else { j++; cout << "已存放"; } cout << "        |         "; if (m[j] == 0) { j++; cout << " ---  "; }      else { j++; cout << "已存放"; } cout << "        |         "; if (m[j] == 0) { j++; cout << " ---  "; }      else { j++; cout << "已存放"; } cout << "        |         "; if (m[j] == 0) { j++; cout << " ---  "; }      else { j++; cout << "已存放"; } cout << "        |" << endl;      cout << "|                       |                       |                       |                       |                       |" << endl;      cout << "|_______________________|_______________________|_______________________|_______________________|_______________________|" << endl;      cout << "|           16          |           17          |           18          |           19          |           20          |" << endl;      cout << "|                       |                       |                       |                       |                       |" << endl;      cout << "|         "; if (m[j] == 0) { j++; cout << " ---  "; }      else { j++; cout << "已存放"; } cout << "        |         "; if (m[j] == 0) { j++; cout << " ---  "; }      else { j++; cout << "已存放"; } cout << "        |         "; if (m[j] == 0) { j++; cout << " ---  "; }      else { j++; cout << "已存放"; } cout << "        |         "; if (m[j] == 0) { j++; cout << " ---  "; }      else { j++; cout << "已存放"; } cout << "        |         "; if (m[j] == 0) { j++; cout << " ---  "; }      else { j++; cout << "已存放"; } cout << "        |" << endl;      cout << "|                       |                       |                       |                       |                       |" << endl;      cout << "|_______________________|_______________________|_______________________|_______________________|_______________________|" << endl;      cout << "|           21          |           22          |           23          |           24          |           25          |" << endl;      cout << "|                       |                       |                       |                       |                       |" << endl;      cout << "|                       |                       |                       |                       |                       |" << endl;      cout << "|         "; if (m[j] == 0) { j++; cout << " ---  "; }      else { j++; cout << "已存放"; } cout << "        |         "; if (m[j] == 0) { j++; cout << " ---  "; }      else { j++; cout << "已存放"; } cout << "        |         "; if (m[j] == 0) { j++; cout << " ---  "; }      else { j++; cout << "已存放"; } cout << "        |         "; if (m[j] == 0) { j++; cout << " ---  "; }      else { j++; cout << "已存放"; } cout << "        |         "; if (m[j] == 0) { j++; cout << " ---  "; }      else { j++; cout << "已存放"; } cout << "        |" << endl;      cout << "|                       |                       |                       |                       |                       |" << endl;      cout << "|                       |                       |                       |                       |                       |" << endl;      cout << "|_______________________|_______________________|_______________________|_______________________|_______________________|" << endl;      cout << endl << "                                          输入要取出的智能柜的编号(输入'0'返回):";      cin >> n;      switch (n) {      case 1:      case 2:      case 3:      case 4:      case 5:      case 6:      case 7:      case 8:      case 9:      case 10:      case 11:      case 12:      case 13:      case 14:      case 15:      case 16:      case 17:      case 18:      case 19:      case 20:      case 21:      case 22:      case 23:      case 24:      case 25:          system("cls");          return n;      case 0:          system("cls");          return n;      default:          system("cls");          return -1;      }  }    //初始化  node* init()  {      node *head;      head = new node;      head->next = null;      head->prev = null;      return head;  }  node* autoinput(node* head) {      int j = 0;      int list1[25];      int list2[25];      string list3[25];      int list4[25];      ifstream file1("num.txt");      ifstream file2("tnum.txt");      ifstream file3("pnum.txt");      ifstream file4("pcode.txt");      while (file1.peek() != eof) {              file1 >> list1[j];                      file2 >> list2[j];                                      file3 >> list3[j];                      file4 >> list4[j++];      }        file1.close();      file2.close();      file3.close();      file4.close();        for (int i = 0; i < j-1; i++) {          node *p0, *p1;          p0 = head;          p1 = new node;          p1->num = list1[i];          p1->tnum = list2[i];          p1->pnum = list3[i];          p1->pcode = list4[i];              p1->prev = p0;          p0->next = p1;          p1->next = null;          head = p1;      }      return head;  }    //柜满警告  void serror(node* head) {      system("cls");      cout << "____________________________________________________________________________________";      cout << endl;      cout << endl;      cout << "                        无可用的柜子!!!";      cout << endl;      cout << "____________________________________________________________________________________";      cout << endl;      system("pause");      system("cls");  }    //派送快递  int sedelivery(node* head) {      int list[25];      int i = 0;      int k = 0;      node *p0,*p1,*p2;      p0 = head;      p2 = head;      p1 = new node;      while (p2->prev != null) {          list[i] = p2->num;          p2 = p2->prev;          i++;      }      string size,pnum;      unsigned seed;      time_t now = time(0);      seed = time(0);      srand(seed);      cout << "____________________________________________________________________________________";      cout << endl;      cout << endl;      cout << "                        包裹大小(small | medium | large):"; cin >> size;      cout << endl;      cout << endl;      cout << "                        手机号码:"; cin >> pnum;      cout << endl;      cout << "____________________________________________________________________________________";      cout << endl;      if (pnum.length() != 11) {          cout << "                        请输入正确的手机号码!!!";          cout << endl;          system("pause");          system("cls");          return -1;      }      else p1->pnum = pnum;      if (size == "small") {          int j = 1;          for (; j <= 10; j++) {              for (; k <= i; k++) {                  if (k == i) {                      p1->num = j;                      break;                  }                  if (j == list[k]) {                      k = 0;                      break;                  }              }              if (k != 0)break;          }if (j == 11)return 0;      }      else if (size == "medium") {          int j = 11;          for (; j <= 20; j++) {              for (; k <= i; k++) {                  if (k == i) {                      p1->num = j;                      break;                  }                  if (j == list[k]) {                      k = 0;                      break;                  }              }              if (k != 0)break;          }if (j == 21)return 0;      }      else if (size == "large") {          int j = 21;          for (; j <= 25; j++) {              for (; k <= i; k++) {                  if (k == i) {                      p1->num = j;                      break;                  }                  if (j == list[k]) {                      k = 0;                      break;                  }              }              if (k != 0)break;          }if (j == 26)return 0;      }      else {          cout << "                        请输入正确的包裹大小!!!";          cout << endl;          system("pause");          system("cls");          return -1;      }      p1->tnum = now;      p1->pcode = rand();      p1->prev = p0;      p0->next = p1;      p1->next = null;      head = p1;      cout << "                             派送成功!!!";      cout << endl;      cout << "                           包裹将投放到" << p1->num << "号柜";      cout << endl;      system("pause");      system("cls");      return 1;  }    //超时快递  int iexpress(node* head) {      int n;      unsigned seed;      time_t now = time(0);      seed = time(0);      srand(seed);      node *p0,*p1;      p0 = head;      while (p0->prev->prev != null)p0 = p0->prev;      p1 = p0;      while (p0 != null) {          if (p0->tnum+86400 <= now) {              char* dt = ctime(&p0->tnum);              cout << "____________________________________________________________________________________";              cout << endl;              cout << endl;              cout << "                        柜号:" << p0->num << endl;              cout << "                        时间:" << dt << endl;              cout << "                        手机号码:" << p0->pnum;              cout << endl;              cout << "____________________________________________________________________________________";              cout << endl;          }          else break;          p0 = p0->next;      }      cout << endl << "                     输入要重放的智能柜的编号(输入'0'返回):";      cin >> n;      if (n == 0);      else {          while (p1 != null) {              if (p1->tnum + 86400 <= now) {                  if (p1->num == n) {                      if (p1 == head) {                          p1->tnum = now;                          p1->pcode = rand();                          cout << endl << "                        操作成功!!!";                          cout << endl;                          cout << endl;                          system("pause");                          system("cls");                          return 1;                      }                      else {                          p1->prev->next = p1->next;                          p1->next->prev = p1->prev;                          p1->tnum = now;                          p1->pcode = rand();                          p1->prev = head;                          head->next = p1;                          p1->next = null;                          cout << endl << "                        操作成功!!!";                          cout << endl;                          cout << endl;                          system("pause");                          system("cls");                          return 2;                      }                  }              }              else {                  cout << endl << "                        操作失败!!!";                  cout << endl;                  cout << endl;                  system("pause");                  system("cls");                  return 1;              }              p1 = p1->next;          }      }      system("cls");      return 1;  }    //文件输出  void iinformation(node* head) {      int j = 0;      node *p0;      p0 = head;      int list1[25];      int list2[25];      string list3[25];      int list4[25];      while (p0->prev != null) {          list1[j] = p0->num;          list2[j] = p0->tnum;          list3[j] = p0->pnum;          list4[j++] = p0->pcode;          p0 = p0->prev;      }      ofstream file1;      file1.open("num.txt");      ofstream file2;      file2.open("tnum.txt");      ofstream file3;      file3.open("pnum.txt");      ofstream file4;      file4.open("pcode.txt");      for (j = j - 1; j >= 0;) {          file1 << list1[j] << endl;          file2 << list2[j] << endl;          file3 << list3[j] << endl;          file4 << list4[j--] << endl;      }        file1.close();      file2.close();      file3.close();      file4.close();  }    //快递员系统界面  int initialization(node* head) {      int n;      cout << "____________________________________________________________________________________" << endl;      cout << "|                                                                                  |" << endl;      cout << "|                                  智能柜管理系统                                  |" << endl;      cout << "|                                                                                  |" << endl;      cout << "|                                    1.取出快递                                    |" << endl;      cout << "|                                                                                  |" << endl;      cout << "|                                    2.放置快递                                    |" << endl;      cout << "|                                                                                  |" << endl;      cout << "|                                    3.查询超时快递                                |" << endl;      cout << "|                                                                                  |" << endl;      cout << "|                                    0.注销                                        |" << endl;      cout << "|                                                                                  |" << endl;      cout << "|__________________________________________________________________________________|" << endl;      cout << endl << "                             输入对应数字进入相应功能:";      cin >> n;      switch (n) {      case 1:          system("cls");          return 1;      case 2:          system("cls");          return 2;      case 3:          system("cls");          return 3;      case 0:          system("cls");          return 0;      default:          system("cls");          return -1;      }  }    //登录错误提示  void lerror() {      cout << "____________________________________________________________________________________";      cout << endl;      cout << endl;      cout << "                        账号或密码错误!!!";      cout << endl;      cout << endl;      cout << "____________________________________________________________________________________";      cout << endl;      system("pause");      system("cls");  }    //登录系统  int lsystem() {      int j = 0;      int anumber;      int password;      int list1[10];      int list2[10];      ifstream file1("anumber.txt");      while (!file1.eof())          file1 >> list1[j++];            file1.close();        j = 0;      ifstream file2("password.txt");      while (!file2.eof())          file2 >> list2[j++];        file2.close();        cout << "____________________________________________________________________________________";      cout << endl;      cout << endl;      cout << "                        账号:"; cin >> anumber;      cout << endl;      cout << endl;      cout << "                        密码:"; cin >> password;      cout << endl;      cout << "____________________________________________________________________________________";      for (int i = 0;i < j; i++) {          if (list1[i] == anumber && list2[i] == password) {              system("cls");              return 1;          }          else {              system("cls");              return -1;          }      }      return -1;  }    //系统界面  int linterface() {      int n;      cout << "____________________________________________________________________________________" << endl;      cout << "|                                                                                  |" << endl;      cout << "|                                  智能柜管理系统                                  |" << endl;      cout << "|                                                                                  |" << endl;      cout << "|                                    1.取快递                                      |" << endl;      cout << "|                                                                                  |" << endl;      cout << "|                                    2.快递员登录                                  |" << endl;      cout << "|                                                                                  |" << endl;      cout << "|                                    0.退出                                        |" << endl;      cout << "|                                                                                  |" << endl;      cout << "|__________________________________________________________________________________|" << endl;      cout << endl << "                            输入对应数字进入相应功能:";      cin >> n;      switch (n) {      case 1:          system("cls");          return 1;      case 2:          system("cls");          return 2;      case 0:          exit(1);      default:          system("cls");          return -1;      }  }    /*      n为系统界面返回值                    1为取件系统        2为快递员登录系统界面    -1为循环      m为取件系统返回值                    -1为取件失败    其他为取件成功      j为登录系统返回值                    1为登陆成功        -1为登录失败      k为快递员系统界面返回值                1为柜子界面        2为派送快递                3为超时快递            0为注销      l为柜子界面返回值                    0为返回            -1为循环                其他为快递员取件      p为派送快递返回值                    0为柜满            1为成功                    -1为返回      o为超时快递返回值                    1为成功            2为失败  */  int main() {      int n,m,j,k,l,p,o;      do {          n = linterface();          if (n == 1) {              m = pcode();              if (m == -1) {                  freaction();                  n = -1;              }              else {                  rreaction(m);                  n = -1;              }          }          else if (n == 2) {              j = lsystem();              if (j == 1) {                  node *head;                  head = init();                  head = autoinput(head);                  do {                      k = initialization(head);                      if (k == 1) {                          do {                              l = ginformation(head);                              if (l > 0) {                                  head = dnode(head, l);                                  l = -1;                              }                              else if (l == 0) {                                  k = -1;                                  break;                              }                          } while (l == -1);                      }                      else if (k == 2) {                          p = sedelivery(head);                          if (p == 0) {                              serror(head);                              k = -1;                          }                          else if (p == 1) {                              head = head->next;                              k = -1;                          }                          else if (p == -1) {                              k = -1;                          }                      }                      else if (k == 3) {                          o = iexpress(head);                          if(o == 2)head = head->next;                          k = -1;                      }                      else if (k == 0){                          iinformation(head);                          n = -1;                          break;                      }                      else {                          k = -1;                      }                  } while (k == -1);              }              else {                  lerror();                  n = -1;              }          }      } while (n == -1);  }

以上就是c/c++开发分享C++实现智能柜管理系统的全部内容,希望对大家的学习有所帮助,也希望大家多多支持<计算机技术网(www.ctvol.com)!!>。

需要了解更多c/c++开发分享C++实现智能柜管理系统,都可以关注C/C++技术分享栏目—计算机技术网(www.ctvol.com)!

本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

ctvol管理联系方式QQ:251552304

本文章地址:https://www.ctvol.com/c-cdevelopment/1074203.html

(1)
上一篇 2022年4月7日
下一篇 2022年4月7日

精彩推荐