




已閱讀5頁(yè),還剩3頁(yè)未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
C+練習(xí)宋文軒 CS1011 U2010145463-1集合類的頭文件Set.h如下,請(qǐng)定義其中的函數(shù)成員。classSETint*set;/set 用于存放集合元素int card; /card 為能夠存放的元素個(gè)數(shù)int used; /used 為已經(jīng)存放的元素個(gè)數(shù)public:SET(int card);/card 為能夠存放的元素個(gè)數(shù)SET( )int size( ); /返回集合已經(jīng)存放的元素個(gè)數(shù)int insert(int v); /插入 v 成功時(shí)返回 1,否則返回 0int remove(int v); /刪除 v 成功時(shí)返回 1,否則返回 0int has(int v); /元素 v 存在時(shí)返回 1, 否則返回 0解: 程序如下:#include #include using namespace std;class SET int *set; int card; int used; public: SET(int card); SET(); int size(); int insert(int v); int remove(int v); int has(int v);SET:SET(int card) if(set=new intcard)SET:card=card; used=0;SET:SET() if(set) delete set; set=0; card=used=0; int SET:size() return used;int SET:insert(int v) if(used0) for(x=0;xused;x+) if(setx=v) used-; for(;xused;x+) setx=setx+1; return 1; return 0; return 0;int SET:has(int v) int x; for(x=0;xused;x+) if(setx=v) return 1; return 0;int main() return 0;3-5利用 C 的文件類型 FILE, 定義新的文件類 DOCU, DOCU 用構(gòu)造函數(shù)打開文件,用析構(gòu)函數(shù)關(guān)閉文件, 并提供同 fread, fwrite, ftell, fseek 類似的函數(shù)成員 read, write, tell,seek, 類 DOCU 的聲明如下. 請(qǐng)定義其中的函數(shù)成員.class DOCUchar *name;FILE *file;public:int read(void *ptr, int size, int n);int seek(long offset, int whence);int write(const void *ptr, int size, int n);long tell( );DOCU(const char *filename, const char *mode);DOCU( );解:程序如下:#include #include #include using namespace std;class DOCUchar *name;FILE *file;public:int read(void *ptr, int size, int n);int seek(long offset, int whence);int write(const void *ptr, int size, int n);long tell( );DOCU(const char *filename, const char *mode);DOCU( );DOCU:DOCU(const char *filename, const char *mode)name=new charstrlen(filename)+1;strcpy(name, filename);file=fopen(name, mode);int DOCU:read(void *ptr, int size, int n)return fread(ptr, size, n, file);int DOCU:write(const void *ptr, int size, int n)return fwrite(ptr, size, n, file);int DOCU:seek(long offset, int whence)return fseek(file, offset, whence);long DOCU:tell( )return ftell(file);int main()return 0;4-5字符串類的類型聲明如下:#include #include class STRINGchar *str;public:int strlen( )const;int strcmp(const STRING &)const;STRING &strcpy(const STRING &);STRING &strcat(const STRING &);STRING(char *);STRING( );void main(void)STRING s1(I like apple);STRING s2( and pear);STRING s3( and orange);coutLength of s1=s1.strlen( )n;s1.strcat(s2).strcat(s3);coutLength of s1=s1.strlen( )n;s3.strcpy(s2).strcpy(s1);coutLength of s3=s3.strlen( )n;試定義字符串復(fù)制及連接等函數(shù)成員, 這些函數(shù)成員調(diào)用 C 的字符串運(yùn)算函數(shù).解: STRING的函數(shù)成員定義如下:#include #include using namespace std;class STRINGchar *str;public:int strlen( )const;int strcmp(const STRING &)const;STRING &strcpy(const STRING &);STRING &strcat(const STRING &);STRING(char *);STRING( );int STRING:strlen( )const return :strlen(str); int STRING:strcmp(const STRING &s)constreturn :strcmp(str, s.str); STRING &STRING:strcat(const STRING &s)int len=:strlen(str)+:strlen(s.str)+1;char *t=str;if(str=new charlen) :strcat(:strcpy(str, t), s.str);delete t;return *this;STRING &STRING:strcpy(const STRING &s)int len=:strlen(s.str)+1;delete str;if(str=new charlen) :strcpy(str, s.str);return *this;STRING:STRING(char *s)if(str=new char:strlen(s)+1) :strcpy(str, s);STRING:STRING( ) if (str) delete str; str=0; int main(void)STRING s1(I like apple);STRING s2( and pear);STRING s3( and orange);coutLength of s1=s1.strlen( )n;s1.strcat(s2).strcat(s3);coutLength of s1=s1.strlen( )n;s3.strcpy(s2).strcpy(s1);coutLength of s3=s3.strlen( )n;return 0;4-7定義學(xué)生成績(jī)記錄,記錄包含姓名,密碼等標(biāo)示信息,以及英語(yǔ),數(shù)學(xué),物理, 化學(xué)等成績(jī)信息,在查詢某個(gè)學(xué)生的某科成績(jī)時(shí),要求正確提供該學(xué)生的的密碼.解:#include #include #include using namespace std;class RECORDchar password10;int english, mathematics,physics,chemistry;public:char name10;int RECORD:* get(char *item, char * pswd);/密碼核對(duì)正確后? 返回成員指針RECORD(char *name, char *pswd, int engl, int math, int phys, int chem);RECORD:RECORD(char *name, char *pswd, int engl, int math, int phys, int chem)strcpy(RECORD:name, name);strcpy(password, pswd);english=engl;mathematics=math;physics=phys;chemistry=chem;int RECORD:* RECORD:get(char *item, char *pswd)if(strcmp(pswd, password) return 0; /在 C+中返回 0 表示空指針if(strcmp(item, english)=0) return &RECORD:english;if(strcmp(item, mathematics)=0) return &RECORD:mathematics;if(strcmp(item, physics)=0) return &RECORD:physics;if(strcmp(item, chemistry)=0) return &RECORD:chemistry;return 0; / C+提倡返回 0 表示空指針char *getpswd(const char *name)int i=0;static char pswd10;coutMr. name, please input your password: ;while(pswdi=getchar()!=n) if(i9) i+; pswdi=0;coutnn;return pswd;RECORD song(song, 123, 90, 93, 94, 97);int main(void) char *pswd=getpswd();int RECORD:*p; /定義數(shù)據(jù)成員指針 pint RECORD:*q;int RECORD:*m;int RECORD:*n;p=song.get(english, pswd);q=song.get(mathematics, pswd);m=song.get(physics, pswd);n=song.get(chemistry, pswd);if(p=0) coutPassword or inquiry item does not exist!n;return 0;coutYour english is song.*pn;coutYour mathematics is song.*qn;coutYour physics is song.*mn;coutYour chemistry is song.*nn;return 0;4-9指出如下程序中的錯(cuò)誤.struct Achar *a, b, *geta( );char A:*p;char
溫馨提示
- 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 透析相關(guān)試題及答案高中
- 2025年金融機(jī)構(gòu)員工保密協(xié)議規(guī)范
- 2025年福州股權(quán)合伙人策劃退出協(xié)議書
- 2025年自動(dòng)化技術(shù)應(yīng)用合作協(xié)議
- 2025年校園有線網(wǎng)絡(luò)覆蓋委托施工協(xié)議
- 2025年臨時(shí)用電事故應(yīng)急預(yù)案與處理協(xié)議
- 2025年聯(lián)合圖書策劃出版協(xié)作協(xié)議
- 2025年企業(yè)保密協(xié)議標(biāo)準(zhǔn)化策劃范本
- 2025年室內(nèi)設(shè)計(jì)裝修合作協(xié)議書
- 高模量玻璃纖維布項(xiàng)目投資風(fēng)險(xiǎn)評(píng)估報(bào)告
- 2025年高中化學(xué)學(xué)業(yè)水平合格性考試模擬試卷試題(含答案)
- 第23課《“蛟龍”探海》課件-2024-2025學(xué)年統(tǒng)編版語(yǔ)文七年級(jí)下冊(cè)第六單元
- 2025年監(jiān)理工程師考試《建設(shè)工程監(jiān)理基本理論與相關(guān)法規(guī)》真題及答案
- 四川省綿陽(yáng)市2023-2024學(xué)年八年級(jí)下學(xué)期6月期末數(shù)學(xué)試卷(含詳解)
- 水利安全風(fēng)險(xiǎn)防控“六項(xiàng)機(jī)制”與安全生產(chǎn)培訓(xùn)
- 《無(wú)人機(jī)攝影技術(shù)》課件
- AI在知識(shí)庫(kù)領(lǐng)域的應(yīng)用
- 國(guó)開(陜西)2024年秋《社會(huì)調(diào)查》形考作業(yè)1-4答案
- DZ/T 0430-2023 固體礦產(chǎn)資源儲(chǔ)量核實(shí)報(bào)告編寫規(guī)范(正式版)
- 2024年燕舞集團(tuán)限公司公開招聘高頻考題難、易錯(cuò)點(diǎn)模擬試題(共500題)附帶答案詳解
- 人工智能導(dǎo)論智慧樹知到課后章節(jié)答案2023年下哈爾濱工程大學(xué)
評(píng)論
0/150
提交評(píng)論