日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > windows >内容正文

windows

公交车管理系统

發布時間:2023/12/15 windows 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 公交车管理系统 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

案例目的

某公交公司有車輛若干。現在,需要存儲這些公交的編號、名稱、類型、起點站和終點站,并顯示全部信息。?類型包括普通車、空調車、雙層車等。

案例覆蓋技能點

a)?C++基本語法和常用算法

b)?文件操作

c)?面向對象的使用

案例需求?

1)公交編號在生成公交車信息時同時生成,每輸入一輛公交車信息編號順序加1。?

2)能按名稱或者編號顯示、查找、增加、刪除和保存各類公交的信息。?

功能列表:

1)添加車輛

添加車輛由鍵盤輸入進行。輸入時,程序會自動判斷輸入信息是否重復,若輸入值不符合要求,則提示無法錄入

2)增加車輛信息

在類中包含了增加車輛信息的函數,可以將錄入的車輛信息增加到信息總表中。

3)刪除車輛信息

刪除車輛信息,這個車輛之后的車輛編號會減一。

4)查找車輛信息

查找車輛可以由編號、名稱的方式完成。

5)顯示所有車輛信息以表格格式顯示。


code:

#include <iostream> #include <cstdlib> #include <string.h> #include <stdio.h> #include<iomanip> #include <fstream> using namespace std; #define N 20 //公交車最多輛數 class Bus {/*Bus類,用來描述車輛屬性,包括number()name()、type()、start()、terminal()*/ public:int number; //編號char name[10]; //名稱(即路線)char type[10]; //車型char start[10]; //起點站char terminal[10];//終點站/*默認構造函數,將對象所有屬性賦初值0或空字符串*/Bus(){number=0;name[0]='0';type[0]='0';start[0]='0';terminal[0]='0';}Bus(int number1,char *name1,char *type1,char *start1,char *terminal1){number=number1;strcpy(name,name1);strcpy(type,type1);strcpy(start,start1);strcpy(terminal,terminal1);}~Bus(); //析構函數};class Company {/*擁有指向Bus類的對象數組指針,和所有的車輛信息處理函數*/ public:int size;Bus *bus[N];Bus *bus1;Company();~Company();void welcome(); //歡迎界面void Keyboard_entry(); //鍵盤錄入主菜單void AddBus(); //增加車輛bool AddBus1(int number,char *name,char *type,char *start,char *terminal); //增加車輛void DeleteBus(); //刪除車輛bool DeleteBus2(int number);void FindBusNum();bool FindBusNum1(int number); //判斷車輛信息是否存在,按序號查找車輛void FindBusNam();bool FindBusNam1(char *name1); //判斷車輛信息是否存在,按名稱查找車輛void FindBusStart();bool FindBusStart1(char *start1); //判斷車輛信息是否存在,按始發站查找車輛void FindBusterminal();bool FindBusterminal1(char *terminal1); //判斷車輛信息是否存在,按終點站查找車輛void DispAll(); //顯示全部車輛void show(); //用于刪除車輛的顯示全部車輛void Check_station(); //查看所有車站void Save_file(); //存儲到文件void File_input(); //從文件讀取 };Company::Company() //Company類構造函數,初始化bus類 {size=0;for(int i=0; i<N; i++){bus[i]=NULL;} }Company::~Company() {} //Company類析構函數void Company::welcome() //歡迎界面,主菜單 {int choose;cout<<"------------------------------"<<endl;cout<<" 歡迎使用公交車管理系統 "<<endl;cout<<"------------------------------"<<endl<<endl;cout<<"請選擇數據來源:"<<endl;cout<<"1、從文件輸入"<<endl;cout<<"2、鍵盤錄入"<<endl;cin>>choose;if(choose==1){File_input(); //從文件讀取信息}else if(choose==2){Keyboard_entry(); //鍵盤錄入信息}else{cout<<"輸入有誤!請重新輸入"<<endl;welcome();} }void Company::Keyboard_entry() //鍵盤錄入,主菜單 {int order;cout<<"請選擇您要進行的操作:"<<endl;cout<<" 1、添加車輛"<<endl;cout<<" 2、刪除車輛"<<endl;cout<<" 3、顯示全部車輛"<<endl;cout<<" 4、查找車輛"<<endl;cout<<" 5、查看所有車站"<<endl;cout<<" 6、存儲到文件"<<endl;cout<<" 7、退出程序"<<endl;cin>>order;switch(order){case 1:AddBus(); //增加車輛break;case 2:DeleteBus(); //刪除車輛break;case 3:DispAll(); //顯示全部車輛break;case 4:cout<<"請選擇查找車輛的方式:"<<endl;cout<<"1、按名稱查找"<<endl;cout<<"2、按編號查找"<<endl;cout<<"3、按始發站查找"<<endl;cout<<"4、按終點站查找"<<endl;cin>>order;if(order==1)FindBusNam(); //判斷車輛信息是否存在,按名稱查找車輛else if(order==2)FindBusNum(); //判斷車輛信息是否存在,按序號查找車輛else if(order==3)FindBusStart(); //判斷車輛信息是否存在,按始發站查找車輛else if(order==4)FindBusterminal(); //判斷車輛信息是否存在,按終點站查找車輛elsecout<<"輸入錯誤!退出程序..."<<endl;exit(1);break;case 5:Check_station(); //查看所有車站break;case 6:Save_file(); //存儲到文件break;case 7:cout<<"您已退出程序!"<<endl;exit(1);default:cout<<"輸入錯誤,請重新輸入"<<endl;Keyboard_entry();} }void Company::File_input() {// 需要運用讀入文件知識實現,int i=0;Bus *BB;ifstream infile("GJ.txt",ios::in);//以輸入方式打開磁盤文件if(!infile){cerr<<"open error!"<<endl;exit(1);}for(i=0; i<size; i++){BB=bus[i];infile>>BB->number>>BB->name>>BB->start>>BB->terminal;cout<<"添加公交車"<<BB->name<<"成功"<<endl;}cout<<"讀取到"<<i<<"組數據"<<endl;cout<<"請按任意鍵繼續..."<<endl;fflush(stdin);getchar();Keyboard_entry(); //讀入文件后返回鍵盤錄入 }bool Company::AddBus1(int number,char *name,char *type,char *start,char *terminal) {int i;Bus *bb;bb= new Bus(number,name,type,start,terminal);for(i=0; i<size; i++){bus1=bus[i];if(strcmp(bus1->name,name)==0){if(strcmp(bus1->type,type)==0){if(strcmp(bus1->start,start)==0){if(strcmp(bus1->terminal,terminal)==0){cout<<"此公交車信息已存在,錄入失敗!"<<endl;return false;}}}}}if(i==size){bus[size]=bb;size++;cout<<"車輛信息錄入成功!"<<endl;return true;}elsereturn false; }void Company::AddBus() //增加車輛 {/*Company類的函數,用于判斷輸入的車輛信息是否重復,并將沒有重復的信息增加到信息總表中去*/int number22; //編號char name22[10]; //名稱(即路線)char type22[10]; //車型char start22[10]; //起點站char terminal22[10];//終點站int type;char ty[10];cout<<"-->>添加車輛"<<endl;cout<<"您正在增加車輛"<<endl;cout<<"請輸入車輛編號:"<<endl;cin>>number22;cout<<"請輸入車輛名稱:"<<endl;cin>>name22;cout<<"請輸入車輛類型:"<<endl;cout<<"0.其他 1.普通車 2.空調車 3.雙層車"<<endl;cin>>type;switch(type){case 0:strcpy(ty,"其他類型");strcpy(type22,ty);break;case 1:strcpy(ty,"普通車");strcpy(type22,ty);break;case 2:strcpy(ty,"空調車");strcpy(type22,ty);break;case 3:strcpy(ty,"雙層車");strcpy(type22,ty);break;default:cout<<"輸入有誤!"<<endl;AddBus();}cout<<"請輸入車輛起點:"<<endl;cin>>start22;cout<<"請輸入車輛終點:"<<endl;cin>>terminal22;AddBus1(number22,name22,type22,start22,terminal22);cout<<"請按任意鍵繼續..."<<endl;fflush(stdin);getchar();Keyboard_entry(); }bool Company::DeleteBus2(int number) {int i;for(i=0; i<size; i++){bus1=bus[i];if(bus1->number==number){for(int j=i; j<size; j++){bus1=bus[j];(bus1->number)--;bus[j]=bus[j+1];if(j==size-1)number=bus1->number ;}cout<<"該車信息已刪除!"<<endl;size--;return true;}}if(i==size){cout<<"未找到該車信息,無法刪除!"<<endl;return false;}return false; }void Company::DeleteBus() //刪除車輛 {/*Company類的函數,根據用戶輸入的車輛名稱判斷車輛信息是否存在,若存在,查找并顯示所有此名稱的車輛,再提示用戶根據顯示出的車輛信息選擇要刪車的車輛*/int num;cout<<"-->>刪除車輛"<<endl;show();cout<<"請選擇要刪除的車輛的編號:"<<endl;cin>>num;DeleteBus2(num);cout<<"請按任意鍵繼續..."<<endl;fflush(stdin);getchar();Keyboard_entry(); }bool Company::FindBusNum1(int number) {int i;for(i=0; i<size; i++){bus1=bus[i];if(bus1->number==number){cout<<bus1->number<<"號公交車的信息為:"<<endl;cout<<setiosflags(ios::left)<<" * "<<setw(8)<<"編號"<<setw(8)<<"名稱"<<setw(8)<<"類型"<<setw(8)<<"起點站"<<setw(8)<<"終點站"<<"*"<<endl;cout<<setiosflags(ios::left)<<" * "<<setw(8)<<bus1->number<<setw(8)<<bus1->name<<setw(8)<<bus1->type<<setw(8)<<bus1->start<<setw(8)<<bus1->terminal<<setw(8)<<"*"<<endl;return true;}}if(i==size){cout<<"無該車任何信息!"<<endl;return false;}return false; }void Company::FindBusNum() //判斷車輛信息是否存在,查找車輛 {int account;cout<<"請輸入要查找的車輛編號:";cin>>account;FindBusNum1(account);cout<<"請按任意鍵繼續..."<<endl;fflush(stdin);getchar();Keyboard_entry(); }bool Company::FindBusNam1(char *name1) {for(int i=0; i<size; i++){bus1=bus[i];if(strcmp(bus1->name,name1)==0){cout<<"路線名稱為"<<bus1->name<<"的公交車的信息為:"<<endl;cout<<setiosflags(ios::left)<<" * "<<setw(8)<<"編號"<<setw(8)<<"名稱"<<setw(8)<<"類型"<<setw(8)<<"起點站"<<setw(8)<<"終點站"<<"*"<<endl;cout<<setiosflags(ios::left)<<" * "<<setw(8)<<bus1->number<<setw(8)<<bus1->name<<setw(8)<<bus1->type<<setw(8)<<bus1->start<<setw(8)<<bus1->terminal<<setw(8)<<"*"<<endl;return true;}if(i==size){cout<<"無該車任何信息!"<<endl;return false;}return false;} }void Company::FindBusNam() //判斷車輛信息是否存在,查找車輛 {char name11[10];cout<<"請輸入要查找車輛的名稱:"<<endl;cin>>name11;FindBusNam1(name11);cout<<"請按任意鍵繼續..."<<endl;fflush(stdin);getchar();Keyboard_entry(); }bool Company::FindBusStart1(char *start1) {for(int i=0; i<size; i++){bus1=bus[i];if(strcmp(bus1->start,start1)==0){cout<<"始發站為"<<bus1->start<<"的公交車的信息為:"<<endl;cout<<setiosflags(ios::left)<<" *"<<setw(8)<<"編號"<<setw(8)<<"名稱"<<setw(8)<<"類型"<<setw(8)<<"起點站"<<setw(8)<<"終點站"<<"*"<<endl;cout<<setiosflags(ios::left)<<" *"<<setw(8)<<bus1->number<<setw(8)<<bus1->name<<setw(8)<<bus1->type<<setw(8)<<bus1->start<<setw(8)<<bus1->terminal<<setw(8)<<"*"<<endl;return true;}if(i==size){cout<<"無該車任何信息!"<<endl;return false;}return false;} }void Company::FindBusStart() //判斷車輛信息是否存在,查找車輛 {char start11[10];cout<<"請輸入要查找車輛的始發站:"<<endl;cin>>start11;FindBusStart1(start11);cout<<"請按任意鍵繼續..."<<endl;fflush(stdin);getchar();Keyboard_entry(); }bool Company::FindBusterminal1(char *terminal1) {for(int i=0; i<size; i++){bus1=bus[i];if(strcmp(bus1->terminal,terminal1)==0){cout<<"終點站為"<<bus1->terminal<<"的公交車的信息為:"<<endl;cout<<setiosflags(ios::left)<<" *"<<setw(8)<<"編號"<<setw(8)<<"名稱"<<setw(8)<<"類型"<<setw(8)<<"起點站"<<setw(8)<<"終點站"<<"*"<<endl;cout<<setiosflags(ios::left)<<" *"<<setw(8)<<bus1->number<<setw(8)<<bus1->name<<setw(8)<<bus1->type<<setw(8)<<bus1->start<<setw(8)<<bus1->terminal<<setw(8)<<"*"<<endl;return true;}if(i==size){cout<<"無該車任何信息!"<<endl;return false;}return false;} }void Company::FindBusterminal() //判斷車輛信息是否存在,按終點站查找車輛 {char terminal11[10];cout<<"請輸入要查找車輛的終點站:"<<endl;cin>>terminal11;FindBusterminal1(terminal11);cout<<"請按任意鍵繼續..."<<endl;fflush(stdin);getchar();Keyboard_entry(); }void Company::DispAll() //顯示全部車輛 {cout<<setiosflags(ios::left)<<" * "<<setw(8)<<"編號"<<setw(8)<<"名稱"<<setw(8)<<"類型"<<setw(8)<<"起點站"<<setw(8)<<"終點站"<<"*"<<endl;for(int i=0; i<size; i++){bus1=bus[i];cout<<setiosflags(ios::left)<<" * "<<setw(8)<<bus1->number<<setw(8)<<bus1->name<<setw(8)<<bus1->type<<setw(8)<<bus1->start<<setw(8)<<bus1->terminal<<setw(8)<<"*"<<endl;}cout<<endl;cout<<"請按任意鍵繼續..."<<endl;fflush(stdin);getchar();Keyboard_entry();/*Company類的函數,輸出所有車輛信息*/ }void Company::show() //顯示車輛信息,用于刪除車輛 {cout<<setiosflags(ios::left)<<" * "<<setw(8)<<"編號"<<setw(8)<<"名稱"<<setw(8)<<"類型"<<setw(8)<<"起點站"<<setw(8)<<"終點站"<<"*"<<endl;for(int i=0; i<size; i++){bus1=bus[i];cout<<setiosflags(ios::left)<<" * "<<setw(8)<<bus1->number<<setw(8)<<bus1->name<<setw(8)<<bus1->type<<setw(8)<<bus1->start<<setw(8)<<bus1->terminal<<setw(8)<<"*"<<endl;}cout<<endl; }void Company::Check_station() //查看所有車站 {cout<<"所有公交車站有:"<<endl;for(int i=0;i<size;i++){bus1=bus[i];cout<<bus1->start<<", "<<bus1->terminal<<" ";}cout<<endl<<endl;cout<<"請按任意鍵繼續..."<<endl;fflush(stdin);getchar();Keyboard_entry(); }void Company::Save_file() //存儲到文件 {ofstream outfile("GJ.txt",ios::out);if(!outfile){cerr<<"open error!"<<endl;exit(1);}for(int i=0; i<size; i++){outfile<<bus[i]<<endl;}outfile.close();cout<<"讀入文件成功"<<endl<<endl;cout<<"請按任意鍵繼續..."<<endl;fflush(stdin);getchar();Keyboard_entry(); //讀入文件后返回鍵盤錄入 }int main() {Company bus;bus.welcome(); }

總結

以上是生活随笔為你收集整理的公交车管理系统的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 国产在线播 | 午夜a区 | 伊人影院亚洲 | 成人午夜精品 | 97干在线| 免费av电影网址 | 激情视频久久 | 欧美日韩福利视频 | 99re这里有精品 | 自拍 偷拍 欧美 | 色婷婷久久一区二区三区麻豆 | 国产美女免费无遮挡 | 日本少妇网站 | 日韩综合色 | 国产精品一卡二卡三卡 | 色桃网| 四虎国产精品永久免费观看视频 | 国产农村妇女毛片精品久久麻豆 | 禁止18在线观看 | 白石茉莉奈黑人 | 看av网址 | 亚洲欧美精品一区 | 黑丝袜av| 一级黄色片免费 | 99精品国产一区 | 日本变态折磨凌虐bdsm在线 | 一级黄在线观看 | 成人网在线观看 | 日韩欧美国产激情 | 人人妻人人澡人人爽欧美一区 | 黑人巨大精品欧美 | 成人福利在线观看 | 在线激情av | 99在线视频播放 | hs视频在线观看 | 国产成人久久精品77777综合 | 五月天激情电影 | 国产农村熟妇videos | 亚洲av激情无码专区在线播放 | 国产精品制服丝袜 | 国产网红在线观看 | 亚州黄色 | 999毛片 | 日韩一区二区三区三四区视频在线观看 | 亚洲免费一区 | 日韩精品网| 佐佐木明希电影 | 国产小视频自拍 | 久热综合 | 少妇人妻好深好紧精品无码 | 精品毛片 | 国产一区不卡在线 | 一本一道波多野结衣一区二区 | 国产视频一区二区三区在线 | 免费成人福利视频 | 青青草原国产在线 | 第一av| 日韩毛片网 | 天堂在线中文 | 中文字字幕第183页 欧美特级一级片 | 欧美日免费 | 午夜精品久久久久久久99老熟妇 | 中文字幕自拍 | 中文字幕第 | 免费黄色小说视频 | 久久久久久久久一区 | 视频一二三区 | 国产精品情侣呻吟对白视频 | 国产精品视频在线播放 | 亚洲av无码一区二区三区网址 | 国产91九色 | 国产资源第一页 | 亚洲一区美女 | 337p粉嫩大胆色噜噜狠狠图片 | 你懂的欧美 | 日本三级大全 | 中国女人内96xxxxx | 91精品国产综合久久久密臀九色 | 天堂影视在线观看 | 啪视频网站 | 国产区视频在线 | 精品少妇久久久 | 日本国产在线 | 爱吃波客今天最新视频 | 国产精品污 | 日本大胆欧美人术艺术 | 亚洲人视频 | 日本少妇videos高潮 | 精品久久精品久久 | 日韩一级片免费在线观看 | 久操伊人网 | 97超碰人人 | 日韩欧洲亚洲 | mm131国产精品 | 处破女av一区二区 | 国产最新精品 | 在线毛片网站 | 国产美女免费视频 | 老司机在线精品视频 |