![字符串測(cè)試系統(tǒng)課程設(shè)計(jì)_第1頁(yè)](http://file4.renrendoc.com/view/30ff5fda01a95667729f0007c6a5c6db/30ff5fda01a95667729f0007c6a5c6db1.gif)
![字符串測(cè)試系統(tǒng)課程設(shè)計(jì)_第2頁(yè)](http://file4.renrendoc.com/view/30ff5fda01a95667729f0007c6a5c6db/30ff5fda01a95667729f0007c6a5c6db2.gif)
![字符串測(cè)試系統(tǒng)課程設(shè)計(jì)_第3頁(yè)](http://file4.renrendoc.com/view/30ff5fda01a95667729f0007c6a5c6db/30ff5fda01a95667729f0007c6a5c6db3.gif)
![字符串測(cè)試系統(tǒng)課程設(shè)計(jì)_第4頁(yè)](http://file4.renrendoc.com/view/30ff5fda01a95667729f0007c6a5c6db/30ff5fda01a95667729f0007c6a5c6db4.gif)
![字符串測(cè)試系統(tǒng)課程設(shè)計(jì)_第5頁(yè)](http://file4.renrendoc.com/view/30ff5fda01a95667729f0007c6a5c6db/30ff5fda01a95667729f0007c6a5c6db5.gif)
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
PAGEPAGE21河南城建學(xué)院《面向?qū)ο蟪绦蛟O(shè)計(jì)》課程設(shè)計(jì)報(bào)告書設(shè)計(jì)題目:字符串測(cè)試系統(tǒng)指導(dǎo)老師:學(xué)號(hào): 姓名:同組人員:時(shí)間:年1月11日目錄TOC\o"1-3"\h\z第1章選題 11.1題目背景 11.2系統(tǒng)實(shí)現(xiàn)的具體分工 11.2.1標(biāo)題 11.3開發(fā)環(huán)境 1第2章設(shè)計(jì)內(nèi)容 22.1實(shí)現(xiàn)功能 22.2概要設(shè)計(jì)(涉及類的框圖) 22.3界面設(shè)計(jì) 2第3章系統(tǒng)實(shí)現(xiàn) 43.1涉及知識(shí)點(diǎn) 43.2系統(tǒng)運(yùn)行(主要運(yùn)行界面抓圖) 43.3源程序清單(關(guān)鍵代碼) 8第4章結(jié)束語(yǔ) 17第1章選題1.1題目背景隨著人們生活水平的提高,計(jì)算機(jī)發(fā)展異常迅速。如今,計(jì)算機(jī)已經(jīng)深入到我們社會(huì)的各個(gè)領(lǐng)域,計(jì)算機(jī)的使用也已不再局限于科學(xué)計(jì)算,它已進(jìn)入人類社會(huì)的各個(gè)領(lǐng)域并發(fā)揮著越來(lái)越重要的作用。通過(guò)計(jì)算機(jī)對(duì)各類信息的管理已經(jīng)成為一種高效、快捷的方式。本課程設(shè)計(jì)就是要求完成一個(gè)字符串類的設(shè)計(jì),使所設(shè)計(jì)出的字符串類有包括加法、復(fù)制、查找、交換等7大功能。1.2系統(tǒng)實(shí)現(xiàn)的具體分工系統(tǒng)僅設(shè)string類以及各種調(diào)用函數(shù),其功能是通過(guò)設(shè)置string的成員函數(shù),然后通過(guò)函數(shù)調(diào)用來(lái)實(shí)現(xiàn),用戶在選擇編號(hào)來(lái)實(shí)現(xiàn)對(duì)應(yīng)的功能,main()函數(shù)實(shí)現(xiàn)對(duì)程序主界面的引導(dǎo)。此次設(shè)計(jì),我主要負(fù)責(zé)功能中的前兩個(gè):1字符串加法2字符串復(fù)制。為了實(shí)現(xiàn)這兩個(gè)功能,在網(wǎng)上和圖書館找了各種資料,其中在實(shí)現(xiàn)字符串加法時(shí),我主要設(shè)置了string的成員函數(shù)append然后通過(guò)scl()調(diào)用append成員函數(shù)來(lái)實(shí)現(xiàn)字符串的家加法,字符串的復(fù)制也是通過(guò)csl2()來(lái)調(diào)用string的find成員函數(shù),這也是我們整個(gè)程序的宗旨之處,通過(guò)這次課程設(shè)計(jì),讓我有了很大的收獲,特別是在函數(shù)調(diào)用方面。1.2.1標(biāo)題字符串類的設(shè)計(jì)1.3開發(fā)環(huán)境VisualC++6.0機(jī)型:方正電腦 處理器名稱:Intel(R)Core(TM)2DuoCPUE7200@2.53GHz 硬盤驅(qū)動(dòng)器:WDCWD1600AAJS-22WAAO 系統(tǒng)內(nèi)存: 金士頓內(nèi)存2GB 顯示卡: NVIDIAGeFORCE9400GT 顯示器: 方正科技FG981-W9
第2章設(shè)計(jì)內(nèi)容2.1實(shí)現(xiàn)功能我們此次做的字符串類課程設(shè)計(jì)將要完成以下功能:1字符串加法;2.字符串復(fù)制;3.字符串查找;4.字符串交換;5.求子串6.字符串長(zhǎng)度;7.字符串比較大小。2.2概要設(shè)計(jì)(涉及類的框圖)字符串字符串類的設(shè)計(jì)字符串加法字符串復(fù)制字符串查找求子串字符串比較大小字符串長(zhǎng)度字符串交換2.3界面設(shè)計(jì)界面設(shè)計(jì)在工作流程上分為結(jié)構(gòu)設(shè)計(jì)、交互設(shè)計(jì)、視覺(jué)設(shè)計(jì)三個(gè)部分。結(jié)構(gòu)設(shè)計(jì)StructureDesign結(jié)構(gòu)設(shè)計(jì)也稱概念設(shè)計(jì)(ConceptualDesign),是界面設(shè)計(jì)的骨架。該字符串操作系統(tǒng)運(yùn)行時(shí)界面上的目錄體系和詞語(yǔ)定義易于用戶理解和操作,例如主界面的目錄體系包括1字符串的加法、2字符串的復(fù)制、3字符串的查找、4字符串的交換、5求子串、6字符串的比較、7字符串的長(zhǎng)度。其中沒(méi)實(shí)現(xiàn)一個(gè)功能,都會(huì)自動(dòng)提示使用者是否需要退出系統(tǒng),如果選擇y就會(huì)退出系統(tǒng),若選擇n就可以繼續(xù)使用。交互設(shè)計(jì)InteractiveDesign交互設(shè)計(jì)的目的是使產(chǎn)品讓用戶能簡(jiǎn)單使用。任何產(chǎn)品功能的實(shí)現(xiàn)都是通過(guò)人和機(jī)器的交互來(lái)完成的。該字符串操作系統(tǒng)中包含1)清楚的錯(cuò)誤提示,誤操作后,系統(tǒng)提供有針對(duì)性的提示。例如輸入功能選項(xiàng)錯(cuò)誤時(shí),系統(tǒng)會(huì)給出相應(yīng)的提示,以指導(dǎo)讀者進(jìn)行正確的操作。2)使用用戶的語(yǔ)言,而非技術(shù)的語(yǔ)言。3)方便退出。人的因素被作為設(shè)計(jì)的核心體現(xiàn)出來(lái)。視覺(jué)設(shè)計(jì)VisualDesign該管理系統(tǒng)界面清晰明了,在結(jié)構(gòu)設(shè)計(jì)的基礎(chǔ)上,參照目標(biāo)群體的心理模型和任務(wù)達(dá)成進(jìn)行了視覺(jué)設(shè)計(jì)。第3章系統(tǒng)實(shí)現(xiàn)3.1涉及知識(shí)點(diǎn)類封裝、面向?qū)ο蟪绦蛟O(shè)計(jì)、數(shù)組的應(yīng)用、循環(huán)語(yǔ)句的使用、過(guò)程化設(shè)計(jì)的思想等3.2系統(tǒng)運(yùn)行(主要運(yùn)行界面抓圖)主界面1.加法:2.復(fù)制:3.查找:4.字符串交換:5.求字符串:6.字符串的長(zhǎng)度:7.字符串大小比較:8.退出:3.3源程序清單(關(guān)鍵代碼)#include<iostream.h>constintN=200;intn,flag=0;classstring{ private: charstr[N]; public: string(char*p){copy(str,p);} //字符串的構(gòu)造 string(){}; voidcopy(char*s1,char*s2); voidcopy(char*s); voidstr_set(){cin>>str;} //字符串的輸入 voidstr_out(){cout<<str<<endl;} //字符串的輸出 voidappend(char*s); voidword_str(char*s,intn1,intn2); voidswap(char*s1,char*s2); intlength();voidStrcmp();intlength(chars[]); intfind(chars); };voidtishi(){ charyorn; cout<<"\n是否退出系統(tǒng)[Y/N]:"; cin>>yorn; cout<<endl; if(yorn=='y'||yorn=='Y')flag=1; else if(yorn=='n'||yorn=='N'){flag=0;cout<<"請(qǐng)?jiān)俅屋斎牍δ苄蛱?hào)\n";} else { flag=0; cout<<"輸入有誤,請(qǐng)重新輸入"<<endl; }}intstring::length()//字符串長(zhǎng)度{ inti=0; while(str[i++]!='\0'); returni-1; }intstring::length(chars[])//字符串長(zhǎng)度{ inti;for(i=0;i<200;i++){if(s[i]=='\0'){returni;}}}voidstring::Strcmp()//比較字符串大小{ chars1[N];//定義長(zhǎng)度為200的一維字符數(shù)組 chars2[N]; cout<<"你選擇測(cè)試的功能是比較大小\n"; cout<<"請(qǐng)輸入一串字符串字符串1:"<<endl;cin>>s1;cout<<"請(qǐng)輸入另一串字符串字符串2:"<<endl;cin>>s2; char*p1=s1; char*p2=s2; cout<<"輸出兩個(gè)字符串大小的比較結(jié)果:"<<endl;for(;*p1!='\0'||*p2!='\0';++p1,++p2){if((*p1-*p2)<0){ cout<<"字符串1小于字符串2"<<endl; break;} elseif((*p1-*p2)>0){ cout<<"字符串1大于于字符串2"<<endl; break;} } if(*p1=='\0'&&*p2=='\0') cout<<"兩個(gè)字符串大小相等!"<<endl;}intstring::find(chars)//字符串查找{intk=length(); for(inti=0;i<k;i++) if(str[i]==s) returni; return-1;}voidstring::swap(char*s1,char*s2)//字符串交換{ copy(str,s1); copy(s1,s2); copy(s2,str);}voidstring::copy(char*s1,char*s2) //字符串復(fù)制{ inti=0; while(s2[i]!='\0') { s1[i]=s2[i]; i++; } s1[i]='\0';}voidstring::copy(char*s) //字符串復(fù)制~{ inti=0; while(str[i]!='\0') { s[i]=str[i]; i++; } s[i]='\0';}voidstring::append(char*s)//加法{ inti=0,k=length(); while(s[i]!='\0') { str[k]=s[i]; k++;i++; } str[k]='\0';}voidstring::word_str(char*s,intn1,intn2)//求子串{ inti,k=0; for(i=n1-1;i<n2;i++) { str[k]=s[i]; k++; } str[k]='\0';} //功能列表voidmenu(){cout<<"\n*************歡迎使用四人組字符串測(cè)試系統(tǒng)***********\n";cout<<"下面是功能選擇菜單"<<endl;cout<<"**************************\n";cout<<"1)字符串加法*\n";cout<<"2)字符串復(fù)制*\n";cout<<"*3)字符串查找*\n";cout<<"*4)字符串交換*\n";cout<<"*5)求子串*\n";cout<<"*6)字符串的長(zhǎng)度*\n";cout<<"*7)字符串比較大小*\n"; cout<<"**************************\n"; cout<<"請(qǐng)你輸入測(cè)試相應(yīng)功能的序號(hào):"<<endl; }voidcs1()//測(cè)試功能1:加法{ chars1[N]; strings; cout<<"你選擇測(cè)試的功能是加法\n"; cout<<"請(qǐng)你隨意輸入一串字符并以回車結(jié)束:\n"; s.str_set(); cout<<"請(qǐng)你輸入一串你想連接的字符并以回車結(jié)束:\n"; cin>>s1; s.append(s1); cout<<"連接后的新字符串為:\n"; s.str_out(); tishi();}voidcs2() //測(cè)試功能2:復(fù)制{ strings; chars1[N]; cout<<"你選擇測(cè)試的功能是復(fù)制\n"; cout<<"請(qǐng)你隨意輸入一串字符以回車結(jié)束\n"; cout<<"你輸入的字符串:\n"; s.str_set(); cout<<"復(fù)制的字符串為:\n"; s.copy(s1); cout<<s1<<endl; tishi();}voidcs3() //測(cè)試功能3:查找{ strings; chars1[N];chars3; cout<<"你選擇測(cè)試的功能是查找\n"; cout<<"請(qǐng)輸入一串字符并以回車結(jié)束:\n"; cin>>s1; s=s1; cout<<"請(qǐng)輸入你要查找的字符并以回車結(jié)束:\n"; cin>>s3; if(s.find(s3)!=-1) cout<<"你所查字符下標(biāo)為:"<<s.find(s3)<<endl; elsecout<<"沒(méi)有找到你要查找的字符!\n"; tishi(); }voidcs4() //測(cè)試功能4:交換{ strings; chars1[N],s2[N]; cout<<"你選擇測(cè)試的功能是交換\n"; cout<<"請(qǐng)輸入第一個(gè)字符串s1:\n"; cin>>s1; cout<<"請(qǐng)輸入第二個(gè)字符串s2:\n"; cin>>s2; s.swap(s1,s2); cout<<"交換結(jié)果為:\n"; cout<<"s1="<<s1<<endl; cout<<"s2="<<s2<<endl; tishi();}voidcs5() //測(cè)試功能5:求子串{ strings; intn1,n2; chars1[N]; cout<<"你選擇測(cè)試的功能是求子串\n"; cout<<"請(qǐng)輸入母串并以回車結(jié)束:\n"; cin>>s1; cout<<"請(qǐng)輸入子串的始位置:\n"; cin>>n1; cout<<"請(qǐng)輸入子串的末位置:\n"; cin>>n2; cout<<endl; s.word_str(s1,n1,n2); cout<<"所取子串為:"; s.str_out();tishi(); }voidcs6(){strings;chars1[N];inta;cout<<"你選擇的測(cè)試是求字符串的長(zhǎng)度:\n";cout<<"請(qǐng)輸入一串字符并以回車結(jié)束:\n";cin>>s1;a=s.length(s1);cout<<"此字符串的長(zhǎng)度為:\n"<<a<<endl;tishi();}voidcs7(){ strings; s.Strcmp(); tishi();}voidcs(char&n1)//開\關(guān){ n=n1-'0'; switch(n) { case1: cs1();break; case2: cs2();break; case3: cs3();break; case4: cs4();break; case5: cs5();break; case6: cs6();break;case7: cs7();break; default:cout<<"你輸入的功能序號(hào)有誤,請(qǐng)重新輸入!!"<<endl; }}intmain(){ charn1; menu(); while(1) { if(flag) {cout<<"謝謝你的使用!歡迎再次使用呦!!\n";break;} cin>>n1; cs(n1); } return0;}第4章結(jié)束語(yǔ)這次課程設(shè)計(jì)歷經(jīng)一個(gè)星期左右,通過(guò)這一個(gè)星期的學(xué)習(xí),發(fā)現(xiàn)了自己的很多不足,自己知識(shí)的很多漏洞,也有很多聞所未聞的東西,理解實(shí)踐的能力急需提高。課程設(shè)計(jì)是培養(yǎng)學(xué)生綜合運(yùn)用所學(xué)知識(shí)、發(fā)現(xiàn)、提出分析和解決實(shí)際問(wèn)題,鍛煉實(shí)踐能力的重要環(huán)節(jié),是對(duì)學(xué)生實(shí)際工作能力的具體訓(xùn)練和考察過(guò)程.它為學(xué)生提供了一個(gè)既動(dòng)手又動(dòng)腦,獨(dú)立實(shí)踐的機(jī)會(huì),將課本上的理論知識(shí)和實(shí)際有機(jī)的結(jié)合起來(lái),鍛煉學(xué)生的分析解決實(shí)際問(wèn)題的能力。提高學(xué)生運(yùn)用所學(xué)知識(shí)解決實(shí)際問(wèn)題的能力。這次的課程設(shè)計(jì)也讓我看到了團(tuán)隊(duì)的力量,我認(rèn)為我們的工作是一個(gè)團(tuán)隊(duì)的工作,團(tuán)隊(duì)需要個(gè)人,個(gè)人也離不開團(tuán)隊(duì),必須發(fā)揚(yáng)團(tuán)結(jié)協(xié)作的精神。剛開始的時(shí)候,大家就按照分配好了的任務(wù)進(jìn)行,并且經(jīng)常聚在一起討論各個(gè)方案的可行性。在課程設(shè)計(jì)中只有一個(gè)人的知識(shí)是遠(yuǎn)遠(yuǎn)不夠的,必須要結(jié)合每個(gè)人的知識(shí),否則一個(gè)人的錯(cuò)誤,就有可能導(dǎo)致整個(gè)工作失敗。團(tuán)結(jié)協(xié)作是我們成功的一項(xiàng)非常重要的保證。而這次設(shè)計(jì)也正好鍛煉我們這一點(diǎn),這也是非常寶貴的。
回顧起此次課程設(shè)計(jì),至今我仍感慨頗多,起初在選題時(shí),做出決定是非常困難的,若選擇簡(jiǎn)單的題目,很有可能會(huì)很早就做完了,那樣豈不是浪費(fèi)了許多寶貴的時(shí)間;若選擇比較難的題目,感覺(jué)自己的能力可能不夠,不能完成課程設(shè)計(jì),最后,在我們組的商量之下選了字符串測(cè)試系統(tǒng)這個(gè)課題。定下了我們的目標(biāo)。接著我們都開始做了,我們明確的分工任務(wù),然后每個(gè)人都去完成自己的任務(wù),對(duì)于不會(huì)的,不太清楚的我們都會(huì)在一起討論,研究。通過(guò)本次課程設(shè)計(jì),我深刻認(rèn)識(shí)到了“理論聯(lián)系實(shí)際”的這句話的重要性,我不但知道了以前不知道的理論知識(shí),而且也鞏固了以前的知識(shí)。最重要的是在實(shí)踐中理解了書本上的知識(shí),明白了學(xué)以致用的真諦。也明白老師為什么要求我們做好這個(gè)課程設(shè)計(jì)的原因。他是為了教會(huì)我們?nèi)绾芜\(yùn)用所學(xué)的知識(shí)去解決實(shí)際的問(wèn)題,提高我們的動(dòng)手能力。在整個(gè)設(shè)計(jì)到按各種功能輸出以及調(diào)試過(guò)程中,我個(gè)人感覺(jué)調(diào)試部分是最
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年草編制工藝品項(xiàng)目可行性研究報(bào)告
- 2025年納米激光治療儀項(xiàng)目可行性研究報(bào)告
- 2025至2030年耐腐蝕襯里閘閥項(xiàng)目投資價(jià)值分析報(bào)告
- 2025年中國(guó)可溶性高纖沖劑市場(chǎng)調(diào)查研究報(bào)告
- 2025至2030年乳康片項(xiàng)目投資價(jià)值分析報(bào)告
- 2025年鋼印項(xiàng)目可行性研究報(bào)告
- 醫(yī)療設(shè)備供電系統(tǒng)的創(chuàng)新-分布式變電站技術(shù)
- Pull解析性能評(píng)估方法-深度研究
- 開局戰(zhàn)術(shù)適應(yīng)策略-深度研究
- 數(shù)字版權(quán)管理新策略-深度研究
- 房地產(chǎn)調(diào)控政策解讀
- 產(chǎn)前診斷室護(hù)理工作總結(jié)
- 2024-2025學(xué)年八年級(jí)數(shù)學(xué)人教版上冊(cè)寒假作業(yè)(綜合復(fù)習(xí)能力提升篇)(含答案)
- 《AP內(nèi)容介紹》課件
- 醫(yī)生定期考核簡(jiǎn)易程序述職報(bào)告范文(10篇)
- 安全創(chuàng)新創(chuàng)效
- 《中國(guó)糖尿病防治指南(2024版)》更新要點(diǎn)解讀
- 初級(jí)創(chuàng)傷救治課件
- 2024年社會(huì)工作者(中級(jí))-社會(huì)綜合能力考試歷年真題可打印
- 《處理人際關(guān)系》課件
- 五年級(jí)行程問(wèn)題應(yīng)用題100道
評(píng)論
0/150
提交評(píng)論