版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、華北科技學(xué)院計算機(jī)學(xué)院綜合性實驗實驗報告課程名稱C+福序設(shè)計B實驗學(xué)期2017至2016學(xué)年第二學(xué)期學(xué)生所在系部網(wǎng)絡(luò)工程年級2015專業(yè)班級網(wǎng)絡(luò)B151學(xué)生姓名學(xué)號任課教師胡罷成績評定:1、類及類文件、函數(shù)文件設(shè)計:A(),B(),C(),D(),F()2、程序結(jié)構(gòu)合理,格式美觀:A(),B(),C(),D(),F()3、語法語義及算法準(zhǔn)確:A(),B(),C(),D(),F()4、實驗結(jié)果止確,運行界面:A(),B(),C(),D(),F()5、操作熟練,解析完整:A(),B(),C(),D(),F()5、報告規(guī)范度:A(),B(),C(),D(),F()實驗成績計算機(jī)學(xué)院制C+銀序設(shè)計課程
2、綜合性實驗報告開課實驗室:基礎(chǔ)實驗室三2018年6月5日實驗題目字符串類設(shè)計一、實驗?zāi)康恼莆疹惖母拍罴皹?gòu)造方法;掌握構(gòu)造函數(shù)的定義與使用;掌握友元的定義與使用;掌握運算符的重載定義與使用。掌握繼承和派生概念及應(yīng)用,掌握多態(tài)方法及應(yīng)用。二、設(shè)備與環(huán)境微型計算機(jī)、Windows系列操作系統(tǒng)、VisualC+等編輯軟件三、實驗內(nèi)容設(shè)計字符串類。重載字符串+(連接)、=(復(fù)制)、判斷(<、>、=),并編程實現(xiàn)求字符串長度、字符串轉(zhuǎn)換函數(shù)(小寫轉(zhuǎn)換為大寫及大寫轉(zhuǎn)換為小寫)函數(shù):MyString();MyString(char*ptr);MyString(constMyString&s
3、tr);MyStringoperator+(MyString&str);MyStringoperator=(MyString&str);MyStringoperator>(MyString&str);MyStringoperator<(MyString&str);MyStringoperator=(MyString&str);friendostream&operator<<(ostream&s,MyString&str);friendistream&operator>>(istream&
4、amp;s,MyString&str);MyStringLenString(MyString&str);MyStringLwrString(MyString&str);MyStringUprString(MyString&str);四、設(shè)計過程(包括類的數(shù)據(jù)成員、成員函數(shù)、友元函數(shù)及主函數(shù),寫出主要代碼)classMyStringpublic:MyString()p=NULL;MyString(char*str);MyString(constMyString&str);intlength();MyStringoperator+(MyString&
5、str);booloperator=(MyString&str);booloperator>(MyString&str);booloperator<(MyString&str);booloperator=(MyString&str);boolLwrString();boolUprString();friendostream&operator<<(ostream&s,MyString&str);friendistream&operator>>(istream&s,MyString&
6、str);private:char*p;char*getP();intmain()MyStringMyString1("ZOO"),MyString2(MyString1),MyString3;cout<<"MyString1="<<MyString1<<"MyString2="<<MyString2;cout<<"inputMyString3"<<endl;cin>>MyString3;cout<<"MySt
7、ring3="<<MyString3<<endl;cout<<"="<<()<<endl;cout<<"MyString3=MyString1resultis:"<<(MyString3=MyString1)<<endl;cout<<"MyString3="<<MyString3<<endl;MyStringMyString4=MyString1+MyString3;cout<<&q
8、uot;MyString1+MyString3="<<MyString4<<endl;cout<<"inputMyString3"<<endl;cin>>MyString3;cout<<"MyString1>MyString3resultis:"<<(MyString1>MyString3)<<endl;cout<<"MyString1<MyString3resultis:"<<(MySt
9、ring1<MyString3)<<endl;cout<<"MyString1=MyString2resultis:"<<(MyString1=MyString2)<<endl;cout<<"()resultis:"<<()<<endl;cout<<"MyString3="<<MyString3<<endl;cout<<"()resultis:"<<()<<
10、;endl;cout<<"MyString1="<<MyString1<<endl;1D:ccxieblocksSMy5tringMy£triXMyString1-700MyString2200input乂-m】史3清簿人字符第1以口結(jié)束;helloOWyStTingSihel1。MySttin63.leng:h_5MvString3-MvStringilncultih:1MvStrIng,3700MvStrinel+MStrine3=Z0QZWinputYv5rrinE請輸入字符串,以口結(jié)束:helioOMvstrincl
11、39;M'StrinpSresultis:0MvStrinFl-.MyStrinFresultis:1ifStringl=iySring2resultis:1MyString3.LprS:rirJresulTLs:1My玄正口二二HELLOMyStringl,LwrSsririgOresulis:1MyStringl-20oProctssreturned010eacutioi;tinze123-6匕Fuessanykey:oconti力no.摸狗輔入法全:五、實驗結(jié)果(運行界面)及測試數(shù)據(jù)分析MyString1("ZOO")調(diào)用構(gòu)造函數(shù)MyString:MyStri
12、ng(char*str),MyString2(MyString1)調(diào)用復(fù)制構(gòu)造函數(shù)MyString:MyString(constMyString&str),MyString3調(diào)用構(gòu)造函數(shù)MyString()。使用運算符重載函數(shù)¥俞入字符串對MyString3重新賦值為hello。MyString3調(diào)用成員函數(shù)intlength()求得字符申MyString3的長度。使用運算符重載函數(shù)=把MyStringl的值賦給MyString3。使用運算符重載函數(shù)+把字符串MyStringl和MyString3進(jìn)行連接。使用運算符重載函數(shù)和對字符串MyStringl和MyString3進(jìn)行
13、判斷。使用運算符重載函數(shù)=對字符串MyStringl和MyString2進(jìn)行判斷。MyString3調(diào)用函數(shù)UprString()把字符用小寫轉(zhuǎn)換為大寫。MyStringl調(diào)用函數(shù)LwrString()把字符串大寫轉(zhuǎn)換為小寫。六、實驗總結(jié)通過本學(xué)期的課程學(xué)習(xí)使我對C+®序設(shè)計有了初步的認(rèn)識,也讓我對面向?qū)ο笥辛艘粋€更深刻的理解。本系統(tǒng)雖然仍然存在著不足之處,但對于題目要求實現(xiàn)的功能均已實現(xiàn)。源代碼:#include<iostream>usingnamespacestd;classMyStringpublic:MyString()p=NULL;MyString(char*s
14、tr);MyString(constMyString&str);intlength。;MyStringoperator+(MyString&str);booloperator=(MyString&str);booloperator>(MyString&str);booloperator<(MyString&str);booloperator=(MyString&str);boolLwrString();boolUprString();friendostream&operator<<(ostream&s,My
15、String&str);friendistream&operator>>(istream&s,MyString&str);private:char*p;char*getP();MyString:MyString(char*str)p=str;MyString:MyString(constMyString&str)p=;char*MyString:getP()return p;intMyString:length()intlen=0;for(inti=0;pi!='0'i+)len+;returnlen;MyStringMySt
16、ring:operator+(MyString&str)char*p1,*p2,*p3;intlen1=0,len2=0;p1=p;p2=();len1=this->length();len2=();char*resultChar=newcharlen1+len2+1;p3=resultChar;for(inti=0;i<len1+len2+1;i+)resultChari='0'while(*p1!=''0')*p3=*p1;p3+;p1+;while(*p2!=''0')*p3=*p2;p3+;p2+;re
17、turnMyString(resultChar);boolMyString:operator=(MyString&str)char*p2,*p3;intlen2=0;P2=();len2=();char*resultChar=newcharlen2+1;for(inti=0;i<len2+1;i+)resultChari='0'p3=resultChar;while(*p2!='0')*p3=*p2;p3+;p2+;p=resultChar;returntrue;boolMyString:operator>(MyString&str)
18、char*p1,*p2;intlen1=0,len2=0;p1=p;p2=();len1=this->length();len2=();while(*p1!='0'&&*p2!=''0')if(*p1>*p2)returnfalse;p1+;p2+;if(*p1=''0')returnfalse;elsereturntrue;boolMyString:operator<(MyString&str)char*p1,*p2;intlen1=0,len2=0;p1=p;p2=();len1=th
19、is->length();len2=();while(*p1!='0'&&*p2!='0')if(*p1>*p2)returnfalse;elseif(*p1<*p2)returntrue;p1+;p2+;if(*p2='0')return false;elsereturntrue;boolMyString:operator=(MyString&str)intlen1=0,len2=0;char*p1,*p2;len1=this->length();len2=();p1=p;p2=();if(len
20、1=len2)while(*p1!=''0')if(*p1!=*p2)returnfalse;p1+;p2+;returntrue;elsereturnfalse;boolMyString:LwrString()/大轉(zhuǎn)小intlen=0;len=this->length();char*resultChar=newcharlen+1;resultCharlen='0'for(inti=0;i<len;i+)if(pi<65|pi>90)returnfalse;resultChari=pi;for(inti=0;i<len;i+
21、)resultChari=resultChari+32;p=resultChar;returntrue;boolMyString:UprString()/小轉(zhuǎn)大intlen=0;len=this->length();char*resultChar=newcharlen+1;resultCharlen='0'for(inti=0;i<len;i+)if(pi<97|pi>122)returnfalse;resultChari=pi;for(inti=0;i<len;i+)resultChari=resultChari-32;p=resultChar;
22、returntrue;ostream&operator<<(ostream&s,MyString&str)s<<<<endl;returns;istream&operator>>(istream&s,MyString&str)structmyStringcharstrl;myString*next;;intcount1=0,len=0;charstr2;myString*head=NULL,*myString1=NULL,*myString2=NULL;cout<<”請輸入字符串,以0結(jié)
23、束:"<<endl;cin>>str2;while(str2!='0')myString1=newmyString;myString1->str1=str2;myString1->next=NULL;if(count1=0)head=myString1;count1=1;elsemyString2->next=myString1;myString2=myString1;len+;cin>>str2;char*resultChar=newcharlen+1;resultCharlen='0'myStr
24、ing2=head;while(myString2!=NULL)resultChari=myString2->str1;myString2=myString2->next;i+;=resultChar;returns;intmain()MyStringMyString1("ZOO"),MyString2(MyString1),MyString3;cout<<"MyString1="<<MyString1<<"MyString2="<<MyString2;cout<<"inputMyString3"<<endl;cin>>MyString3;cout<<"MyString3="<<MyString3<<endl;cout<<"="<<()<<endl;cout<<"MyString3=MyString1resultis:"<<(M
溫馨提示
- 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. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 進(jìn)場培訓(xùn)課件
- 鋼絲網(wǎng)培訓(xùn)課件下載
- 雙分支選擇結(jié)構(gòu)if-else語句.課件x
- 上網(wǎng)安全課件
- 小學(xué)生禮儀教育課件視頻
- 《經(jīng)濟(jì)組織法》課件
- 藥品安全管理
- 2021年動車組機(jī)械師(地勤)技師題庫(含答案)
- 城市管理實務(wù)培訓(xùn)課件
- 清潔型培訓(xùn)課件
- 員工健康狀況篩查方案
- 執(zhí)行 如何完成任務(wù)的學(xué)問
- 6.2《青紗帳-甘蔗林》【中職專用】(高教版2023基礎(chǔ)模塊下冊)
- 二年級上每日一練(豎式+口算+應(yīng)用題)已排版直接打印
- 臀部惡性黑色素瘤的個案護(hù)理
- 小學(xué)英語新思維朗文2A知識清單總結(jié)期末復(fù)習(xí)資料
- 2023年房車設(shè)計工程師年度總結(jié)及下一年計劃
- 教師信息素養(yǎng)與數(shù)字教育培訓(xùn)
- 南非的地理特點
- 2023年硬件研發(fā)工程師年度總結(jié)及下年工作展望
- 教代會提案表格
評論
0/150
提交評論