C程序設(shè)計(jì)源代碼_第1頁
C程序設(shè)計(jì)源代碼_第2頁
C程序設(shè)計(jì)源代碼_第3頁
免費(fèi)預(yù)覽已結(jié)束,剩余10頁可下載查看

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、/C+ 課程設(shè)計(jì) #include<iostream> #include<fstream> #include<string> #include<iomanip> #include <stdio.h>/數(shù)據(jù)流輸入、輸出/文件輸入、輸出 /字符串操作/ 參數(shù)化輸入 /輸出using namespace std;/命名空間class Bus_inforint No; static int Bus_No;對象的數(shù)目 char start20; char end20; int Bus_order; int all_tickted; int ti

2、ckted;int Hour_start,Minute_start,Hour_end,Minute_end;/班次號/ 靜態(tài)數(shù)據(jù)成員,統(tǒng)計(jì)當(dāng)前所有的 Bus_infor/起始站/終點(diǎn)站/班次號/額定載量/已定票人數(shù)/起始時(shí)間int Hour,Minute;public:Bus_infor(); Bus_infor();Bus_infor *next;int Get_no()return No; void input(); void input(ifstream & is); void output();void output(ofstream & os);void GetTim

3、e_start();void GetTime_end(); void addr();int Get_all_tickted()return all_tickted; int Get_tickted()return tickted; char *Get_start() return start; char *Get_end()return end; void GetTime();void ShowTime();int Get_bus_order()return Bus_order;/行車時(shí)間/返回班次號/錄入函數(shù)/讀取函數(shù)/輸出函數(shù)/寫入函數(shù)/錄入發(fā)車時(shí)間/錄入到站時(shí)間/錄入起始站/返回額定載量

4、/返回已定票人數(shù)/返回發(fā)車時(shí)間/返回到站時(shí)間/獲取行車時(shí)間/顯示行車時(shí)間/ 返回當(dāng)前所有的 Bus_infor 對象的數(shù)目/訂票函數(shù)/退票函數(shù)void Order_tickt(int n); void Unorder_tickt(int n);int Bus_infor:Bus_No=1;void Bus_infor:input()cout<<"ttt 按提示輸入 :"<<endl; cout<<"tt 輸入車次 : " cin>>Bus_order;cout<<"請輸入車的額定載量:

5、";cin>>all_tickted;GetTime_start();GetTime_end();GetTime();ShowTime();addr();char a;cout<<" 是否清空售票 (y/n)?"<<endl;cin>>a; if(a='y'|a='Y') tickted=0;void Bus_infor:input(ifstream & is)is>>Bus_order>>start>>end>>all_tick

6、ted>>tickted>>Hour_start>>Minute_start>>Hour_end >>Minute_end>>Hour>>Minute;is.get(); void Bus_infor:output()cout<<" 客車基本信息如下 :"<<endl;cout<<" 車次 發(fā)車時(shí)間 到站時(shí)間 行車時(shí)間 額定載量 已訂票人數(shù) 起點(diǎn)站 終點(diǎn)站 "<<endl;cout<<setw(4)<<

7、; Bus_order <<setw(8)<<Hour_start<<":"<< Minute_start<<setw(8)<< Hour_end<<":"<< Minute_end<<setw(8)<<Hour<<":"<<Minute<<setw(10)<<all_tickted <<setw(10)<<tickted <<set

8、w(11)<<start<<setw(10)<<end<<endl;void Bus_infor:output(ofstream & os)os<<setw(6)<<Bus_order <<setw(15)<<start <<setw(6)<<end <<setw(15)<<all_tickted <<setw(15)<<tickted <<setw(15)<<Hour_start <<

9、;setw(15)<<Minute_start <<setw(15)<<Hour_end <<setw(15)<<Minute_end <<setw(15)<<Hour <<setw(15)<<Minute <<endl;void Bus_infor:GetTime_start()int NewH=0,NewM=0; cout<<" 請輸入發(fā)車時(shí)間: "<<endl; cin>>NewH>>NewM;Hour

10、_start=NewH;Minute_start=NewM;void Bus_infor:GetTime_end()int NewH=0,NewM=0; cout<<" 請輸入到站時(shí)間: "<<endl; cin>>NewH>>NewM;Hour_end=NewH; Minute_end=NewM;void Bus_infor:GetTime() if(Minute_end>=Minute_start) Minute=(Minute_end-Minute_start); Hour=(Hour_end-Hour_start

11、);elseMinute=(Minute_end-Minute_start+60);Hour=(Hour_end-Hour_start-1);void Bus_infor:ShowTime()cout<<" 顯示行車時(shí)間 "<<endl; cout<<Hour<<":"<<Minute<<endl;Bus_infor:Bus_infor()No=Bus_No+;tickted=0;Bus_infor:Bus_infor() Bus_No-; void Bus_infor:addr()

12、cout<<" 請輸入起點(diǎn)站與終點(diǎn)站: "<<endl;char a20;char b20;cin>>a;cin>>b;strcpy(start,a);strcpy(end,b); void Bus_infor:Order_tickt(int n)tickted=tickted+n;void Bus_infor:Unorder_tickt(int n)tickted=tickted-n;class Bus_linkpublic:Bus_link()head=new Bus_infor;head->next=NULL;ke

13、y=0;void input();/錄入車票信息void mend();/修改車票信息/查找函數(shù)void del();/刪除車票信息int find(Bus_infor *p,int num,char *pn);void found(); void show(); void Order();/查詢車票信息/顯示車票信息/訂購車票信息void Unorder();void save();void begin();void clear();char mainmenu();void setkey(int k) key=k; int getkey() return key;/推定車票信息/保存車票信息

14、 /初始化車票信息 /清楚函數(shù)/主菜單函數(shù)/設(shè)置系統(tǒng)修改標(biāo)志 /返回系統(tǒng)修改標(biāo)志/鏈表指針/系統(tǒng)修改標(biāo)志private:Bus_infor *head; int key;void Bus_link:input()Bus_infor *p,*p2=NULL; p=head; int n; while(p->next)p=p->next;while(n) p2=new Bus_infor;p2->input();p->next=p2; p2->next=NULL;p=p->next;Bus_link:setkey(1);cout<<"ttt

15、 按 1 繼續(xù),按 0 返回 : " cin>>n;if(!cin)throw string(" 數(shù)據(jù)輸入錯(cuò)誤 ");void Bus_link:Order()Bus_infor *p;cout<<" 確定購票 (y/n)?"<<endl; char X;cin>>X;if(X='y')int num;cout<<"ttt 輸入車次號 : " cin>>num;if( !fin d(&p, nu m,“")cout<

16、;<"tt 找不到你要定票的車輛的內(nèi)容 !"<<endl; return;cout<<" 輸入要定的票數(shù) "int n;cin>>n;p=p->next; if(p->Get_tickted()+n)<=p->Get_all_tickted() p->Order_tickt(n);cout<<" 謝謝使用 "<<endl;else cout<<" 對不起,沒有足夠的票數(shù)。"<<endl;else

17、if(X='n') cout<<" 謝謝使用 "<<endl;else cout<<" 輸入字符不確定 "<<endl;Bus_link:setkey(1);void Bus_link:Unorder()Bus_infor *p;cout<<" 確定退票 (y/n)?"<<endl;char X;cin>>X;if(X='y')int num;cout<<"ttt 輸入車次號 : "cin

18、>>num;if( !fin d(&p, nu m,“")cout<<"tt 找不到你要定票的車輛的內(nèi)容 !"<<endl; return;cout<<" 輸入要退的票數(shù) "int n;cin>>n;p=p->next;if(p->Get_tickted()-n)>=0) p->Unorder_tickt(n);else cout<<"對不起,數(shù)據(jù)出錯(cuò)! 。 "<<endl;else if(X='n&#

19、39;) cout<<" 謝謝使用 "<<endl;else cout<<"輸入字符不確定"<<endl;Bus_link:setkey(1); void Bus_link:found()Bus_infor *p;int num=-1,n=9;char n ame20="A"docout<<"tt1: 按車次查找 ,2:按終點(diǎn)站查找 : " cin>>n;while(n<1|n>2);if(n=1)cout<<"

20、;ttt 輸入車次 : "cin>>num;if(n=2)cout<<"ttt 輸入終點(diǎn)站 : "cin>>name;if(!find(&p,num,name)cout<<"tt 找不到你要查找的內(nèi)容 !"<<endl; return; int Bus_link:find(Bus_infor *p1,int num,char *pn) Bus_infor *p;p=head;int t=0;while(p->next)(*p1)=p;if( (p->next)-&g

21、t;Get_bus_order()=num|!strcmp( (p->next)->Get_end(),pn ) ) (p->next)->output(); t=1; break;p=p->next;return t; void Bus_link:del()Bus_infor *p,*p2;int num;cout<<"ttt 輸入車次號 : " cin>>num;if( !fin d(&p, nu m,“")!"<<endl;cout<<"tt 找不到你要

22、刪除的內(nèi)容 return;p2=p->next;p->next=p2->next;delete p2;Bus_link:setkey(1); void Bus_link:show()Bus_infor *p;p=head; while(p->next)(p->next)->output(); p=p->next;void Bus_link:mend()Bus_infor *p; int num=-1;char n ame20="A"cout<<"ttt 輸入車次號 : " cin>>num

23、;if( !find(&p,num,name) )!"<<endl;cout<<"tt 找不到你要修改的內(nèi)容 return;(p->next)->output();(p->next)->input();Bus_link:setkey(1);void Bus_link:save()Bus_infor *p;p=head;ofstream os("bus.txt",ios:out);if (Bus_link:getkey()=1)while(p->next)(p->next)->out

24、put(os); p=p->next;cout<<"ttt 文件已保存 ! "<<endl;Bus_link:setkey(0);void Bus_link:begin()Bus_infor *p,*p2;p=head;clear();long t;ifstream is("bus.txt",ios:in);if(!is)ofstream os("bus.txt",ios:out);os.close();return ;int num=-1; while(1)num=-1; t=is.tellg(); i

25、s>>num; is.seekg(t); if(num<0) is.close(); return;p2=new Bus_infor; p2->input(is); p->next=p2; p2->next=NULL; p=p->next;void Bus_link:clear()Bus_infor *p,*p2; p=head->next; while( p )p2=p; p=p->next; delete p2; char Bus_link:mainmenu()char n20;cout<<"nn- 歡迎使用車票管理系統(tǒng) -"<<endl<<endl;cout<<"1.錄入車票信息2.瀏覽車

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論