C++如何实现智能柜管理系统
发表于:2025-02-01 作者:千家信息网编辑
千家信息网最后更新 2025年02月01日,小编给大家分享一下C++如何实现智能柜管理系统,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!具体内容如下#define _
千家信息网最后更新 2025年02月01日C++如何实现智能柜管理系统
小编给大家分享一下C++如何实现智能柜管理系统,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!
具体内容如下
#define _CRT_SECURE_NO_DEPRECATE#include#include #include #include #include #include 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 << " 柜号"< 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++如何实现智能柜管理系统"这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!
快递
系统
成功
j++
界面
登录
智能
管理系统
管理
错误
内容
手机
柜子
篇文章
C++
包裹
号码
手机号码
循环
提示
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
把数据写到网络数据库
退役军人网络安全工程师
完全匿名调查问卷软件开发
招聘软件开发人员提问
软件开发违法吗
java的数据库
深圳市康康网络技术
深圳青腾网络技术有限公司
me软件开发工具
服务器管理器启动不了
社区数字孪生软件开发
咸阳旨普网络技术
软件开发总体设计包括哪些内容
服务器运维管理用什么软件好
远程协助灰色服务器管理器
找客户的软件开发
酒店从业人员网络安全培训方案
自己搭建服务器cenos
数据库文本应设置格式
信息网络安全核心技术是
南关区网络技术质量保障
狮子座互联网科技6
金山区参考数据库服务清单
广东工业大学网络安全学院官网
香港的互联网科技水平
长宁区参考数据库研发厂家报价
多金互联网科技
网络数据库课后答案
易语言怎么连接发信服务器
数据库如何选择日期