freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

c第九章習(xí)題解答(編輯修改稿)

2025-02-10 20:51 本頁(yè)面
 

【文章內(nèi)容簡(jiǎn)介】 std。int main(){ int n。 char filename[256],buf[100]。 fstream sfile,dfile。 cout輸入源文件路徑名:endl。// cinfilename。//對(duì)路徑各方面而言空格是無(wú)關(guān)緊要的,否則要用getline()等成員函數(shù) (filename,ios::in|ios::binary)。//打開(kāi)一個(gè)已存在的二進(jìn)制文件 while(!sfile){ cout源文件找不到,請(qǐng)重新輸入路徑名:endl。 (0)。//出錯(cuò)后,狀態(tài)必須清0 cinfilename。 (filename,ios::in|ios::binary)。 } cout輸入目標(biāo)文件路徑名:endl。//,。用源文件,會(huì)死循環(huán)(A行) cinfilename。 //只能創(chuàng)建文件,不能建立子目錄,如路徑不存在則失敗 (filename,ios::app|ios::out|ios::binary)。//文件指針在尾部 if(!dfile){ cout目標(biāo)文件創(chuàng)建失敗endl。 return 1。 } while(!()){//二進(jìn)制方式需另判文件是否結(jié)束 A (buf,100)。 n=()。 (buf,n)。//按實(shí)際讀取字節(jié)數(shù)寫(xiě) } ()。 ()。 return 0。} 同上題,采用重新定位文件指針?lè)绞絹?lái)實(shí)現(xiàn)(隨機(jī)訪問(wèn)方式)。解:同樣連接只能用于純文本文件,如用于word文件則失敗。如果用word文檔,則可見(jiàn)目標(biāo)文檔大小在翻倍,但只能讀最前面一段。因?yàn)閣ord文檔構(gòu)造前面有一大堆說(shuō)明,真正鏈接時(shí),后面的源文件前面的說(shuō)明要去掉,但這做不到。includefstreamincludeiostreamincludecstdlibusing namespace std。int main(){ int n。 char filename[256],buf[100]。 fstream sfile,dfile。 cout輸入源文件路徑名:endl。// cinfilename。//對(duì)路徑各方面而言空格是無(wú)關(guān)緊要的,否則要用getline()等成員函數(shù) (filename,ios::in|ios::binary)。//打開(kāi)一個(gè)已存在的二進(jìn)制文件 while(!sfile){ cout源文件找不到,請(qǐng)重新輸入路徑名:endl。 (0)。//出錯(cuò)后,狀態(tài)必須清0 cinfilename。 (filename,ios::in|ios::binary)。 } cout輸入目標(biāo)文件路徑名:endl。//,。用源文件,會(huì)死循環(huán)(A行) cinfilename。 //只能創(chuàng)建文件,不能建立子目錄,如路徑不存在則失敗 (filename,ios::in|ios::out|ios::binary)。 //打開(kāi)輸入輸出文件 if(!dfile){ (0)。 (filename,ios::out)。 //建立輸出文件 ()。 (filename,ios::in|ios::out|ios::binary)。 //改為輸入輸出文件 } (0,ios::end)。//寫(xiě)指針重定位到文件尾, seekp和seekg是同一個(gè)文件指針 while(!()){//二進(jìn)制方式需另判文件是否結(jié)束 A (buf,100)。 n=()。 (buf,n)。//按實(shí)際讀取字節(jié)數(shù)寫(xiě) } ()。 ()。 return 0。} 采用篩選法求100以內(nèi)的所有素?cái)?shù)(參見(jiàn)【】)。將所得數(shù)據(jù)存入文本文件和二進(jìn)制文件。對(duì)送入文本文件中的素?cái)?shù),要求存放格式是每行10個(gè)素?cái)?shù),每個(gè)數(shù)占6個(gè)字符,左對(duì)齊;可用任一文本編輯器將它打開(kāi)閱讀。二進(jìn)制文件整型數(shù)的長(zhǎng)度請(qǐng)用sizeof()來(lái)獲得,要求可以正序讀出,也可以逆序讀出(利用文件定位指針移動(dòng)實(shí)現(xiàn)),讀出數(shù)據(jù)按文本文件中的格式輸出顯示。解:,只是那里是右對(duì)齊,這里只新做了二進(jìn)制文件。注意逆序輸出前,試讀看有多少數(shù)據(jù)時(shí),一旦讀到文件結(jié)束,eofbit=1,不清0,后面操作不能進(jìn)行。includeincludeincludeconst int n=100。void main(){ ofstream ofile。 ifstream ifile。 int a[n],i,j。 char ch,b[256]。 for(i=0。in。i++) a[i]=1+i。 //用數(shù)組保存整數(shù)1100 a[0]=0。 //1不是素?cái)?shù),置0 for(i=0。in。i++){ if(a[i]==0) continue。 //該數(shù)已經(jīng)置0,判斷下一個(gè)數(shù) for(j=i+1。jn。j++) if(a[j]%a[i]==0) a[j]=0。 //是a[i]倍數(shù)的元素置0; } ()。 int count=0。 (ios::left)。 ofile1n之間的素?cái)?shù):endl。 for(i=0。in。i++) //輸出所有素?cái)?shù) if(a[i]!=0){ ofilesetw(6)a[i]。 count++。 if(count%10==0) ofileendl。 //每行10個(gè)數(shù)據(jù) } ()。 cout是否要將文本文件輸出?Y或Nendl。 cinch。 if(ch==39。y39。||ch==39。Y39。){ ()。 i=0。 while((b[i])){//讀標(biāo)題,不可用,它不能讀白字符, if(b[i]==39。\n39。) break。 i++。 } b[i]=39。\039。 (ios::left)。 coutbendl。 count=0。 while(1){ ifilei。//由文件讀入 if(()!=0) break。 coutsetw(6)i。//屏幕顯示 count++。 if(count%10==0) coutendl。 //每行10個(gè)數(shù) } ()。 coutendl。 } (,ios::out|ios::binary)。 for(i=0。in。i++) //輸出所有素?cái)?shù) if(a[i]!=0){ ((char*)amp。a[i],sizeof(int))。 } ()。 cout是否要將二進(jìn)制文件輸出?Y或Nendl。 cinch。 if(ch==39。y39。||ch==39。Y39。){ count=0。 (,ios::in|ios::binary)。 while(1){ ((char*)amp。i,sizeof(int))。 if(()!=0) break。 coutsetw(6)i。//屏幕顯示 count++。 if(count%10==0) coutendl。 } ()。 coutendl。 } cout是否要將二進(jìn)制文件逆序輸出?Y或Nendl。 cinch。 if(ch==39。y39。||ch==39。Y39。){ count=0。 (,ios::in|ios::binary)。 while(1){ ((char*)amp。i,sizeof(int))。 if(()!=0) break。 count++。 } (0)。//當(dāng)文件讀完時(shí),eofbit=1,不清0,后面的操作不能進(jìn)行 (4,ios::end)。 for(j=1。j=count。j++){ ((char*)amp。i,sizeof(int))。 coutsetw(6)i。//屏幕顯示 if(j%10==0) coutendl。 (8,ios::cur)。 } ()。 coutendl。 }} 正弦函數(shù)在0o~90o的范圍中是單調(diào)遞增的,建立兩個(gè)文件:一個(gè)放sin0o,sin2o,…,sin80o;另一個(gè)放sin1o,sin3o,…,sin79o, sin81o,sin82 o,…,sin90o,用歸并法,把這兩個(gè)數(shù)據(jù)文件合并為升序排序的文件,重組為一個(gè)完整的sin()函數(shù)表文件。解:題解中注釋掉的直接讀寫(xiě)法與使用成員函數(shù)結(jié)果完全相同,對(duì)于類對(duì)象,讀和寫(xiě)及占據(jù)內(nèi)存大小均指數(shù)據(jù)成員。主函數(shù)中要避免第2次運(yùn)行時(shí)表中出現(xiàn)重復(fù)數(shù)據(jù)。includecmathincludefstreamincludeiostreamincludeiomanipusing namespace std。class sinx{ double Degree。//角度 double Value。//正弦值public: sinx(double =0)。 void display()。 void Bdatatofile(fstream amp。)。 //文件流類作為形式參數(shù)必須是引用 void Bdatafromfile(fstream amp。)。 void datainput(double deg)。 bool operator=(sinx amp。)。 bool operator==(sinx amp。)。}。bool sinx::operator=(sinx amp。 si){ double k。 k=。 if(k=0) return true。 else return false。}bool sinx::operator==(sinx amp。 si){ double k。 k=。 if(k==0) return true。 else return false。}sinx::sinx(double deg){ Degree=deg。 Value=sin(deg*)。}void sinx::display(){ coutsetw(10)Degreesetw(10)Valueendl。}void sinx::datainput(double deg){ Degree=deg。 Value=sin(deg*)。}void sinx::Bdatatofile(fstream amp。 dest){ ((char*)amp。Degree,sizeof(double))。 ((char*)amp。Value,sizeof(double))。}void sinx::Bdatafromfile(fstream amp。 sour){ ((char*)amp。Degree,sizeof(double))。 ((char*)amp。Value,sizeof(double))。}//由此可見(jiàn)讀和寫(xiě)是完全對(duì)稱的過(guò)程,次序決不能錯(cuò)template typename Tclass Array{ T *elements。 char name[20]。 int Subscript。//已用最大下標(biāo)值 int maxSize。 fstream datafile。public: Array(char* =myfile,int=20)。 ~Array()。 bool IsFull() const{return Subscript==maxSize1。} void renews()。//數(shù)組擴(kuò)大一倍 void ordinsert(Tamp。)。//升序輸入 void listshow()。//顯示數(shù)組}。template typename T ArrayT::Array(char* filename,int maxs){ maxSize=maxs。 Subscript=1。//私有數(shù)據(jù)不容許直接賦初值,必須在構(gòu)造函數(shù)中賦初值 strcpy(name,filename)。 T temp。 elements=new T[maxSize]。 (name,ios::binary|ios::in)。 if(!datafile==0){ while(!()){ (datafile)。 // ((char*)amp。temp,sizeof(T))。//直接讀寫(xiě)法與使用成員函數(shù)結(jié)果相同
點(diǎn)擊復(fù)制文檔內(nèi)容
試題試卷相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1