2023年全國碩士研究生考試考研英語一試題真題(含答案詳解+作文范文)_第1頁
已閱讀1頁,還剩40頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、<p>  面向?qū)ο蟪绦蛘n程設(shè)計</p><p>  (2012/2013學(xué)年第一學(xué)期第20周)</p><p><b>  指導(dǎo)教師: </b></p><p>  班級:計算機科學(xué)與技術(shù)(1)班</p><p><b>  學(xué)號: </b></p><p>&l

2、t;b>  姓名:***</b></p><p>  面向?qū)ο蟪绦蛘n程設(shè)計任務(wù)書</p><p>  【題目】電影院自動售票機</p><p><b>  【目的】</b></p><p>  通過設(shè)計一個小型電影院的自動售票系統(tǒng),訓(xùn)練綜合運用所學(xué)知識處理實際問題的能力,強化面向?qū)ο蟮某绦蛟O(shè)計理念,使自

3、己的程序設(shè)計與調(diào)試水平有一個明顯的提高。</p><p><b>  【要求】</b></p><p>  1、每個學(xué)生必須獨立完成;</p><p>  2、課程設(shè)計時間為1周;</p><p>  3、設(shè)計語言采用C++;</p><p>  4、學(xué)生有事離校必須請假。課程設(shè)計期間,無故缺席按

4、曠課處理;缺席時間達四分之一以上者,未按規(guī)定上交實驗報告的學(xué)生,其成績按不及格處理。</p><p><b>  【內(nèi)容簡介】 </b></p><p>  有一個小型的電影院,這個電影院只有一個放映廳,廳里有10排座位,每排10個座位。這個電影院從早上8:00開始營業(yè),每2小時放映一部電影,營業(yè)至次日凌晨2點結(jié)束。這個電影院現(xiàn)在打算使用自動售票機,來讓觀眾自己購票。

5、現(xiàn)在請你為這個自動售票機編寫一個程序,使得這個自動售票機能夠正確工作。</p><p><b>  【考核標(biāo)準(zhǔn)】</b></p><p>  1、能夠正確出售某一場次,某一座位的票,成績≥60;</p><p>  2、能夠統(tǒng)計每一場次的出票情況,成績≥70;</p><p>  3、能夠統(tǒng)計每一天每一場次的出票情況,成

6、績≥80;</p><p>  4、能夠考慮不同場次的票價,不同座位的票價,界面設(shè)計友好,成績≥90。</p><p>  請仔細考慮這個題目中出現(xiàn)的各個實體,考慮如何保存數(shù)據(jù)。</p><p>  【工作內(nèi)容及工作計劃】</p><p>  面向?qū)ο蟪绦蛘n程設(shè)計</p><p><b>  目 錄&l

7、t;/b></p><p><b>  題目</b></p><p><b>  需求分析</b></p><p><b>  系統(tǒng)結(jié)構(gòu)圖</b></p><p><b>  類的設(shè)計</b></p><p><b>

8、;  程序代碼與說明</b></p><p><b>  運行結(jié)果與分析</b></p><p><b>  心得與體會</b></p><p><b>  一、題目</b></p><p><b>  【題目】</b></p>

9、<p><b>  電影院自動售票機</b></p><p><b>  【目的】</b></p><p>  通過設(shè)計一個小型電影院的自動售票系統(tǒng),訓(xùn)練綜合運用所學(xué)知識處理實際問題的能力,強化面向?qū)ο蟮某绦蛟O(shè)計理念,使自己的程序設(shè)計與調(diào)試水平有一個明顯的提高。</p><p><b>  【要求】&l

10、t;/b></p><p>  1、每個學(xué)生必須獨立完成;</p><p>  2、課程設(shè)計時間為1周;</p><p>  3、設(shè)計語言采用C++;</p><p>  4、學(xué)生有事離校必須請假。課程設(shè)計期間,無故缺席按曠課處理;缺席時間達四分之一以上者,未按規(guī)定上交實驗報告的學(xué)生,其成績按不及格處理。</p><

11、p><b>  【內(nèi)容簡介】 </b></p><p>  有一個小型的電影院,這個電影院只有一個放映廳,廳里有10排座位,每排10個座位。這個電影院從早上8:00開始營業(yè),每2小時放映一部電影,營業(yè)至次日凌晨2點結(jié)束。這個電影院現(xiàn)在打算使用自動售票機,來讓觀眾自己購票?,F(xiàn)在請你為這個自動售票機編寫一個程序,使得這個自動售票機能夠正確工作。</p><p>&l

12、t;b>  需求分析</b></p><p>  電影院自動售票機用戶使用時,必須先登錄或者注冊,不同的用戶登錄后進入不同功能界面,管理員賬戶系統(tǒng)默認“CFY”,密碼:“1101”,顧客賬戶,由顧客自己注冊,然后每個顧客會有一個以賬戶名為文件名的txt文本,文本中第一行存賬戶密碼,接下來,存的是用戶的訂票信息。管理員賬戶則不用建立相應(yīng)的文本,只有有一個MovieInfo.txt用來存儲影片信息即

13、可。</p><p>  電影院自動售票機主要功能可分為兩個板塊:1、管理員板塊 2、售票板塊。</p><p>  管理員板塊擁有最高權(quán)限,可對電影的信息進行修改,比如:錄入(input)、顯示(show)、查找(search)、修改(change)、刪除(del);而售票系統(tǒng)則只進行售票(book)和退票(refund)。</p><p>  顧客板塊擁有最小權(quán)

14、限,只能對影片的預(yù)定(book)和退訂(refund)兩項功能。</p><p><b>  三、系統(tǒng)結(jié)構(gòu)圖</b></p><p><b>  系統(tǒng)的結(jié)構(gòu)圖如下:</b></p><p>  管理員賬戶無法注冊,系統(tǒng)默認賬戶名:CFY,密碼:1101。</p><p>  顧客無論是注冊還是登錄成

15、功,都會自動轉(zhuǎn)入售票模塊,然后由用戶進行相應(yīng)的選擇。</p><p>  管理員登錄成功后,系統(tǒng)會自動進入管理板塊,在進入管理板塊時,先通過read()把MovieInfo.txt中的數(shù)據(jù)讀入管理員類中自定義的vector中,然后管理員可實現(xiàn)對影片的諸多操作,</p><p>  錄入功能:根據(jù)影訊錄入新的電影信息。</p><p>  顯示功能:將電影的播放時間與

16、系統(tǒng)時間比較,以判斷電影是否已經(jīng)播放或正在播放。</p><p>  查找功能:有按電影名稱查詢和按播放時間查詢兩種查詢方式。</p><p>  修改功能:可對影片的每個屬性進行修改。</p><p>  刪除功能:通入輸入要刪除的影片名,通過vector自身的刪除函數(shù)erase()。</p><p>  管理員退出后,系統(tǒng)調(diào)用save()

17、函數(shù),把vector中的數(shù)據(jù)寫入文件MovieInfo.txt,MovieInfo.txt的打開方式為清空。</p><p>  顧客登錄或注冊成功后,系統(tǒng)自動進入售票板塊,顧客可進行訂票與退票兩項操作。</p><p>  訂票功能:系統(tǒng)先分別沖MovieInfo.txt中和用戶文本中讀入相應(yīng)的數(shù)據(jù)到customer的vector容器P中和User的vector容器Q中,然后通過預(yù)定,得

18、到相應(yīng)的訂票信息。結(jié)束訂票時,把兩個容器中的數(shù)據(jù)更新到兩個文本中,并清空容器中的數(shù)據(jù)。</p><p>  退票功能:同樣需要先從文本中讀入信息,然后通過P Q兩容器中的數(shù)據(jù),先將Q容器中的信息輸出到屏幕,可直觀得到已定的票的情況,然后根據(jù)P Q兩容器中的數(shù)據(jù)信息,對所要退的票進行判斷,判斷能否退票。最后同樣更新文件中的數(shù)據(jù),清空P Q容器中的數(shù)據(jù)。</p><p><b>  

19、類的設(shè)計</b></p><p>  首先設(shè)計一個電影信息Ticket類作為基類:</p><p>  class Ticket</p><p><b>  {</b></p><p>  protected:</p><p>  char MovieName[20];</p&g

20、t;<p>  double price;</p><p>  double discount;</p><p><b>  int num;</b></p><p><b>  int year;</b></p><p>  int month;</p><p&g

21、t;<b>  int day;</b></p><p><b>  int hour;</b></p><p>  int minute;</p><p><b>  int rest;</b></p><p>  bool map[10][10];</p>&

22、lt;p><b>  };</b></p><p>  基類Ticket包含了影片的所有基本信息,以便被管理員Manager類和顧客Custom類繼承。</p><p>  用戶信息User類:</p><p>  class User</p><p><b>  {</b></p>

23、;<p>  char name[20];</p><p><b>  int year;</b></p><p>  int month;</p><p><b>  int day;</b></p><p><b>  int hour;</b></p&

24、gt;<p>  int minute;</p><p><b>  int n;</b></p><p>  int Seat[10][10];</p><p><b>  };</b></p><p>  User類中包含了用戶訂票的信息,方便在Custom類中建立相應(yīng)的數(shù)據(jù)容器。

25、</p><p>  管理員Manager類:</p><p>  class Manager :public Ticket</p><p><b>  {</b></p><p>  vector<Ticket> P;</p><p>  vector<Ticket>::

26、 iterator pos;</p><p>  static string UserName;</p><p>  static string Password;</p><p><b>  public:</b></p><p>  void input();</p><p>  void s

27、how();</p><p>  void search();</p><p>  void change();</p><p>  void del();</p><p>  void read();</p><p>  void save();</p><p>  string getUse

28、rName(){return UserName;}</p><p>  string getPassword(){return Password;}</p><p>  bool cmp(Ticket a,Ticket b);</p><p><b>  };</b></p><p>  管理員Manager類由Tick

29、et類派生,主要包含一個Ticket容器和對基類Ticket數(shù)據(jù)處理的功能函數(shù)。</p><p>  顧客Custom類:</p><p>  class Customer :public Ticket</p><p><b>  {</b></p><p>  vector<Ticket> P;</p

30、><p>  vector<User> Q;</p><p>  vector<Ticket>:: iterator pos;</p><p>  vector<User>:: iterator pos1;</p><p><b>  public:</b></p><

31、p>  void book(char IDName[]);</p><p>  void refund(char IDName[]);</p><p><b>  };</b></p><p>  顧客Custom類 同樣繼承于Ticket,類中主要包含一個Ticket的vector容器P及其迭代器pos和User的vector容器Q已經(jīng)

32、迭代器pos1;和兩個帶參功能函數(shù)book(char [ ])和defund(char []);</p><p>  界面Interface類:</p><p>  class Interface</p><p><b>  {</b></p><p><b>  public:</b></p

33、><p>  void display();</p><p>  void IntroduceFace();</p><p>  void ManagerFace();</p><p>  void CustomerFace();</p><p><b>  };</b></p><

34、;p>  界面Interface類中的四個函數(shù)分別顯示不同的界面,display()為登錄界面,IntroduceFace();為歡迎界面,ManagerFace();為管理員功能界面,CustomerFace();顧客功能界面。</p><p><b>  菜單Menu類:</b></p><p>  class Menu</p><p&g

35、t;<b>  {</b></p><p><b>  public:</b></p><p>  void manager(Interface cfy);</p><p>  void customer(Interface cfy,char IDName[] );</p><p><b>

36、;  };</b></p><p>  此類設(shè)計,是為了主函數(shù)顯示簡單明了,類中兩成員函數(shù) manager(Interface cfy);customer(Interface cfy,char IDName[] );分別顯示管理與售票的功能,接收功能選擇。</p><p>  賬戶操作UserInfo類:</p><p>  class UserInfo

37、</p><p><b>  {</b></p><p>  char IDName[30];</p><p>  char password[7];</p><p><b>  public:</b></p><p>  UserInfo();</p><

38、;p>  void Login();</p><p>  void Register();</p><p><b>  };</b></p><p>  此類實現(xiàn)對賬戶的注冊與登錄。其實管理員只能登錄,無法注冊!</p><p><b>  程序代碼與說明</b></p><

39、;p><b>  一、功能函數(shù):</b></p><p><b>  1、注冊</b></p><p>  //——————————————注冊——————————————</p><p>  void UserInfo::Register()</p><p><b>  {<

40、/b></p><p>  char id[30];</p><p><b>  while(1)</b></p><p><b>  {</b></p><p>  cout<<"請輸入您要注冊的用戶名:\n";</p><p>  g

41、ets(IDName);</p><p>  cout<<"請輸入您要注冊的密碼(6位):\n";</p><p>  gets(password);</p><p>  if(strcmp(IDName,"CFY")==0) //保證不能注冊管理員賬戶</p><p><b>

42、  {</b></p><p>  cout<<"CFY為管理員賬戶,您不能注冊!請重新注冊"<<endl;</p><p><b>  continue;</b></p><p><b>  }</b></p><p>  strcpy(id

43、,IDName);</p><p>  strcat(IDName,".txt");</p><p>  ifstream iFile(IDName,ios::in);</p><p>  if(!iFile){</p><p>  ofstream oFile(IDName,ios::out|ios::app);<

44、/p><p>  oFile.write((char *) &password,sizeof(password));</p><p>  oFile.close();</p><p>  cout<<id<<"注冊成功,系統(tǒng)即將為您轉(zhuǎn)入購票系統(tǒng)"<<endl<<endl;</p>

45、<p>  for(int i=1;i<=3;i++)</p><p><b>  {</b></p><p>  cout<<i<<"秒……"<<endl;</p><p>  Sleep(1000);</p><p><b>  }&l

46、t;/b></p><p>  system("cls");</p><p><b>  Menu com;</b></p><p>  Interface cfy;</p><p>  com.customer(cfy,IDName);</p><p><b>

47、;  break;</b></p><p><b>  }</b></p><p><b>  else{</b></p><p>  cout<<"對不起,您注冊的賬戶名已存在,請重新輸入一個新的賬戶名"<<endl;</p><p>  i

48、File.close();</p><p><b>  }</b></p><p><b>  }</b></p><p><b>  }</b></p><p><b>  2、登錄</b></p><p>  //——————

49、————————登錄——————————————</p><p>  void UserInfo::Login()</p><p><b>  {</b></p><p>  char pw[7];</p><p>  char id[30];</p><p><b>  Menu co

50、m;</b></p><p>  Interface cfy;</p><p>  cout<<"請輸入用戶名:\n";</p><p>  gets(IDName);</p><p>  cout<<"請輸入密碼:\n";</p><p> 

51、 gets(password);</p><p>  strcpy(id,IDName);</p><p>  strcat(IDName,".txt");</p><p>  ifstream iFile(IDName,ios::in);</p><p>  if(!iFile)</p><p>

52、<b>  {</b></p><p>  if(strcmp(IDName,"CFY.txt")==0&&strcmp(password,"1101")==0)</p><p><b>  {</b></p><p>  cout<<"歡迎管理

53、員CFY,正在為您轉(zhuǎn)入管理員系統(tǒng),請稍后……"<<endl;</p><p>  for(int i=1;i<=3;i++)</p><p><b>  {</b></p><p>  cout<<i<<"秒……"<<endl;</p><p

54、>  Sleep(1000);</p><p><b>  }</b></p><p>  com.manager(cfy);</p><p><b>  }</b></p><p><b>  else</b></p><p><b>

55、  {</b></p><p>  cout<<id<<" 用戶不存在!"<<endl</p><p>  <<"請重輸入正確用戶信息或進行注冊"<<"\n\n\n摁回車鍵繼續(xù)……"<<endl;</p><p>  get

56、char();</p><p>  system("cls");</p><p>  cfy.display();</p><p><b>  }</b></p><p><b>  }</b></p><p><b>  else</b&

57、gt;</p><p><b>  {</b></p><p>  iFile.read((char *) &pw,sizeof(pw));</p><p>  if(strcmp(pw,password)==0)</p><p><b>  {</b></p><p&g

58、t;  cout<<"歡迎顧客"<<id<<",正在為您轉(zhuǎn)入訂票系統(tǒng),請稍后……"<<endl;</p><p>  for(int i=1;i<=3;i++)</p><p><b>  {</b></p><p>  cout<<i&l

59、t;<"秒……"<<endl;</p><p>  Sleep(1000);</p><p><b>  }</b></p><p>  com.customer(cfy,IDName);</p><p><b>  }</b></p><p

60、><b>  else</b></p><p><b>  {</b></p><p>  cout<<"用戶名或密碼錯誤,請重新登錄!"<<endl</p><p>  <<"請重新登錄或退出注冊"<<"\n\n\n摁

61、回車鍵繼續(xù)……"<<endl;</p><p>  getchar();</p><p>  system("cls");</p><p>  cfy.display();</p><p><b>  }</b></p><p><b>  }

62、</b></p><p><b>  }</b></p><p><b>  管理員功能選擇:</b></p><p>  //——————————————選擇———————————————</p><p>  void Menu::manager(Interface cfy)</

63、p><p><b>  {</b></p><p>  system("cls");</p><p>  Manager boss;</p><p>  boss.read();</p><p>  int choice2;</p><p>  cfy.Ma

64、nagerFace();</p><p>  cin>>choice2;</p><p><b>  do</b></p><p><b>  {</b></p><p>  switch(choice2)</p><p><b>  {</b&g

65、t;</p><p><b>  case 1:</b></p><p>  boss.input();</p><p><b>  break;</b></p><p><b>  case 2:</b></p><p>  boss.show();&

66、lt;/p><p><b>  break;</b></p><p><b>  case 3:</b></p><p>  boss.search();</p><p><b>  break;</b></p><p><b>  case 4:

67、</b></p><p>  boss.change();</p><p><b>  break;</b></p><p><b>  case 5:</b></p><p>  boss.del();</p><p><b>  break;<

68、/b></p><p><b>  case 6:</b></p><p><b>  default:</b></p><p>  boss.save();</p><p>  system("pause");</p><p>  system(&

69、quot;cls");</p><p>  cfy.display();</p><p><b>  return;</b></p><p><b>  }</b></p><p>  getchar();</p><p>  getchar();</p>

70、;<p>  system("cls");</p><p>  cfy.ManagerFace();</p><p>  cin>>choice2;</p><p><b>  }</b></p><p><b>  while(1);</b><

71、/p><p><b>  }</b></p><p>  4、管理員——從文件中讀取</p><p>  //——————————————讀取———————————————</p><p>  void Manager::read()</p><p><b>  {</b><

72、;/p><p>  ifstream iFile("MovieInfo.txt",ios::in);</p><p>  /*if(!iFile)</p><p>  cout<<"原庫中不存在電影,請管理員添加"<<endl;*/</p><p><b>  Ticket

73、 s;</b></p><p>  iFile.read((char *)&s,sizeof(Ticket));</p><p>  while(!iFile.eof())</p><p><b>  {</b></p><p>  P.push_back(s);</p><p&g

74、t;  iFile.read((char *)&s,sizeof(Ticket));</p><p><b>  }</b></p><p>  iFile.close();</p><p><b>  }</b></p><p><b>  5、管理員——錄入</b>

75、</p><p>  //——————————————錄入——————————————</p><p>  void Manager::input()</p><p><b>  {</b></p><p>  system("cls");</p><p>  cout<

76、<"\n\n\n\t\t\t\t《錄入模塊》\n\n\n"<<endl;</p><p>  Ticket Movie;</p><p><b>  char ch;</b></p><p><b>  while(1)</b></p><p><b>

77、;  {</b></p><p>  int date[5],n;</p><p>  char na[20];</p><p>  double y1,y2;</p><p>  cout<<"\n請輸入日期(2013-01-21):";</p><p>  cin>

78、>date[0]>>ch>>date[1]>>ch>>date[2];</p><p>  Movie.setYear(date[0]);</p><p>  Movie.setMonth(date[1]);</p><p>  Movie.setDay(date[2]);</p><p>

79、;  cout<<"\n請輸入放映時間(12:30):";</p><p>  cin>>date[3]>>ch>>date[4];</p><p>  Movie.setHour(date[3]);</p><p>  Movie.setMinute(date[4]);</p>&l

80、t;p>  cout<<"\n請輸入場次:";</p><p><b>  cin>>n;</b></p><p>  Movie.setNum(n);</p><p>  cout<<"\n請輸入電影名稱:";</p><p><b

81、>  cin>>na;</b></p><p>  Movie.setMovieName(na);</p><p>  cout<<"\n請輸入電影票價:";</p><p><b>  cin>>y1;</b></p><p>  Movie.s

82、etPrice(y1);</p><p>  cout<<"\n請輸入會員折扣:";</p><p><b>  cin>>y2;</b></p><p>  Movie.setDiscount(y2);</p><p>  //Movie.setMap();</p>

83、;<p>  //Movie.setRest(100);</p><p>  P.push_back(Movie);</p><p>  cout<<"\n是否繼續(xù)添加(y/n):";</p><p><b>  cin>>ch;</b></p><p>  if

84、(ch=='y')</p><p><b>  continue;</b></p><p>  if(ch=='n')</p><p><b>  break;</b></p><p><b>  }</b></p><p

85、><b>  }</b></p><p><b>  6、管理員——顯示</b></p><p>  //——————————————顯示——————————————</p><p>  int Ticket::timecmp(int a[],int b[],int n)</p><p>&l

86、t;b>  {</b></p><p><b>  int i; </b></p><p>  for(i=0;i<n;i++)</p><p><b>  {</b></p><p>  if(a[i]>b[i])</p><p><b&

87、gt;  return 1;</b></p><p>  if(a[i]<b[i])</p><p>  return -1;</p><p><b>  }</b></p><p><b>  if(i==n)</b></p><p><b> 

88、 return 0;</b></p><p><b>  }</b></p><p>  void Manager::show()</p><p><b>  {</b></p><p>  system("cls");</p><p>  c

89、out<<"\n\n\n\t\t\t\t《顯示模塊》\n\n\n"<<endl;</p><p>  cout<<" 所有電影信息如下:"<<endl;</p><p>  cout<<"_____________________

90、__________________________________________________________"<<endl;</p><p>  cout<<"日----期\t時-間\t場次\t電影名稱\t票價\t折扣\t余票"<<endl<<endl;</p><p><b>  time_t

91、 t;</b></p><p>  struct tm *tim;</p><p>  t=time(NULL);//獲取當(dāng)前系統(tǒng)時間</p><p>  tim=localtime(&t);</p><p>  int array[5]={tim->tm_year+1900,tim->tm_mon+1,tim

92、->tm_mday,tim->tm_hour,tim->tm_min};</p><p>  pos=P.begin();</p><p>  for(pos=P.begin();pos!=P.end();pos++)</p><p><b>  {</b></p><p>  int datatime

93、[5];</p><p>  datatime[0]=pos->getYear();</p><p>  datatime[1]=pos->getMonth();</p><p>  datatime[2]=pos->getDay();</p><p>  datatime[3]=pos->getHour();<

94、/p><p>  datatime[4]=pos->getMinute();</p><p>  int r=timecmp(datatime,array,5);</p><p>  cout<<pos->getYear()<<"-"<<pos->getMonth()<<"-

95、"<<pos->getDay()<<"\t";</p><p>  cout<<pos->getHour()<<":"<<pos->getMinute()<<"\t";</p><p>  cout<<pos->g

96、etNum()<<"\t"<<pos->getMovieName()<<"\t\t";</p><p>  cout<<pos->getPrice()<<"\t"<<pos->getDiscount()<<"\t"<<po

97、s->getRest();</p><p><b>  if(r<=0)</b></p><p>  cout<<"\a(已播放!)" <<endl; </p><p><b>  else</b></p><p>  cout<<

98、endl; </p><p><b>  }</b></p><p><b>  }</b></p><p><b>  7、管理員——查找</b></p><p>  //——————————————查找——————————————</p><p> 

99、 void Manager::search()</p><p><b>  {</b></p><p>  system("cls");</p><p>  cout<<"\n\n\n\t\t\t\t《查找板塊》\n\n\n"<<endl;</p><p>

100、<b>  time_t t;</b></p><p>  struct tm *tim;</p><p>  t=time(NULL);//獲取當(dāng)前系統(tǒng)時間</p><p>  tim=localtime(&t);</p><p>  int array[5]={tim->tm_year+1900,tim

101、->tm_mon+1,tim->tm_mday,tim->tm_hour,tim->tm_min};</p><p>  int choice;</p><p><b>  int ok=0;</b></p><p><b>  do</b></p><p><b>

102、;  {</b></p><p>  cout<<endl<<"\t\t\t\t1.按影片名查找";</p><p>  cout<<endl<<"\t\t\t\t2.按日期查找";</p><p>  cout<<endl<<"\t

103、\t\t\t請輸入查找模式:";</p><p>  cin>>choice;</p><p>  if(choice!=1&&choice!=2)</p><p>  cout<<"\n\a\t\t\t\t選擇有誤!請選擇正確的查找模式。"<<endl;</p><

104、;p>  }while(choice!=1&&choice!=2);</p><p>  if(choice==1)</p><p><b>  {</b></p><p>  char na[20];</p><p>  cout<<"請輸入要查找的影片名\n";&

105、lt;/p><p><b>  cin>>na;</b></p><p>  for(pos=P.begin();pos!=P.end();pos++)</p><p><b>  {</b></p><p>  if(strcmp(pos->getMovieName(),na)==0

106、)</p><p><b>  {</b></p><p>  int datatime[5];</p><p>  datatime[0]=pos->getYear();</p><p>  datatime[1]=pos->getMonth();</p><p>  datatim

107、e[2]=pos->getDay();</p><p>  datatime[3]=pos->getHour();</p><p>  datatime[4]=pos->getMinute();</p><p>  int r=timecmp(datatime,array,5);</p><p>  cout<<

108、"\n 查找結(jié)果如下:"<<endl;</p><p>  cout<<"_______________________________________________________________________________"<<endl;</p><p>

109、;  cout<<"日----期\t時-間\t場次\t電影名稱\t票價\t折扣\t余票"<<endl<<endl;</p><p>  cout<<pos->getYear()<<"-"<<pos->getMonth()<<"-"<<pos->

110、;getDay()<<"\t";</p><p>  cout<<pos->getHour()<<":"<<pos->getMinute()<<"\t";</p><p>  cout<<pos->getNum()<<"

111、\t"<<pos->getMovieName()<<"\t\t";</p><p>  cout<<pos->getPrice()<<"\t"<<pos->getDiscount()<<"\t"<<pos->getRest();</

112、p><p><b>  if(r<=0)</b></p><p>  cout<<"\a(已播放?。?quot; <<endl; </p><p><b>  else</b></p><p>  cout<<endl; </p><

113、;p>  cout<<"\t\t\t\t該影片當(dāng)前預(yù)訂情況\n";</p><p>  for(int i=0;i<10;i++)</p><p><b>  {</b></p><p>  for(int j=0;j<10;j++)</p><p><b> 

114、 {</b></p><p>  if(pos->getMap(i,j)==0)</p><p>  cout<<"[空位] ";</p><p><b>  else</b></p><p>  cout<<"[有人] ";</p&

115、gt;<p><b>  }</b></p><p>  cout<<endl;</p><p><b>  }</b></p><p><b>  ok=1;</b></p><p><b>  }</b></p>

116、<p><b>  }</b></p><p><b>  if(!ok)</b></p><p>  cout<<"對不起,您查找的電影還未上映或者已經(jīng)下映"<<endl;</p><p><b>  }</b></p><

117、p>  else if(choice==2)</p><p><b>  {</b></p><p>  int date[3];</p><p>  int temp[3];</p><p><b>  char ch;</b></p><p>  cout<&

118、lt;"請輸入要查找的日期(年-月-日)"<<endl;</p><p>  cin>>date[0]>>ch>>date[1]>>ch>>date[2];</p><p>  for(pos=P.begin();pos!=P.end();pos++)</p><p><

119、;b>  {</b></p><p>  temp[0]=pos->getYear();</p><p>  temp[1]=pos->getMonth();</p><p>  temp[2]=pos->getDay();</p><p>  if(timecmp(temp,date,3)==0)<

120、/p><p><b>  {</b></p><p>  int datatime[5];</p><p>  datatime[0]=pos->getYear();</p><p>  datatime[1]=pos->getMonth();</p><p>  datatime[2]=

121、pos->getDay();</p><p>  datatime[3]=pos->getHour();</p><p>  datatime[4]=pos->getMinute();</p><p>  int r=timecmp(datatime,array,5);</p><p>  cout<<"

122、;\n 查找結(jié)果如下:"<<endl;</p><p>  cout<<"_______________________________________________________________________________"<<endl;</p><p>  co

123、ut<<"日----期\t時-間\t場次\t電影名稱\t票價\t折扣\t余票"<<endl<<endl;</p><p>  cout<<pos->getYear()<<"-"<<pos->getMonth()<<"-"<<pos->getD

124、ay()<<"\t";</p><p>  cout<<pos->getHour()<<":"<<pos->getMinute()<<"\t";</p><p>  cout<<pos->getNum()<<"\t&qu

125、ot;<<pos->getMovieName()<<"\t\t";</p><p>  cout<<pos->getPrice()<<"\t"<<pos->getDiscount()<<"\t"<<pos->getRest();</p>

126、<p><b>  if(r<=0)</b></p><p>  cout<<"\a(已播放?。?quot; <<endl; </p><p><b>  else</b></p><p>  cout<<endl; </p><p>

127、;  cout<<"\t\t\t\t該影片當(dāng)前預(yù)訂情況\n";</p><p>  for(int i=0;i<10;i++)</p><p><b>  {</b></p><p>  for(int j=0;j<10;j++)</p><p><b>  {<

128、;/b></p><p>  if(pos->getMap(i,j)==0)</p><p>  cout<<"[空位] ";</p><p><b>  else</b></p><p>  cout<<"[有人] ";</p>

129、<p><b>  }</b></p><p>  cout<<endl;</p><p><b>  }</b></p><p><b>  ok=1;</b></p><p><b>  }</b></p><

130、p><b>  }</b></p><p><b>  if(!ok)</b></p><p>  cout<<"對不起,您所查找的當(dāng)天沒有影訊"<<endl;</p><p><b>  }</b></p><p><b

131、>  }</b></p><p><b>  8、管理員——刪除</b></p><p>  //——————————————刪除——————————————</p><p>  void Manager::del()</p><p><b>  {</b></p>

132、<p>  system("cls");</p><p>  cout<<"\n\n\n\t\t\t\t《刪除模塊》\n\n\n"<<endl;</p><p>  char na[20];</p><p>  cout<<"\n請輸入需要刪除的影片名:";&l

133、t;/p><p><b>  cin>>na;</b></p><p>  pos=P.begin();</p><p><b>  int ok=0;</b></p><p>  for(pos=P.begin();pos!=P.end();pos++)</p><p&

134、gt;<b>  {</b></p><p>  if(strcmp(pos->getMovieName(),na)==0)</p><p><b>  {</b></p><p>  P.erase(pos);</p><p>  cout<<endl<<"

135、\t\t\t\t刪除成功!\n";</p><p><b>  ok=1;</b></p><p><b>  }</b></p><p><b>  }</b></p><p><b>  if(!ok)</b></p><

136、p><b>  {</b></p><p>  cout<<"\n\a\t\t\t\t未找到結(jié)果,刪除失?。n"<<endl;</p><p>  system("pause");//任意鍵繼續(xù) </p><p><b>  return;</b>&l

137、t;/p><p><b>  }</b></p><p><b>  }</b></p><p>  9、管理員——數(shù)據(jù)存入文本</p><p>  //——————————————存儲——————————————</p><p>  void Manager::save()&l

138、t;/p><p><b>  {</b></p><p>  ofstream oFile("MovieInfo.txt",ios::out|ios::app);</p><p>  if(!oFile)</p><p><b>  {</b></p><p>

139、;  cout<<"Can not open the file!"<<endl;</p><p><b>  return ;</b></p><p><b>  }</b></p><p>  for(int i=0;i<P.size();i++)</p>

140、<p>  oFile.write((char *) &P[i],sizeof(Ticket));</p><p>  oFile.close();</p><p>  P.clear();</p><p><b>  }</b></p><p><b>  10、顧客功能選擇</b&g

141、t;</p><p>  //——————————————選擇——————————————</p><p>  void Menu::customer(Interface cfy,char IDName[])</p><p><b>  {</b></p><p>  system("cls");&l

142、t;/p><p>  cfy.CustomerFace();</p><p>  Customer ct;</p><p>  int choice2;</p><p><b>  do{</b></p><p>  cin>>choice2;</p><p>  

143、switch (choice2)</p><p><b>  {</b></p><p><b>  case 1:</b></p><p>  ct.book(IDName);</p><p><b>  break;</b></p><p><

144、b>  case 2:</b></p><p>  ct.refund(IDName);</p><p><b>  break;</b></p><p><b>  case 3:</b></p><p><b>  default:</b></p&g

145、t;<p>  system("pause");</p><p>  system("cls");</p><p>  cfy.display();</p><p><b>  return ;</b></p><p><b>  }</b>&l

146、t;/p><p>  getchar();</p><p>  getchar();</p><p>  system("cls");</p><p>  cfy.CustomerFace();</p><p><b>  }</b></p><p><

147、;b>  while(1);</b></p><p><b>  }</b></p><p><b>  11、顧客——訂票</b></p><p>  //——————————————訂票——————————————</p><p>  void Customer::book(c

148、har IDName[])</p><p><b>  {</b></p><p>  system("cls");</p><p>  cout<<"\n\n\n\t\t\t\t《訂票模塊》\n\n\n"<<endl;</p><p>  ifstream

149、 iFile1(IDName,ios::in);</p><p>  if(!iFile1)</p><p><b>  {</b></p><p>  cout<<"賬戶不存在"<<endl;</p><p><b>  return ;</b><

150、/p><p><b>  }</b></p><p>  char s1[7];</p><p>  iFile1.read((char *) &s1,sizeof(s1));</p><p><b>  User a;</b></p><p>  iFile1.read

151、((char *)&a,sizeof(User));</p><p>  while(!iFile1.eof())</p><p><b>  {</b></p><p>  Q.push_back(a);</p><p>  iFile1.read((char *)&a,sizeof(User));&l

152、t;/p><p><b>  }</b></p><p>  iFile1.close();</p><p>  ifstream iFile("MovieInfo.txt",ios::in);</p><p>  if(!iFile)</p><p><b>  {&l

溫馨提示

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

評論

0/150

提交評論