C++课程设计-失物招领系统

  • 求点赞关注
  • 功能描述
  • 程序设计功能图
  • 详细设计
    • 拾物登记
      • 流程图
      • 代码
    • 失物寻找
      • 流程图
      • 代码
  • 程序运行界面
    • 程序功能选择界面
    • 功能运行界面
      • 拾物登记功能
      • 失物查找功能
    • 循环判断界面
  • 调试与分析
    • 问题一:描述模糊
    • 问题二:关键字干扰
    • 问题三:页面信息冗余

LabVIEW课程设计-失物招领系统可参考LabVIEW课程设计

完整程序代码进入C++课程设计-失物招领系统查看
也可以进入我的GitHub仓库进行代码下载GitHub-失物招领系统/C++

求点赞关注

如果觉得这篇文章对你有帮助请点赞收藏加关注啊,真的很谢谢大家!大家可以进入我的CSDN主页查看其它文章,都是我在进行课后题目与课程设计时遇到的一些问题,如果你正在学习人工智能,一定会有所收获,并且可以在我的GitHub仓库主页下载相关代码,后续我也会根据需求不断完善。

lazyn的CSDN_blog_codel

同时如果想要系统化的学习人工智能,可以进入下面的网站进行学习

通俗易懂,风趣幽默的人工智能学习网站-床长人工智能教程

作为人工智能专业的学生,我认为该网站的课程设置足够专业与完整,由浅入深,基本涵盖了当前人工智能的热门领域并且在不断完善,目录简洁明了,大家可以对照目录进行查漏补缺,作为读者,我发现课程内容通俗易懂,风趣幽默,可以激发大家的学习兴趣。

功能描述

在人口大量聚集的校园里,丢失物品的现象难以避免,而这些物品丢失的地点其实就可以锁定在校园这个固定的大地点,所以要想找回这个物品其实并不困难。程序的目的就是为捡到物品的人进行登记和丢失物品的人进行失物寻找提供一个平台,实现校友间的互帮互助,提高丢失物品找回的成功率,同时在一定程度上提高效率,让帮助他人和寻求帮助不再困难。

程序设计功能图

详细设计

拾物登记

流程图

代码

信息录入部分

case 1:{SYSTEMTIME sys;GetLocalTime(&sys);ofstream outfile("f.txt",ios::app);outfile<< sys.wYear << "年" << sys.wMonth << "月" << sys.wDay<< "日" << sys.wHour << ":" << sys.wMinute<<"  ";//将系统时间录入到本地 outfile.close();int select;cout<<"请选择捡到物品的区域:"<<endl;cout<<"1.西区生活区"<<endl; cout<<"2.中心教学区"<<endl;cout<<"3.东区生活区"<<endl;cin>>select;cin.sync();switch(select){int select;case 1: cout<<"请选择捡到物品的位置:"<<endl;cout<<"1.兰园食堂  ";cout<<"2.竹园食堂  "; cout<<"3.宿舍  ";cout<<"4.超市  ";cout<<"5.道路上  ";cout<<"6.大学生活动中心  "<<endl;cin>>select;cin.sync();switch(select){char s[80];case 1:strcpy(s,"西区生活区兰园食堂"); Note(s);//调用定义的Note函数break;case 2:strcpy(s,"西区生活区竹园食堂");Note(s);break; case 3:strcpy(s,"西区生活区宿舍");Note(s);break;case 4:strcpy(s,"西区生活区超市");Note(s);break;case 5:strcpy(s,"西区生活区道路上");Note1(s);//调用定义的Note1函数break;case 6:strcpy(s,"西区生活区大学生活动中心");Note(s);break;}break;case 2: cout<<"请选择捡到物品的位置:"<<endl;cout<<"1.图书馆  ";cout<<"2.教学楼  ";cout<<"3.会堂  ";cout<<"4.道路上  "<<endl;cin>>select;cin.sync();switch(select){char s[80];case 1:strcpy(s,"中心教学区图书馆") ;Note(s);break;case 2:strcpy(s,"中心教学区教学楼");Note(s);break;case 3:strcpy(s,"中心教学区会堂");Note(s);break;case 4:strcpy(s,"中心教学区道路上");Note1(s);break; }break;case 3:cout<<"请选择捡到物品的位置:"<<endl;cout<<"1.梅园食堂  ";cout<<"2.菊园食堂  "; cout<<"3.宿舍  ";cout<<"4.超市  ";cout<<"5.道路上  ";cout<<"6.大学生活动中心  "<<endl; cin>>select;cin.sync();switch(select){char s[80];case 1:strcpy(s,"东区生活区梅园食堂"); Note(s);break;case 2:strcpy(s,"东区生活区菊园食堂");Note(s);break; case 3:strcpy(s,"东区生活区宿舍");Note(s);break;case 4:strcpy(s,"东区生活区超市");Note(s);break;case 5:strcpy(s,"东区生活区道路上");Note1(s);break;case 6:strcpy(s,"东区生活区大学生活动中心");Note(s);break;}break;}break;}

本地txt文件录入

void Note(char s[])//定义的往本地txt文件录入信息的函数1
{ char s1[80],s2[80],s4[80];int select; cout<<"请输入具体位置:"<<endl;cin>>s1;strcat(s,s1);strcat(s,"捡到") ; cout<<"请选择捡到的物品:"<<endl;cout<<"1.耳机  ";cout<<"2.饭卡  ";cout<<"3.优盘  "<<endl;cout<<"4.课本  ";cout<<"5.钥匙  ";cout<<"6.雨伞  "<<endl;cout<<"7.其他物品"<<endl;cin>>select;cin.sync();switch(select){case 1:strcpy(s2,"耳机");break;case 2:strcpy(s2,"饭卡");break;case 3:strcpy(s2,"优盘");break;case 4:strcpy(s2,"课本");break;case 5:strcpy(s2,"钥匙");break;case 6:strcpy(s2,"伞");break;case 7:cout<<"请输入捡到的物品:"<<endl;cin>>s2;strcat(s2,"(其他物品)"); break;    }strcat(s,s2); char s3[]=" QQ:";strcat(s,s3);cout<<"请输入QQ,便于失主联系:"<<endl;cin>>s4;strcat(s,s4);cout<<s<<endl;ofstream outfile("f.txt",ios::app);outfile<<s;outfile<<endl;outfile.close();
}

失物寻找

流程图

代码

丢失物品选择

case 2:cout<<"请选择丢失的物品:"<<endl;cout<<"1.耳机  ";cout<<"2.饭卡  ";cout<<"3.优盘  "<<endl;cout<<"4.课本  ";cout<<"5.钥匙  ";cout<<"6.雨伞  "<<endl;cout<<"7.其他物品"<<endl;cin>>select;cin.sync();string s;switch(select){case 1:s="耳机";Find(s);//定义的Find函数break;case 2:s="饭卡";Find(s);break;case 3:s="优盘";Find(s);break;case 4:s="课本";Find(s);break;case 5:s="钥匙";Find(s);break;case 6:s="伞";Find(s);break;case 7:s="(其他物品)";Find(s); break;   }   break;

查找函数

void Find(string s)//定义的查找函数
{int n;char s1[80];string s2,s3;ifstream infile("f.txt",ios::in);infile.getline(s1,80);while(!infile.eof()){s2=s1;n=s2.find(s);if(n!=-1)cout<<s2<<endl; infile.getline(s1,80);}
}

程序运行界面

程序功能选择界面

功能运行界面

拾物登记功能

运行前本地信息文件

运行界面

运行后本地信息文件

失物查找功能

循环判断界面

调试与分析

问题一:描述模糊

问题:对丢失同一物品不同的人有不同的描述方式,如饭卡有人描述为校园卡,U盘有人描述为优盘,这样查找时就会存在困难,造成程序运行结果出错。
分析:为避免对丢失同一物品有不同的描述方式,我用菜单数据显示出常见的丢失物品,用户可以直接选择,同时,将不常见的丢失物品归为其他物品一项,在存储数据时写入“(其他物品)”,从而可以通过关键词的匹配进行查找。

问题二:关键字干扰

问题:初始版本中物品关键字存在干扰,比如失主查找丢失的物品是“书”,但第一行捡到物品的人登记的物品是“优盘”。

分析:地点中图书馆中的“书”字对查询结果产生了干扰,所以将代码中的书改为课本,更改后运行结果如下。

问题三:页面信息冗余

问题:在进行完一次程序后,用户如果选择继续进行,下一轮循环的内容直接显示在上次程序显示内容的下方,如果用户多次循环程序,程序运行界面会显示的内容会杂乱无章。

分析:在进行下一次循环之前清空上次循环的内容,会使界面简洁有序,故调用清屏这个系统函数,修改后代码如图。

C++课程设计-失物招领系统相关推荐

  1. 失物招领网站html源码,基于web的失物招领系统(完整源码+论文全套+教学视频)...

    实现一个web的失物招领系统, 也就是说可以基于浏览器来进行各种数据信息的管理功能, 也可以认为是一个B/S架构的失物招领系统的系统,系统分为前后台,实现了能够进行线上操作, 进行失物招领系统各 ...

  2. (附源码)ssm失物招领系统 毕业设计 182317

    失物招领系统的设计与实现 摘 要 信息化社会内需要与之针对性的信息获取途径,但是途径的扩展基本上为人们所努力的方向,由于站在的角度存在偏差,人们经常能够获得不同类型信息,这也是技术最为难以攻克的课题. ...

  3. (附源码)ssm失物招领系统 毕业设计182317

    失物招领系统的设计与实现 摘 要 信息化社会内需要与之针对性的信息获取途径,但是途径的扩展基本上为人们所努力的方向,由于站在的角度存在偏差,人们经常能够获得不同类型信息,这也是技术最为难以攻克的课题. ...

  4. javaweb JAVA JSP失物招领系统源码( JSP寻物启事)-毕业设计-课程设计

    javaweb JAVA JSP失物招领系统源码( JSP寻物启事)-毕业设计-课程设计 protected void doGet(HttpServletRequest req, HttpServle ...

  5. JSP失物招领系统源码JSP寻物启事JSP校园失物招领系统-毕业设计-课程设计

    JSP失物招领系统源码JSP寻物启事JSP校园失物招领系统

  6. springboot高校失物招领系统的设计与实现毕业设计源码121441

    摘 要 信息化社会内需要与之针对性的信息获取途径,但是途径的扩展基本上为人们所努力的方向,由于站在的角度存在偏差,人们经常能够获得不同类型信息,这也是技术最为难以攻克的课题.针对高校失物招领系统等问题 ...

  7. 计算机毕业设计springboot晋中学院失物招领系统的设计与实现unst3源码+系统+程序+lw文档+部署

    计算机毕业设计springboot晋中学院失物招领系统的设计与实现unst3源码+系统+程序+lw文档+部署 计算机毕业设计springboot晋中学院失物招领系统的设计与实现unst3源码+系统+程 ...

  8. 基于php校园失物招领,校园失物招领系统的设计.doc

    校园失物招领系统的设计 校园失物招领系统的设计 摘 要: 在当今的信息社会中,大多招领事务处理使用的传统人工管理方式存在着许多缺点,如:效率低.保密性差,另外时间一长,将产生大量的文件和数据,这对于查 ...

  9. 失物招领|基于Web的校园失物招领系统的设计与实现

    作者主页:编程千纸鹤 作者简介:Java.前端.Pythone开发多年,做过高程,项目经理,架构师 主要内容:Java项目开发.毕业设计开发.面试技术整理.最新技术分享 收藏点赞不迷路  关注作者有好 ...

最新文章

  1. web本地存储-IndexedDB
  2. 棋盘上的孙子兵法之我见
  3. Vijos P1756 数字反转【进制】
  4. 金立旗下18辆车产被司法拍卖 成交额近500万元
  5. Mybatis Plus语法+示例
  6. 博文视点读书节第六日丨产品大咖书单阿里云专家直播预告,更有超值代金券手慢无
  7. html keyframes无效,@ -webkit-keyframes动画为什么不起作用?
  8. 一个屌丝程序猿的人生(九)
  9. (考勤记录导出教程)指纹考勤机科密C21
  10. matlab冲激函数的傅里叶变换,信号与系统课件14.ppt
  11. Verilog语法之generate语句
  12. 山石岩读丨前沿领域探析——汽车CAN总线协议详解及攻击面分析
  13. Fiddler基本使用
  14. 公众号支付成功后执行ajax,真香,微信公众号支付完整流程案例
  15. 帮忙写一份2022年医院信息科年度工作汇报
  16. 2016年欧冠决赛看球小记
  17. C++ —— 自定义函数
  18. 医院设备管理系统-项目模板-毕业设计
  19. 速卖通开店入驻收费:各类目费用一览表及开店入驻绿色通道
  20. C++ OpenCV视频操作之CamShift跟踪算法

热门文章

  1. 360个人图书馆文章复制方法
  2. Mac上Logi Options安装问题
  3. 财务部门:OKR 案例集
  4. BJTU1853 gangpener 买零食
  5. 水雨情监测系统 实时监测
  6. 特征选择(过滤法、包装法、嵌入法)
  7. sqli-labs Less-38、39、40、41、42、43、44、45(sqli-labs闯关指南 38、39、40、41、42、43、44、45)—堆叠注入
  8. ixia测试工具的全称_IXIA网络测试仪使用说明
  9. matlab谐波电流测量,基于MATLAB谐波电流检测仿真研究
  10. 冰与火之歌:Python的三元表达式