面向?qū)ο髮?shí)驗(yàn)8_第1頁
面向?qū)ο髮?shí)驗(yàn)8_第2頁
面向?qū)ο髮?shí)驗(yàn)8_第3頁
面向?qū)ο髮?shí)驗(yàn)8_第4頁
面向?qū)ο髮?shí)驗(yàn)8_第5頁
已閱讀5頁,還剩4頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、面向?qū)ο蟪绦蛟O(shè)計(jì)實(shí)驗(yàn)八實(shí)驗(yàn)報(bào)告班級:姓名:學(xué)號:一、實(shí)驗(yàn)?zāi)康牧私饬魑募?即二進(jìn)制文件)讀取和寫入的方法,掌握將類對象存入文件的 方法。學(xué)習(xí)并練習(xí)使用C+輸入輸出流中控制格式的方法。了解文本文件讀取和寫入的方法。二、實(shí)驗(yàn)任務(wù)1.將下表中的數(shù)據(jù)拷貝至文件,讀取文件中的數(shù)據(jù)將每位學(xué)生的信息一行輸出到屏幕上, 要求每個學(xué)生的相鄰信息在輸出時至少有兩個字符的間隔,間隔以字符“”填充,不同己.any.101-.102.- .103.- 己.any.101-.102.- .103.- .104. .185-_ key to_ _19girl-.ISboy-19 _ _ _.20girl-_21_ _ _.b

2、o continue2.工程目錄有1個KuCun.txt 文件,里面存放的是某超市各種蔬菜 和對應(yīng)庫存量,格式如圖右所示。編寫程序,要求讀取文件中的數(shù)據(jù) 存入結(jié)構(gòu)體數(shù)組中,并輸出該超市擁有的蔬菜總庫存量,同時把庫存量低于10的蔬菜名稱和目前庫存量存放到工程目錄下的進(jìn)貨文件小白菜30 大白菜50 胡蘿卜7 白蘿卜35 西紅柿5 空心菜30油麥菜20學(xué)生的同類數(shù)據(jù)要求對齊。(提示:使用setw( setfill()函數(shù),調(diào)用這兩個函數(shù)需要包含iomanip頭文件),效果如下圖。姓名name學(xué)號stuID年齡age性別gender張麗10119girl孫楊洋10218boy里萬10319boy劉一毅

3、已10420girl張大偉10521boy“JinHuo.txt 中,格式相同,效果如下圖。| JinHuo.txt -記事本玄件舊林EJ韜以0)Press any Iceij to cont inue3.實(shí)現(xiàn)一種文件加密和解密。加密時,將文件按二進(jìn)制文件流的形式讀取。讀 取每個字節(jié)后,將該字節(jié)加1存入新文件。解密過程與之相反,讀取每個字節(jié)后, 將該字節(jié)減1存入新文件。要求在一個程序中實(shí)現(xiàn)文件的加密和解密,由用戶來 選擇進(jìn)行何種操作。運(yùn)行效果如下圖:密 l解密 3.查看任.退出評希成功蜀人又件名:ji件不存在!請濕轉(zhuǎn)3輸入文件名:評希成功蜀人又件名:ji件不存在!請濕轉(zhuǎn)3輸入文件名:test.

4、txt請洼擇:3輸入文件名;test.txtI haue a litter lamp.請選擇:4Press an key to continue.If ibuf * hf m jiiiufs * mhnq/2注意:(1)編寫一個通用加密解密的函數(shù),如:int f(char name120,char name220,int n)注意:(1)編寫一個通用加密解密的函數(shù),如:int f(char name120,char name220,int n),返回值用于判斷是否加密或解密成功?參數(shù)1和參數(shù)2 是文件名,參數(shù)3用于判斷是加密還是解密?如果文件不存在,用cerr對象輸出錯誤提示。文件要按二進(jìn)制文

5、件流的形式讀取。(3)三、程序清單任務(wù)1:/*main.cpp*/#include #include #include using namespace std;/* run this program using the console pauser or add your own getch, system(pause) or input loop */ int main(int argc, char* argv) (fstream file;string name,no,sex;int age;file.open(a.txt,ios:in);cout.setf(std:ios:left);c

6、outsetw(8)姓名setw(8)學(xué)號setw(8)年齡 setw(8)性別namenoagesex;coutsetw(8)setfill(.)namesetw(8)nosetw(8)agesetw(8 )setfill( )sexendl;return 0;任務(wù)2:/*main.cpp*/#include #include using namespace std;/* run this program using the console pauser or add your own getch, system(pause)or input loop */int main(int argc

7、, char* argv) (fstream file,file2;string vege;int num,count=0;file.open(KuCun.txt,ios:in);file2.open(JinHuo.txt,ios:out);filevege;while(!file.eof()(filenum;count=count+num;if(num10)(file2vegetnumvege;cout蔬菜總數(shù):count;file2.close();file.close();return 0;任務(wù)3:#include #include #include using namespace st

8、d;/* run this program using the console pauser or add your own getch, system(pause) or input loop */void find(char ch120,char ch220,int n)(char ch;fstream file1,file2;file1.open(ch1,ios:in|ios:binary);file2.open(ch2,ios:out|ios:binary);if(n=1)(while (file1.get(ch)(ch=ch+1;file2ch;file1.close();file2

9、.close();else if(n=2)(while (file1.get(ch)(ch=ch-1;file2ch;file1.close();file2.close();void encryption()(fstream file1,file2;char ch120,ch220;coutch1;file1.open(ch1,ios:in|ios:binary);if (!file1)(cerr 文件不存在!endl;return ;coutch2;file2.open(ch2,ios:out|ios:binary);cout加密成功! endl;find(ch1,ch2,1);void d

10、ecode()(fstream file1,file2;char ch120,ch220,ch;coutch1;file1.open(ch1,ios:in|ios:binary);if (!file1)(cerr 文件不存在!endl;return ;coutch2;file2.open(ch2,ios:out|ios:binary);cout解密成功!endl;find(ch1,ch2,2);void lookup()(fstream file;char ch120, ch;coutch1;file.open(ch1,ios:in|ios:binary);if (!file)cout文件不存

11、在!endl;else(while (file.get(ch) coutchendl;file.close(); int main(int argc, char* argv) (cout* 主菜單 *endl;cout1.加密 2.解密3.查看4.退出endl;cout*endl;while(1)int n;coutn;switch(n)(case 1:encryption();break;case 2:decode();break;case 3:lookup();break;case 4:return 0;break;return 0;四、運(yùn)行結(jié)果任務(wù)1: C :Us ersAM IN ES

12、I A-fhyDoc u m e nts面向供晦EP,已淹-毅佐俄 名麗楊方,已淹-毅佐俄 名麗楊方大Akp- Ml- du k191819202121JinHuo.txt JinHuo.txt -記事本文件(F)縮黑(E)惜式(O)直倒蘿卜7西紅柿 5rocess edited af ter 0. 3077 seconds 請按任意鍵雅續(xù).任務(wù)2:21 C:UsersAMNESIAfhyDocu蔬菜總數(shù):177Process exited after 0. 請按任意鍵繼續(xù).任務(wù)3:滯昭知啊I任務(wù)3:滯昭知啊II照片 ijpg-件宰冬擊*主菜單事*莖*村*L加密2.解密 3.查看 4.退由清選

13、擇1-4:1諳輸入堡加密的文件名:L jpg 造精入要加密后的文件名:巳jpg 加衡咬功!請選擇1 4:2誘輸入耍解密的文件名:2. jpg府輸入姿解裕旗的文件:3.jpg怫密成功!誘迭擇1-4:3輸入文件名:c. txt 文件不存在!清逸擇1-4:五、總結(jié)或感悟任務(wù)1:cout輸入姓名、學(xué)號、年齡和性別,用setw()函數(shù)來控制兩個字之間 的距離,設(shè)置fstream對象并進(jìn)行打開文件讀取的操作并進(jìn)行輸出。采用頭文 件#include 對輸出的文件內(nèi)容進(jìn)行左對齊排版,其他空余的地方 setfill()函數(shù)進(jìn)行填充。任務(wù)2:定義兩個fstream對象及文件輸出/輸入流對象,進(jìn)行打開文件讀取的 操作,用count的疊加計(jì)算蔬菜的總價(jià),用if判斷數(shù)量少于10的蔬菜,并存

溫馨提示

  • 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

提交評論