c++課程設(shè)計---網(wǎng)吧管理系統(tǒng)的設(shè)計_第1頁
已閱讀1頁,還剩11頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、<p>  C++課程設(shè)計報告 </p><p> ?。ㄔO(shè)計題目:網(wǎng)吧管理系統(tǒng)的設(shè)計) </p><p><b>  姓 名: </b></p><p><b>  專 業(yè):</b></p><p><b>  班 級:</b></p><p>

2、;<b>  指導(dǎo)老師: </b></p><p><b>  2010年9月</b></p><p><b>  目錄 </b></p><p>  1 課程設(shè)計目的…………………………………………………… </p><p>  2 項目要求與簡介……………………………………

3、…………… </p><p>  3 系統(tǒng)實現(xiàn)………………………………………………………… </p><p>  3.1 系統(tǒng)功能結(jié)構(gòu)與模塊劃分…………………………………. </p><p>  3.2 數(shù)據(jù)流圖……………………………………………………. </p><p>  3.3 系統(tǒng)采用的關(guān)鍵(難點)技術(shù)……………………………. <

4、;/p><p>  3.4 源程序清單…………………………………………………. </p><p>  4 測試運行的結(jié)果…………………………………………………. </p><p>  5 心得體會與進(jìn)一步的改進(jìn)……………………………………… </p><p>  6 參考書目…………………………………………………………</p>&l

5、t;p><b>  1 課程設(shè)計目的</b></p><p>  目標(biāo)是使學(xué)生了解可視化程序設(shè)計語言的基礎(chǔ)知識,掌握面向?qū)ο缶幊痰姆治鲈O(shè)計方法,以及與面向?qū)ο蠹夹g(shù)相關(guān)的一些軟件開發(fā)技術(shù),掌握在 VisualC++6環(huán)境下進(jìn)行可視化程序設(shè)計技術(shù)。通過實踐具體的項目,為他們進(jìn)一步開展相關(guān)領(lǐng)域的學(xué)習(xí)和科研打下良好的基礎(chǔ)。 </p><p><b>  2 項

6、目要求與簡介</b></p><p>  1、二進(jìn)制、八進(jìn)制、十進(jìn)制及十六進(jìn)制數(shù)的加、減、乘、除、乘方、取模等簡單計算 </p><p>  2、科學(xué)計算函數(shù),包括(反)正弦、(反)余弦、(反)正切、(反)余切、開方、指數(shù)等函數(shù)運行 </p><p>  4、具備歷史計算的記憶功能 </p><p>  5、對不正確的表達(dá)式能指出

7、其錯誤原因 </p><p>  6、整理上機(jī)步驟、完成實驗報告、提交可運行的程序,給出實驗數(shù)據(jù)和實驗結(jié)果。 </p><p><b>  3 系統(tǒng)實現(xiàn)</b></p><p>  3.1 系統(tǒng)功能結(jié)構(gòu)與模塊劃分</p><p><b>  網(wǎng)吧管理系統(tǒng)</b></p><p&g

8、t;<b>  Main()</b></p><p><b>  輸入用戶信息</b></p><p><b>  結(jié)束</b></p><p>  查詢 刪除 充值 顯示所有用戶 返回 </p><p>  直充

9、 通過合并其他用戶充值</p><p>  1 使用時間函數(shù)進(jìn)行時間記錄;</p><p>  struct tm*ptr; time_t m[100];</p><p><b>  2 建立用戶類;</b></p><p>  class Yong {</p><p>  public: Y

10、ong(string a="0",string b="0",int c=1){aa=a;bb=b;cc=(float)c;}</p><p>  string xianshiming(){return aa;}</p><p>  void xianshiyong(){cout<<"姓名"<<aa<&

11、lt;setw(10)<<"身份證號"<<bb<<setw(10)<<"余額/原有"<<cc<<endl;}</p><p>  Yong operator + (const Yong &c2) const ;</p><p><b>  float cc;&l

12、t;/b></p><p>  private: string aa,bb;</p><p><b>  };</b></p><p>  3 使用goto函數(shù)對函數(shù)進(jìn)行整體調(diào)控;</p><p>  switch (d){</p><p>  case 0: chaxun(p,i); go

13、to xinxin ; break;</p><p>  case 1: chongqian(p,i);goto xinxin; break;</p><p>  case 2: shanchu(p,i,n); goto huahua; break;</p><p>  case 3: c=1; goto huahua; break;</p><

14、;p>  case 4:i=i-1;for(t=0;t<=i;t++)</p><p>  p[t].xianshiyong();</p><p>  i=i+1; goto huahua ;break;</p><p>  case 5: return 0;</p><p><b>  }</b></

15、p><p>  4 整體建立 輸入 查詢 刪除 充值 函數(shù)進(jìn)行網(wǎng)吧管理;</p><p><b>  3.2 數(shù)據(jù)流圖</b></p><p> ?。ㄏ到y(tǒng)的數(shù)據(jù)流程圖,并進(jìn)行說明) </p><p>  輸出結(jié)果,并做記錄,等待下次輸入</p><p>  顯示出錯情況,等待用戶修改</p>

16、;<p><b>  求值 </b></p><p><b>  判斷表達(dá)式是否有錯</b></p><p><b>  輸入表達(dá)式</b></p><p><b>  出現(xiàn)錯誤,中斷掃描</b></p><p>  以一個編緝框接受用戶輸入

17、的表達(dá)式,輸入須用軟件提供的軟鍵盤。</p><p>  從輸入到計算的過程由一個按鍵觸發(fā),如“=”。</p><p>  出錯處理只分析表達(dá)式出錯。 </p><p>  歷史記錄中保存運算的表達(dá)式和其結(jié)果。 </p><p>  3.3 系統(tǒng)采用的關(guān)鍵(難點)技術(shù)</p><p> ?。?)使用時間函數(shù)對各個用戶的

18、余額進(jìn)行實時監(jiān)控;</p><p>  (2)通過使用重載函數(shù)進(jìn)行用戶合并;</p><p><b>  3.4 源程序清單</b></p><p>  (列出源代碼,注意格式要規(guī)范。代碼中有適當(dāng)?shù)淖⑨專?</p><p>  #include <iomanip></p><p>  

19、#include <iostream></p><p>  #include <ctime></p><p>  #include <string></p><p>  using namespace std;</p><p>  struct tm*ptr; time_t m[100];</p>

20、;<p>  class Yong {</p><p>  public: Yong(string a="0",string b="0",int c=1){aa=a;bb=b;cc=(float)c;}</p><p>  string xianshiming(){return aa;}</p><p>  v

21、oid xianshiyong(){cout<<"姓名"<<aa<<setw(10)<<"身份證號"<<bb<<setw(10)<<"余額/原有"<<cc<<endl;}</p><p>  Yong operator + (const Yong

22、&c2) const ;</p><p><b>  float cc;</b></p><p>  private: string aa,bb;</p><p><b>  };</b></p><p>  Yong Yong::operator + (const Yong &c2

23、)const {</p><p>  return Yong (aa,bb,cc+c2.cc);</p><p><b>  }</b></p><p>  void chaxun (Yong p[100],int &i){</p><p><b>  ++i;</b></p>

24、<p>  string a; int j,c; float d;</p><p>  cout<<"進(jìn)入查詢系統(tǒng),請輸入用戶姓名"<<endl;</p><p><b>  cin>>a;</b></p><p>  for(j=0;j<=i;j++)</p&g

25、t;<p>  if(a==p[j].xianshiming())</p><p>  {p[j].xianshiyong(); break;}</p><p>  m[i]=time(0);</p><p>  c=m[i]-m[j];</p><p>  d=(float)200/3600*c;</p><

26、;p>  cout<<"余額"<<p[j].cc-d<<endl;</p><p><b>  --i;</b></p><p><b>  }</b></p><p>  void shanchu(Yong p[100],int &i,int &

27、;n){</p><p>  string a; int j,k; float d,f; long c;</p><p>  if (n==0){</p><p>  cout<<"進(jìn)入刪除會員程序,請輸入用戶姓名"<<endl;</p><p><b>  cin>>a;&l

28、t;/b></p><p>  for(j=0;j<=i;j++)</p><p>  if(a==p[j].xianshiming())</p><p><b>  {</b></p><p>  p[j].xianshiyong();</p><p>  m[i]=time(0);

29、</p><p>  c=m[i]-m[j];</p><p>  d=(float)200/3600*c;</p><p>  f=p[j].cc-d;</p><p>  cout<<"找零"<<f<<setw(10)<<"謝謝"<<end

30、l;</p><p>  for(k=j;k<=i-1;k++)</p><p>  {p[k]=p[k+1]; }</p><p><b>  }</b></p><p><b>  }</b></p><p><b>  else </b>&l

31、t;/p><p>  for(k=n;k<=i-1;k++)</p><p>  {p[k]=p[k+1]; }</p><p><b>  --i;</b></p><p><b>  }</b></p><p>  void chongqian (Yong p[100]

32、,int &i){</p><p><b>  ++i;</b></p><p>  string a,b; int j,n,dd; float d;long c;</p><p>  cout<<"進(jìn)入充錢系統(tǒng),請輸入用戶姓名"<<endl;</p><p><

33、b>  cin>>a;</b></p><p>  cout<<"請輸入充值金額/若為0 則合并其他用戶";</p><p><b>  cin>>dd;</b></p><p>  for(j=0;j<=i;j++)</p><p>  

34、if(a==p[j].xianshiming())</p><p>  {p[j].xianshiyong();break;}</p><p>  if (dd!=0){</p><p>  m[i]=time(0);</p><p>  c=m[i]-m[j];</p><p>  d=(float)200/3600

35、*c;</p><p>  p[j].cc=p[j].cc+dd-d;</p><p>  p[j].xianshiyong(); </p><p><b>  --i;</b></p><p><b>  dd=1;</b></p><p><b>  }<

36、;/b></p><p>  else {cin>>b;</p><p>  for(n=0;n<=i;n++)</p><p>  if(b==p[n].xianshiming())</p><p>  {m[i]=time(0);</p><p>  c=m[i]-m[n];</p&

37、gt;<p>  d=(float)200/3600*c;</p><p>  p[n].cc=p[n].cc-d;</p><p>  p[j]=p[j]+p[n];</p><p>  if(j<n) shanchu(p,i,n);</p><p>  else if (j>n) {p[n]=p[j]

38、;</p><p><b>  n=j; </b></p><p>  shanchu(p,i,n);</p><p><b>  }</b></p><p><b>  }</b></p><p>  m[i]=time(0);</p>

39、<p>  c=m[i]-m[j];</p><p>  d=(float)200/3600*c;</p><p>  p[j].cc=p[j].cc-d;</p><p>  cout<<"刪除成功哈哈"<<endl;</p><p>  p[j].xianshiyong();</

40、p><p><b>  --i;</b></p><p><b>  }</b></p><p><b>  }</b></p><p>  int main(){</p><p>  string a,b; </p><p>  Y

41、ong p[100];</p><p>  int c=1,i=0,d,n=0,t;</p><p><b>  xinxin:</b></p><p><b>  huahua:</b></p><p>  cout<<"輸入0 0 0時進(jìn)入其他程序"<<

42、;endl;</p><p>  while(c!=0)</p><p><b>  {</b></p><p>  cin>>a>>b>>c;</p><p>  if(c<=0) cout<<"進(jìn)入其他系統(tǒng)/錢不夠無法建立用戶,謝謝合作"&l

43、t;<endl;</p><p>  m[i]=time(0);</p><p>  p[i]=Yong(a,b,c);</p><p><b>  if(c!=0)</b></p><p><b>  ++i;</b></p><p><b>  }<

44、/b></p><p>  cout<<"輸入0 進(jìn)入查詢系統(tǒng)"<<endl;</p><p>  cout<<"輸入1 進(jìn)入充值系統(tǒng)"<<endl;</p><p>  cout<<"輸入2 進(jìn)入結(jié)賬系統(tǒng)"<<endl;<

45、/p><p>  cout<<"輸入3 進(jìn)入 返回"<<endl;</p><p>  cout<<"輸入4 顯示所有用戶信息"<<endl;</p><p>  cout<<"輸入數(shù)字大于等于5 結(jié)束"<<endl;</p>

46、;<p><b>  cin>>d;</b></p><p>  switch (d){</p><p>  case 0: chaxun(p,i); goto xinxin ; break;</p><p>  case 1: chongqian(p,i);goto xinxin; break;</p>

47、<p>  case 2: shanchu(p,i,n); goto huahua; break;</p><p>  case 3: c=1; goto huahua; break;</p><p>  case 4:i=i-1;for(t=0;t<=i;t++)</p><p>  p[t].xianshiyong();</p>

48、<p>  i=i+1; goto huahua ;break;</p><p>  case 5: return 0;</p><p><b>  }</b></p><p><b>  return 0;</b></p><p><b>  }</b></

49、p><p><b>  4 測試運行的結(jié)果</b></p><p>  (測試過程中遇到的問題及解決方法,另外列出運行的結(jié)果,可用圖示的方式) </p><p><b>  開啟計算器如圖: </b></p><p>  顯示默認(rèn)開啟十進(jìn)制,A,B,C,D,E,F按鍵不可用。 </p>&

50、lt;p>  選擇進(jìn)制或制度,計算器相應(yīng)開啟相關(guān)按鍵。 </p><p>  由于使用UpdateData(0);,所以輸入框不允許鍵盤輸入,相對應(yīng)于出錯處理函數(shù)的判斷比較簡單。</p><p>  測試完畢,結(jié)果正確 </p><p>  5 心得體會與進(jìn)一步的改進(jìn)</p><p> ?。ㄗ约和ㄟ^該課程設(shè)計的收獲,存在的問題與新的看法

51、) </p><p>  通過此次VC++可視化界面編程課程設(shè)計,我了解了Visual C++6的安裝和基本使用方法,初步掌握了運用MFC添加控件以及映射控件消息等編程方法。計算器的設(shè)計基本實現(xiàn)了老師所要求的功能,同時還增添了各個進(jìn)制的運算的新功能。同時在設(shè)計過程中,對于計算器的功能還有許多不完善的地方,例如為了是出錯處理能夠更準(zhǔn)確地分析,只允許計算器按鍵輸入,不允許鍵盤輸入,因此還需要更多的設(shè)計來完善對于表達(dá)式

52、的處理;設(shè)計一開始是以C語言為基礎(chǔ)的,所以沒有用到多少C++中類的知識,這些需要在以后的學(xué)習(xí)中加以運用和實踐;界面風(fēng)格只是使用默認(rèn)的,沒有創(chuàng)新,這個需要在以后的設(shè)計中加以改進(jìn)。相比之前C語言和數(shù)據(jù)結(jié)構(gòu)的課程設(shè)計,此次可視化界面的課程設(shè)計讓自己在編程上的理解更深一層,逐步了解編程在實際中的運用,掌握了更多編程方法和思想,拓寬了知識面,為進(jìn)一步的學(xué)習(xí)繼續(xù)打牢根基。</p><p><b>  6參考書目與網(wǎng)

53、站</b></p><p>  (參考的資料與出處,包括網(wǎng)站地址) </p><p>  《C++程序設(shè)計》 作者:譚浩強(qiáng) 清華大學(xué)出版社</p><p>  《Visual C++6.0開發(fā)指南》 人民郵電出版社《Visual C++程序設(shè)計技巧與實例》作者:許福舒志 張威 等 出版社:中國鐵道出版社</p><p>  htt

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論