《C++STL-數(shù)據(jù)結(jié)構(gòu)與算法實(shí)現(xiàn)》課件第三章_第1頁
《C++STL-數(shù)據(jù)結(jié)構(gòu)與算法實(shí)現(xiàn)》課件第三章_第2頁
《C++STL-數(shù)據(jù)結(jié)構(gòu)與算法實(shí)現(xiàn)》課件第三章_第3頁
《C++STL-數(shù)據(jù)結(jié)構(gòu)與算法實(shí)現(xiàn)》課件第三章_第4頁
《C++STL-數(shù)據(jù)結(jié)構(gòu)與算法實(shí)現(xiàn)》課件第三章_第5頁
已閱讀5頁,還剩1頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

第三章課后習(xí)題一、概念理解題cin和cout:用于輸入和輸出的標(biāo)準(zhǔn)流對象cerr和clog用于輸出錯誤和日志信息的標(biāo)準(zhǔn)流對象由于在用cin獲取輸入時,操作符>>默認(rèn)是以空白字符(空格、tab、換行符)作為分隔符將字符串進(jìn)行分割的,若用戶輸入的字符中含有分隔符則不能夠獲取到完整的字符??梢愿挠胓et系列函數(shù)。二進(jìn)制文件是基于值編碼的文件,文本文件是基于字符編碼的文件。文本文件的存儲與其讀取基本上是個逆過程。而二進(jìn)制文件的存取與文本文件的存取類似,但是編/解碼方式不同。主要用到能在輸入輸出文件流中進(jìn)行隨機(jī)檢索訪問的相關(guān)成員函數(shù),例如Ostream中的seekp(long,int)以及istream中的seekg(long,int)等。上機(jī)練習(xí)題略2.#include<iostream>#include<fstream>#include<string>usingnamespacestd;voidmain(){stringstr;fstreamiofile("text.txt",ios::out);if(!iofile){cout<<"Createfilefailure...\n";exit(0);}cout<<"請輸入字符串內(nèi)容:\n";while(1){getline(cin,str);if(str=="end")break;iofile<<str<<endl;}iofile.close();iofile.open("text.txt",ios::in);while(!iofile.eof()){iofile>>str;cout<<str<<endl;}iofile.close();}3.略4.略5.參考答案:#include<iostream>#include<fstream>Usingnamespacestd;Classstudent{public:charstrName;intnum;intgrade;Student(){strName=’’;num=0;grade=0;}Friendostream&operator<<(ostream&os,conststudent&s){os<<s.strName<<”+”<<s.num<<”+”<<s.grade;}};intmain(){Students1(zy,01,10),s2(zs,02,09),s3;ofstreamout;out.open(“c:\a.txt”);out<<s1<<endl;out<<s2<<endl;out<<s1<<endl;out.close();char*ch=newchar[10];stringname=”c;\\a.txt”;ifstreamin(name);while(in.getline(ch,10)){cout<<ch<<endl;}}6.略7.#include<iostream>#include<fstream>usingnamespacestd;#defineFILEPATH"test.txt"http://文章信息結(jié)構(gòu)體structTextInfo{ intnum_of_words; intnum_of_lines;};//判斷是否為英文單詞boolisEnglishWords(charc){ return((c>='A'&&c<='Z')||(c>='a'&&c<='z')||c=='\'');}//編寫一程序,統(tǒng)計一篇英文文章中單詞的個數(shù)與行數(shù)。TextInfocompteWordsAndLines(){ TextInfoti; ti.num_of_lines=0; ti.num_of_words=0; //單詞的個數(shù),有空格就算一個單詞 //首先以只讀的形式打開文章 ifstreamfin; fin.open(FILEPATH); if(fin.fail()) { cout<<"emptyfile1"<<endl; fin.close(); } charbuf[1024]={}; intlines=0; intwords=0; boolinword=false; inti=0; while(!fin.eof()) { fin.getline(buf,999); lines++; i=0; inword=false; while(buf[i]!=0)//不為行尾 { if(!isEnglishWords(buf[i])) inword=false; elseif(isEnglishWords(buf[i])&&inword==false){ words++; inword=true; } i++; } } ti.num_of_lines=lines; ti.num_of_words=words; fin.close(); returnti;}intmain(){ TextInfomyti=compteWordsAndLines(); cout<<myti.num_of_lines<<endl; cout<<myti.num_of_words<<endl; cout<<"helloworld!"<<endl; system("pause"); return0;}8.參考答案#include<fstream>#include<iostream>Usingnamespacestd;Intmain(){char*ch=newchar[80];Stringname=”c:\\namelist.txt”;Ifstreamin(name);If(in==0){Cout<<”文件打開失敗!”;Return0;}While(in.getline(ch,80)){Cout<<ch<<end;}For(inti=0;i<3;i++){inta=randomint(0,80)Cout<<ch[a];Ofstreamout;Out.open(“c://winner.txt”);Out<<ch[a]<<endl;}Out.close;Return0}9.參考答案#include<fstream>#include<iostream>Usingnamespacestd;Intmain(){ intaverge;char*ch=newchar[80];Stringname=”c:\\grade.txt”;Ifstreamin(name);If(in==0){Cout<<”文件打開失敗!”;Return0;}While(in.getline(ch,80)){Cout<<ch<<end;}Inttemp1,temp2,sum=0;Temp1=ch[0];Temp2=ch[0];For(i=0;i<ch.length;i++

溫馨提示

  • 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論