版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p><b> C++課程設(shè)計(jì)報(bào)告</b></p><p> 課程設(shè)計(jì)題目:實(shí)現(xiàn)字符串的多種操作</p><p><b> 目錄</b></p><p><b> 引言</b></p><p><b> 1.設(shè)計(jì)目的</b></
2、p><p><b> 2.設(shè)計(jì)題目</b></p><p><b> 3.設(shè)計(jì)需求</b></p><p><b> 4.設(shè)計(jì)總體思路</b></p><p><b> 5.詳細(xì)設(shè)計(jì)</b></p><p><b>
3、 6.運(yùn)行結(jié)果</b></p><p><b> 7.課程設(shè)計(jì)心得</b></p><p><b> 8.參考文獻(xiàn)</b></p><p><b> 引言</b></p><p> 隨著人們生活水平的提高,計(jì)算機(jī)發(fā)展異常迅速。如今,計(jì)算機(jī)已經(jīng)深入到我們社會(huì)的
4、各個(gè)領(lǐng)域,計(jì)算機(jī)的使用也已不再局限于科學(xué)計(jì)算,它已進(jìn)入人類社會(huì)的各個(gè)領(lǐng)域并發(fā)揮著越來越重要的作用。通過計(jì)算機(jī)對(duì)各類信息的管理已經(jīng)成為一種高效、快捷的方式。而C++課程設(shè)計(jì)是我們實(shí)踐性教學(xué)環(huán)節(jié)之一,結(jié)合實(shí)際應(yīng)用的要求,使課程設(shè)計(jì)既覆蓋C++的知識(shí)點(diǎn),又接近工程實(shí)際需要。通過課程設(shè)計(jì)的綜合訓(xùn)練,培養(yǎng)我們實(shí)際分析問題、解決問題的能力,以及編程和動(dòng)手能力,最終目標(biāo)是通過課程設(shè)計(jì)這種形式,幫助學(xué)我們系統(tǒng)掌握C++這門課程的主要內(nèi)容,</p&
5、gt;<p> 本課程設(shè)計(jì)就是要求完成一個(gè)字符串類的設(shè)計(jì),使所設(shè)計(jì)出的字符串類具有包括復(fù)制、連接、比較、求子串、交換等功能</p><p><b> 1. 設(shè)計(jì)目的</b></p><p> 本設(shè)計(jì)通過定義字符串類來實(shí)現(xiàn)對(duì)字符串的復(fù)制、連接、比較、求子串、交換操作。首先定義一個(gè)字符串類,通過調(diào)用字符串類中成員函數(shù),對(duì)字符串類進(jìn)行復(fù)制,然后實(shí)現(xiàn)了字符
6、串類之間的連接,字符串類之間的相互比較,求一個(gè)字符串的子串,以及實(shí)現(xiàn)兩個(gè)字符串之間的交換。</p><p><b> 2. 設(shè)計(jì)題目</b></p><p> 實(shí)現(xiàn)字符串的多種操作</p><p><b> 3.設(shè)計(jì)需求</b></p><p> 通過本次的C++課程設(shè)計(jì),讓我們學(xué)會(huì)把書本上
7、的知識(shí)應(yīng)用到了實(shí)際中來。深入了解C++各類及相關(guān)函數(shù)的應(yīng)用,結(jié)合其它相關(guān)知識(shí),如軟件工程等,把所學(xué)知識(shí)融會(huì)貫通。對(duì)系統(tǒng)進(jìn)行功能需求分析,設(shè)計(jì)合理的數(shù)據(jù)結(jié)構(gòu)和系統(tǒng)框架,編程簡(jiǎn)練,程序功能齊全,能正確運(yùn)行。</p><p><b> 具有要求如下:</b></p><p> 1字符串類對(duì)象的輸入輸出 ;</p><p> 2.字符串的長(zhǎng)度 ;
8、</p><p> 3.字符串的連接 ;</p><p> 4.字符串的復(fù)制 ;</p><p> 5.字符串的比較 ;</p><p> 6.對(duì)其求子字符串 ;</p><p> 7.子串交換功能 ;</p><p><b> 4.設(shè)計(jì)總體思路</b><
9、/p><p> 我們?cè)O(shè)計(jì)一個(gè)程序,定義字符串類,包含存放字符串的字符數(shù)組和字符串中字符的個(gè)數(shù)。實(shí)現(xiàn)功能。設(shè)計(jì)菜單功能選擇,字符串的復(fù)制,連接,比較,求子串以及交換</p><p> Class string設(shè)計(jì)一個(gè)字符串類并構(gòu)造函數(shù),用strcpy,compare,strcat,Substring及exchange實(shí)現(xiàn)各種操作。</p><p> 5.詳細(xì)設(shè)計(jì)#i
10、nclude<iostream></p><p> #include<fstream></p><p> using namespace std;</p><p> char s[12];char s1[20];</p><p> const int MAX=5;</p><p> c
11、lass String</p><p><b> {</b></p><p><b> public:</b></p><p> char *str;</p><p> int length;</p><p> static void menun()</p&g
12、t;<p> { cout<<" ▲▼◥▲▼ ◥▲▼◥▲▼◥▲▼◥▲▼ ▲▼◥▲▼◥▲▼◥▲▼◥▲▼"<<endl;</p><p> cout<<"\t▲▼◥▲ 歡迎進(jìn)入字符串設(shè)計(jì) ▲▼◥▲\t"<<endl;</p>&
13、lt;p> cout<<" ▲▼◥▲▼ ◥▲▼◥▲▼◥▲▼◥▲▼ ▲▼◥▲▼◥▲▼◥▲▼◥▲▼ "<<endl;</p><p> cout<<" *^_^* 功能選擇菜單"<<endl;</p><p> cout<<" ★★★ 1 e
14、nter ,執(zhí)行字符串復(fù)制!!! ★★★ "<<endl;</p><p> cout<<" ★★★ 2 enter ,執(zhí)行字符串鏈接!!! ★★★"<<endl;</p><p> cout<<" ★★★ 3 enter ,執(zhí)行字符創(chuàng)比較!!!
15、 ★★★"<<endl;</p><p> cout<<" ★★★ 4 enter ,執(zhí)行字符串求字串!!! ★★★"<<endl;</p><p> cout<<" ★★★ 5 enter ,執(zhí)行字符串交換!!! ★★★"<<endl;
16、</p><p> cout<<" ★★★ 0 enter ,退出..."<<endl;</p><p><b> }</b></p><p> String(char *s,int l){</p><p> str=new char[strlen(s)+
17、1];</p><p> strcpy(str,s);</p><p><b> length=l;</b></p><p> cout<<"Construct String!\n";</p><p><b> }</b></p><p&g
18、t;<b> ~String()</b></p><p><b> {</b></p><p> delete[] str;</p><p><b> }</b></p><p> void Strcpy(char *s)</p><p>
19、{ char *x;</p><p> x=new char[strlen(s)+1];</p><p> strcpy(x,s);</p><p> delete[]str;</p><p><b> str=x;</b></p><p> length=strlen(x);<
20、;/p><p> cout<<str<<endl;</p><p><b> }</b></p><p> void Strcat(char *z)</p><p><b> {</b></p><p><b> char *a;<
21、;/b></p><p> a=new char[strlen(z)+length];</p><p> strcpy(a,str);</p><p> strcat(a,z);</p><p><b> str=a;</b></p><p> cout<<str<
22、;<endl;</p><p><b> }</b></p><p> void Compare(char *b)</p><p><b> {</b></p><p> cout<<"str compare b is:"<<strcmp(s
23、tr,b)<<endl;</p><p><b> }</b></p><p> char * substring(int start,int end)</p><p><b> {</b></p><p> char *newstr=new char[end-start+1];
24、</p><p> int i,j=0;</p><p> for(i=start;i<end;i++,j++)</p><p> newstr[j]=str[i];</p><p> newstr[j]='\0';</p><p> return newstr;</p>
25、<p><b> }</b></p><p> void exchange(char *e) </p><p><b> {</b></p><p> char *temp1,*temp2;</p><p> temp1=new char[length];</p&g
26、t;<p> temp2=new char[strlen(e)+1];</p><p> strcpy(temp1,str);</p><p> strcpy(temp2,e);</p><p> str=temp2;</p><p><b> e=temp1;</b></p>&l
27、t;p> cout<<e<<endl;</p><p> cout<<str<<endl;</p><p><b> }</b></p><p><b> };</b></p><p> void write(char s1[10])&
28、lt;/p><p><b> {</b></p><p> ofstream out;</p><p> out.open("f:\\filej.text",ios::out|ios::ate|ios::app);</p><p><b> if(!out)</b></
29、p><p><b> {</b></p><p> cout<<"Can not open file !"<<endl;</p><p><b> }</b></p><p> out<<s1<<"\n";&
30、lt;/p><p> out.close();</p><p><b> }</b></p><p> char * read()</p><p><b> {</b></p><p> ifstream in;</p><p> in.ope
31、n("f:\\filej.text",ios::in);</p><p><b> if(!in)</b></p><p><b> {</b></p><p> cout<<"Can not open file !"<<endl;</p>
32、<p> return NULL;</p><p><b> }</b></p><p><b> int k=1;</b></p><p><b> while(k)</b></p><p> { in.getline(s,12);k=0;}</p
33、><p> in.close();</p><p><b> return s;</b></p><p><b> }</b></p><p> char * read2(int k)</p><p><b> {</b></p>&
34、lt;p> ifstream in;</p><p> in.open("f:\\filej.text",ios::in);</p><p><b> if(!in)</b></p><p><b> {</b></p><p> cout<<&quo
35、t;Can not open file !"<<endl;</p><p> return NULL;</p><p><b> }</b></p><p><b> while(k)</b></p><p> { in.getline(s,12);k--;}</
36、p><p> in.close();</p><p><b> return s;</b></p><p><b> }</b></p><p> void write2(int n)</p><p><b> {</b></p>&
37、lt;p> ofstream out;</p><p> out.open("f:\\filej.text",ios::out|ios::ate|ios::app);</p><p><b> if(!out)</b></p><p><b> {</b></p><p
38、> cout<<"Can not open file !"<<endl;</p><p> //return NULL;</p><p><b> }</b></p><p><b> while(n)</b></p><p> { cha
39、r s1[20];</p><p><b> cin>>s1;</b></p><p> out<<s1<<"\n";</p><p><b> n--;}</b></p><p> cout<<"\t*
40、 文件創(chuàng)建成功!! *\t"<<endl;</p><p> out.close();</p><p><b> }</b></p><p> int main()</p><p><b> { </b></p><
41、;p> cout<<"\n C++課程設(shè)計(jì):字符串類的設(shè)計(jì)\n";</p><p> cout<<" ***********************************************\n";</p><p> cout<<"
42、 ***** 設(shè)計(jì)人:劉歡 *****\n";</p><p> cout<<" ***** 學(xué)號(hào):201110910422 *****\n";</p><p> cout<<" *****
43、 專業(yè):計(jì)算機(jī)科學(xué)與技術(shù)2班 *****\n";</p><p> cout<<" ***********************************************\n";</p><p> cout<<"\n"<<"請(qǐng)輸入字符串:\n";
44、</p><p> write2(MAX);</p><p> String::menun();</p><p> cout<<"輸入n選擇文件中第幾個(gè)字符串:\n";</p><p><b> int m;</b></p><p><b> c
45、in>>m;</b></p><p> cout<<"建立類的對(duì)象str1:\n";</p><p> String str1( read2(m),12);</p><p> cout<<str1.str<<endl;</p><p> int k;int
46、 j=1;</p><p> cout<<"請(qǐng)選擇操作<當(dāng)輸入為0時(shí)結(jié)束操作,退出... >\n";</p><p> while(j!=0&&cin>>k)</p><p><b> switch(k)</b></p><p><b&g
47、t; {case 1:</b></p><p> cout<<"輸入m選擇文件中第幾個(gè)字符串復(fù)制:\n";</p><p><b> cin>>m;</b></p><p> str1.Strcpy(read2(m));write(str1.str);</p>&l
48、t;p> cout<<"復(fù)制后的字符串:";</p><p> cout<<str1.str <<endl;</p><p><b> break;</b></p><p><b> case 2:</b></p><p> c
49、out<<"輸入m選擇文件中第幾個(gè)字符串鏈接:\n";</p><p><b> cin>>m;</b></p><p> str1.Strcat(read2(m));</p><p> write(str1.str);</p><p> cout<<&qu
50、ot;連接后的字符串:"<<str1.str<<endl;</p><p><b> break;</b></p><p><b> case 3:</b></p><p> cout<<"輸入m選擇文件中第幾個(gè)字符串進(jìn)行比較:\n";</p&g
51、t;<p><b> cin>>m;</b></p><p> str1.Compare(read2(m));</p><p><b> break;</b></p><p><b> case 4:</b></p><p> cout<
52、;<"下面開始求子串\n";</p><p><b> int m,n;</b></p><p> cout<<"請(qǐng)輸入需要取子串的起始與結(jié)束位置: \n";</p><p> cin>>m>>n;</p><p> cout&l
53、t;<"所求子串為: ";</p><p> cout<<str1.substring(m,n)<<endl;</p><p><b> break;</b></p><p><b> case 5:</b></p><p> cout&
54、lt;<"輸入m選擇文件中第幾個(gè)字符串進(jìn)行交換:\n";</p><p><b> cin>>m;</b></p><p> str1.exchange(read2(m)) ;</p><p><b> break;</b></p><p><b&g
55、t; case 6:</b></p><p> default: cout<<"你輸入的功能序號(hào)有誤,請(qǐng)重新輸入!!"<<endl;</p><p><b> case 0:</b></p><p><b> j=0;</b></p><p
56、> cout<<"謝謝使用,退出字符串設(shè)計(jì)....\n";</p><p><b> break;</b></p><p><b> }</b></p><p><b> return 0;</b></p><p><b>
57、; }</b></p><p><b> 6.運(yùn)行結(jié)果</b></p><p><b> 7.課程設(shè)計(jì)心得</b></p><p> 首先,這次課程設(shè)計(jì)使我深刻感受到平日書本上看似簡(jiǎn)單的理論知識(shí)在真正派上用場(chǎng)的時(shí)候當(dāng)中所涵蓋的學(xué)問是那么多。理論與實(shí)踐的距離之間我們今天的努力還只是一個(gè)開始。只有理論知識(shí)沒
58、有實(shí)踐經(jīng)驗(yàn)是不可能成為一名出色的軟件設(shè)計(jì)師的。理論是實(shí)踐的基礎(chǔ),實(shí)踐是對(duì)所學(xué)知識(shí)的鞏固與提高,只有理論與實(shí)踐相結(jié)合才能真正掌握知識(shí)。設(shè)計(jì)思想是很重要的,沒有一個(gè)人能說自己對(duì)于一個(gè)問題考慮得面面具到,一個(gè)再成功的個(gè)人也離不開一個(gè)優(yōu)秀的團(tuán)體。所以只有通過研究出來的設(shè)計(jì)思想才是清晰的、全面的,這是一個(gè)好的程序最基本的要求,也是我們成功的決定性因素。</p><p> 雖然這次設(shè)計(jì)我做的不是很成功,但是我通過了自己的努
59、力完成了這次設(shè)計(jì),使我增強(qiáng)動(dòng)手能力的同時(shí)也提高了我的基礎(chǔ)文化知識(shí)。使我不再單調(diào)的只會(huì)看課本上的東西而不會(huì)運(yùn)用,讓我懂得了學(xué)而會(huì)用的道理。在以后的學(xué)習(xí)中,不再懈怠自己,努力讓自己變得更優(yōu)秀!</p><p><b> 8.參考文獻(xiàn)</b></p><p> C++程序設(shè)計(jì)教程(修訂版)錢能著</p><p> 面向?qū)ο蟪绦蛟O(shè)計(jì)(C++語言)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 課程設(shè)計(jì)--字符串的操作
- 課程設(shè)計(jì)--- 字符串排序
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)--字符串的操作
- 課程設(shè)計(jì)--字符串類
- c++課程設(shè)計(jì)實(shí)驗(yàn)報(bào)告---字符串操作
- c++課程設(shè)計(jì)--字符串類的設(shè)計(jì)與實(shí)現(xiàn)
- 字符串處理系統(tǒng)課程設(shè)計(jì)
- c語言課程設(shè)計(jì)--字符串類
- 課程設(shè)計(jì)--查找字符串中的指定字符
- C++課程設(shè)計(jì)實(shí)驗(yàn)報(bào)告---字符串操作.doc
- c++課程設(shè)計(jì)---字符串類的設(shè)計(jì)
- c++課程設(shè)計(jì)報(bào)告--字符串處理
- 微機(jī)課程設(shè)計(jì)--字符串動(dòng)畫加速減速
- c語言課程設(shè)計(jì)(字符串函數(shù)包)
- 匯編課程設(shè)計(jì)-字符串查找與替換
- 微機(jī)原理課程設(shè)計(jì)---字符串動(dòng)畫顯示
- c課程設(shè)計(jì)---字符串處理系統(tǒng)
- 微機(jī)原理課程設(shè)計(jì)--字符串分類統(tǒng)計(jì)
- php字符串操作函數(shù)
- cmd批處理替換字符串、截取字符串、擴(kuò)充字符串
評(píng)論
0/150
提交評(píng)論