課程設(shè)計(jì)--字符串類(lèi)_第1頁(yè)
已閱讀1頁(yè),還剩12頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、<p><b>  信息科學(xué)與技術(shù)學(xué)院</b></p><p>  程序設(shè)計(jì)基礎(chǔ)課程設(shè)計(jì)報(bào)告</p><p>  題目名稱(chēng): 字符串類(lèi) </p><p>  學(xué)生姓名: 張 果 </p><p>  學(xué) 號(hào):

2、 2011508023 </p><p>  專(zhuān)業(yè)班級(jí): 計(jì)算機(jī)科學(xué)與技術(shù)2011(1)班 </p><p>  指導(dǎo)教師: 高 攀 </p><p>  完成日期:2012-7-2</p><p><b>  目錄</b

3、></p><p>  1.課程設(shè)計(jì)目的2</p><p>  2課程設(shè)計(jì)題目描述和要求3</p><p><b>  2.1課程題目3</b></p><p><b>  2.2課程要求3</b></p><p><b>  2.3流程圖3<

4、/b></p><p>  圖2-3 物理模型圖3</p><p><b>  3.詳細(xì)設(shè)計(jì)4</b></p><p><b>  3.1數(shù)據(jù)類(lèi)型4</b></p><p>  3.2主要模塊設(shè)計(jì)4</p><p>  3.2.1字符串比較4</p>

5、;<p>  3.2.2字符串連接:6</p><p>  3.3控制面板的設(shè)置7</p><p><b>  4運(yùn)行結(jié)果9</b></p><p>  5. 課程設(shè)計(jì)總結(jié)10</p><p>  6.參考書(shū)目:11</p><p><b>  1.課程設(shè)計(jì)目的&

6、lt;/b></p><p>  《C++程序設(shè)計(jì)》是計(jì)算機(jī)科學(xué)與技術(shù)專(zhuān)業(yè)的必修課。自己做一個(gè)課程設(shè)計(jì)是學(xué)習(xí)完本書(shū)后進(jìn)行的一次全面的綜合性練習(xí)。其目的在于加深對(duì)C++編程的理解,培養(yǎng)學(xué)生的實(shí)踐能力,促進(jìn)理論與實(shí)踐的結(jié)合。通過(guò)課程設(shè)計(jì),讓學(xué)生能夠熟練運(yùn)用C++進(jìn)行面向?qū)ο缶幊?,建立?duì)象模型,降低軟件的復(fù)雜性,改善軟件的重用性和維護(hù)性,提高軟件的生產(chǎn)效率,全面掌握面向?qū)ο缶幊碳夹g(shù)。</p><

7、;p>  通過(guò)課程設(shè)計(jì)了解自己通過(guò)一學(xué)年的學(xué)習(xí)C++這門(mén)課到底學(xué)的怎么樣,驗(yàn)證自己的學(xué)習(xí)成果,并進(jìn)一步發(fā)現(xiàn)自己的不足并且改正.</p><p>  2課程設(shè)計(jì)題目描述和要求</p><p><b>  2.1課程題目 </b></p><p><b>  字符串類(lèi)(數(shù)組型)</b></p><p

8、><b>  2.2課程要求</b></p><p>  計(jì)算字符串的長(zhǎng)度,初始化字符串,字符串比較,查找子串(從頭開(kāi)始或者從尾開(kāi)始),字符串連接等基本功能。</p><p><b>  2.3流程圖</b></p><p>  圖2-3 物理模型圖</p><p><b>  3.

9、詳細(xì)設(shè)計(jì)</b></p><p><b>  3.1數(shù)據(jù)類(lèi)型</b></p><p>  為設(shè)計(jì)的字符串(數(shù)組型)定義類(lèi):</p><p>  class Cstring</p><p><b>  {</b></p><p><b>  public:

10、</b></p><p>  Cstring();</p><p>  Cstring(char *s); </p><p>  void setValue(char *s); </p><p>  void setValue(string s); </p><p>  void setValue(Cstr

11、ing s); </p><p>  int getLength();</p><p>  int strComp( Cstring s);</p><p>  int subSearch(Cstring substr);</p><p>  int strCon( Cstring s);</p><p>  stri

12、ng getValue(){return str;}</p><p><b>  private:</b></p><p>  string str;</p><p>  int length;</p><p><b>  };</b></p><p>  為字符串類(lèi)功能的實(shí)

13、現(xiàn)定義的構(gòu)造函數(shù)、成員函數(shù)和變量。</p><p><b>  3.2主要模塊設(shè)計(jì)</b></p><p>  3.2.1字符串比較</p><p><b>  代碼:</b></p><p>  int Cstring::strComp( Cstring s)</p><p&g

14、t;<b>  { </b></p><p><b>  int i=0;</b></p><p>  while(str[i]==(s.getValue())[i] && i<length && i<s.getLength())</p><p><b>  i++;

15、 </b></p><p>  if(str[i]>s.getValue()[i])</p><p>  return 1; </p><p>  else if(str[i]<s.getValue()[i]) </p><p>  return -1; </p><p>  else retu

16、rn 0;</p><p><b>  }</b></p><p>  圖3-2-1 字符串的大小比較流程圖</p><p>  3.2.2字符串連接:</p><p><b>  代碼:</b></p><p>  int Cstring::strCon(Cstring s

17、)</p><p><b>  { </b></p><p>  length=length+s.getLength();</p><p>  char *pstr=str;</p><p>  str=new char[length+1];</p><p>  cout<<pstr

18、<<endl; </p><p>  strcpy(str,pstr); </p><p>  strcat(str,s.getValue()); </p><p>  delete pstr;</p><p>  str[length]=’\0’;</p><p>  return length;<

19、;/p><p><b>  }</b></p><p>  圖3-2-2字符串連接流程圖</p><p>  3.3控制面板的設(shè)置</p><p>  void state()</p><p><b>  { </b></p><p>  cout&l

20、t;<”**********字符串功能測(cè)試**********”<<endl</p><p>  <<” 0. 提示 “<<endl</p><p>  <<” 1. 初始化 “<<endl</p><p>  <<” 2. 計(jì)算長(zhǎng)度 “<<endl</p>

21、<p>  <<” 3. 字符串比較 “<<endl</p><p>  <<” 4. 查找子串 “<<endl</p><p>  <<” 5. 字符串連接 “<<endl</p><p>  <<” 6. 退出”<<endl</p>

22、<p>  <<”**********************************”<<endl <<endl;</p><p><b>  }</b></p><p>  在控制面板中對(duì)各個(gè)功能簡(jiǎn)單的數(shù)字輸入實(shí)現(xiàn)各功能的連接。 </p><p>  void Cstring::setValue

23、(char *s)</p><p><b>  { </b></p><p><b>  str=s;</b></p><p><b>  length=0;</b></p><p>  while(*(s++)!=’\0’)</p><p><

24、b>  {</b></p><p><b>  length++;</b></p><p><b>  }</b></p><p><b>  }</b></p><p>  void Cstring::setValue(string s)</p>

25、<p><b>  { </b></p><p><b>  str=s;</b></p><p><b>  length=0;</b></p><p>  while(s[length++]!=’\0’);</p><p><b>  length

26、--;</b></p><p><b>  }</b></p><p>  void Cstring::setValue(Cstring s)</p><p><b>  { </b></p><p>  str=s.getValue();</p><p>  

27、length=s.getLength(); </p><p>  對(duì)Cstring類(lèi)員函數(shù)進(jìn)行定義實(shí)現(xiàn)對(duì)字符串的設(shè)置功能.</p><p><b>  4運(yùn)行結(jié)果</b></p><p><b>  5. 課程設(shè)計(jì)總結(jié)</b></p><p>  在這個(gè)課程設(shè)計(jì)中,我知道了自己的很多不足之處,想把這

28、門(mén)課學(xué)好不是一朝一夕的事情,而是要長(zhǎng)期的堅(jiān)持學(xué)習(xí)。</p><p>  通過(guò)一年的學(xué)習(xí),我已經(jīng)掌握了部分編程知識(shí),并且自己可以編出一些小程序,但是這樣卻是不夠的,通過(guò)這次課程設(shè)計(jì),我了解到自己在C++編程方面到底存在哪些不足,在比較大的程序方面,自己根本不知道從何入手,在做這個(gè)課程設(shè)計(jì)期間,我請(qǐng)教了我們班學(xué)編程比較好的同學(xué),通過(guò)他們的幫助我把程序編完,程序的調(diào)試過(guò)程中出現(xiàn)了很多錯(cuò)誤,有許多低級(jí)錯(cuò)誤,我想這是因?yàn)槲?/p>

29、平時(shí)編程很少的原因,有一些我實(shí)在找不出來(lái)的錯(cuò)誤就讓同學(xué)指導(dǎo)一下,很快我自己編的程序就能運(yùn)行了,我的程序滿足了課程設(shè)計(jì)的要求。</p><p>  通過(guò)這次課程設(shè)計(jì)我懂得了很多很多,對(duì)于學(xué)習(xí)編程,一定要經(jīng)常的練習(xí),否則任你書(shū)本上的理論知識(shí)再好在編程的時(shí)候都是不行的,掌握不夠熟練,程序一大就不知道怎么辦了,所以我在以后的日子里一定要多多進(jìn)行一些C++方面的比較大的程序的設(shè)計(jì),鍛煉自己。</p><

30、p><b>  6.參考書(shū)目:</b></p><p>  [ 1 ] 譚浩強(qiáng),《C++程序設(shè)計(jì)》,北京,清華大學(xué)出版社,2006年</p><p>  [ 2 ] 錢(qián)能,《C++程序設(shè)計(jì)實(shí)驗(yàn)指導(dǎo)》,北京,清華大學(xué)出版社,2003年</p><p>  [ 3 ] 孫一平 王慶寶,《C++程序設(shè)計(jì)學(xué)習(xí)輔導(dǎo)》,北京,清華大學(xué)出版社,2

溫馨提示

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

評(píng)論

0/150

提交評(píng)論