C++课程设计-失物招领系统
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++课程设计-失物招领系统的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 迷茫!前路无尽头
- 下一篇: mysql主从复制实验(附编译安装mys