<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
本文範例為大家分享了C++實現地鐵自動售票系統的具體程式碼,供大家參考,具體內容如下
地鐵是當今城市較為流行的一種鐵路運輸的形式,地鐵能避免城市地面擁擠,充分利用空間,具有運量大、準時、正點率較其他公交高、速度快等優點。請設計一個簡易的、帶選單的地鐵自動售票機系統。
(1)設計一個地鐵路線類Router,包含路線編號,途中的各個站點。
(2)設計一個地圖類Map,可以顯示所有可以乘坐的地鐵站名,以及線路資訊。
(3)根據使用者輸入的起點和終點和人次資訊,可以自動計算應付金額;根據使用者輸入的金額,計算找零資訊。
#include <iostream> #include <vector> using namespace std; class Router { private: string port[100];//經過站點 int id;//路線編號 int count=0; //站點數目 public: void setId(int i) { id=i; } void addPort(string name) { port[count]=name; count++; } void getPort() { int i=0; for(i=0; i<count; i++) { cout<<"第"<<i+1<<"站:"; cout<<port[i]; cout<<endl; } } int check(string u,string v) { int d=0; for(int i=0; i<count; i++) { if(port[i]==u) { for(int j=0; j<count; j++) { if(port[j]==v) { // u v return ((i-j)>=0)? (i-j):(j-i); } } } } return 0; } }; class Map { private: vector<Router> r;//路線圖 public: double charge=2;//每站價格 void setCharge(double ch) { charge=ch; } void init() { Router temp1; temp1.setId(1); temp1.addPort("west"); temp1.addPort("mid1"); temp1.addPort("south"); r.push_back(temp1); Router temp2; temp2.setId(2); temp2.addPort("south"); temp2.addPort("mid2"); temp2.addPort("east"); r.push_back(temp2); Router temp3; temp3.setId(3); temp3.addPort("east"); temp3.addPort("mid3"); temp3.addPort("north"); r.push_back(temp3); Router temp4; temp4.setId(4); temp4.addPort("north"); temp4.addPort("mid4"); temp4.addPort("west"); r.push_back(temp4); } int buy(string start, string end) { int count=r.size(); int d=0; for(int i=0; i<count; i++) { Router temp=r[i]; d=temp.check(start,end); if(d>0) { cout<<"您需要乘坐"<<i+1<<"號線"<<endl; return d; } } return 0; } void show() { int count=r.size(); cout<<"本市地鐵線路圖如下:"<<endl; for(int i=0; i<count; i++) { cout<<i+1<<"號線:"<<endl<<endl; Router temp=r[i]; temp.getPort(); cout<<endl<<endl; } } }; void menu() { int m; Map map; map.init(); while(1) { cout<<endl<<endl<<endl; cout<<"----------歡迎來到地鐵售票系統-----------"<<endl; cout<<"----------1、路線查詢-----------"<<endl; cout<<"----------2、購票-----------"<<endl; cin>>m; if(m==1) { map.show(); } else if(m==2) { cout<<"請輸入起點:"<<endl; string s; cin>>s; cout<<"請輸入終點:"<<endl; string e; cin>>e; cout<<"請輸入人數:"<<endl; int c; cin>>c; int d=map.buy(s,e); if(d>0) { double rs=(double)c*(double)d*map.charge; cout<<"您需要支付的費用為:"; cout<<rs<<endl; cout<<"請輸入您支付的金額:"; double in=0; cin>>in; if(in>=rs) { cout<<"購票成功!"<<endl; cout<<"找零:"<<in-rs<<"元"<<endl; } else { cout<<"金額不足,購票失敗!"; } } else { cout<<"抱歉,請選擇其他交通!"; } } } } int main() { menu(); return 0; }
程式執行演示:
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支援it145.com。
相關文章
<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
综合看Anker超能充系列的性价比很高,并且与不仅和iPhone12/苹果<em>Mac</em>Book很配,而且适合多设备充电需求的日常使用或差旅场景,不管是安卓还是Switch同样也能用得上它,希望这次分享能给准备购入充电器的小伙伴们有所
2021-06-01 09:31:42
除了L4WUDU与吴亦凡已经多次共事,成为了明面上的厂牌成员,吴亦凡还曾带领20XXCLUB全队参加2020年的一场音乐节,这也是20XXCLUB首次全员合照,王嗣尧Turbo、陈彦希Regi、<em>Mac</em> Ova Seas、林渝植等人全部出场。然而让
2021-06-01 09:31:34
目前应用IPFS的机构:1 谷歌<em>浏览器</em>支持IPFS分布式协议 2 万维网 (历史档案博物馆)数据库 3 火狐<em>浏览器</em>支持 IPFS分布式协议 4 EOS 等数字货币数据存储 5 美国国会图书馆,历史资料永久保存在 IPFS 6 加
2021-06-01 09:31:24
开拓者的车机是兼容苹果和<em>安卓</em>,虽然我不怎么用,但确实兼顾了我家人的很多需求:副驾的门板还配有解锁开关,有的时候老婆开车,下车的时候偶尔会忘记解锁,我在副驾驶可以自己开门:第二排设计很好,不仅配置了一个很大的
2021-06-01 09:30:48
不仅是<em>安卓</em>手机,苹果手机的降价力度也是前所未有了,iPhone12也“跳水价”了,发布价是6799元,如今已经跌至5308元,降价幅度超过1400元,最新定价确认了。iPhone12是苹果首款5G手机,同时也是全球首款5nm芯片的智能机,它
2021-06-01 09:30:45