實驗9九 I O流

2021-08-20 21:52:11 字數 1989 閱讀 3458

實驗目的和要求

1.掌握格式化的輸入輸出方法。

2.熟悉系統提供的輸入操作函式。

3.掌握磁碟檔案的輸入輸出方法。

實驗內容

1.程式sy9_1.cpp用以列印表中的資料,但程式中存在邏輯錯誤。上機除錯後寫出正確的**。

原程式如下:

修改後程式:

輸出結果:

2.程式設計實現下面要求:(sy9_2.cpp)

以左對齊方式輸出整數40000,域寬為15。

列印有符號數和無符號數100。

將十進位制整數100以0x開頭的十六進製制格式輸出。

用前導*格式列印1.234,域寬為10。

編寫程式如下:

輸出結果:

3.建立某班同學通訊錄二進位制檔案,檔案中的每個記錄包括姓名、**號碼、qq號、e-mail和家庭住址。(sy9_3.cpp)

4.從鍵盤上輸入學生的qq號,在由第3題所建立的通訊錄檔案中查詢該同學的資料。查詢成功時,顯示其所有通訊錄資訊。(sy9_4.cpp)

分析與討論

1.結合實驗內容中第1題和第2題,說明格式化的輸入輸出方法和應注意的問題。

答:c++的i/o流庫提供了兩種控制格式的輸入輸出的方法:一種是ios類的成員函式,另一種是使用控制符;

在ios類中有幾個成員函式可用來對輸入輸出的格式控制,這些成員函式通過對格式標誌字、域寬、填充符及輸出精度的設定來控制輸入輸出的格式,使其後的輸入輸出操作按設定的格式進行;c++的i/o流類庫中又提供一種使用控制符進行格式化輸出的方法,這些控制符與成員函式呼叫的效果一樣,它們可以直接插入到流中,而不必再單獨呼叫,也可直接被插入符或提取符操作。但控制符中沒有的功能還需使用成員函式的方法來提供。這些控制符是一些特殊的函式,其中所有不帶形式引數的函式是在標頭檔案iostream.h中定義的,而所有帶形式引數的函式定義則定義在iomanip.h中,如第1題中的set(10)和第2題中的set(10)就是在iomanip.h中定義的。

應注意的問題:資料輸出寬度在預設情況下為表示該資料所需的最少字元數;如果所設定的資料寬度小於資料所需的最少字元數,則資料寬度按預設寬度處理。

2.結合實驗內容中第3題和第4題,說明磁碟檔案的輸入輸出方法。

答:按資料的儲存形式來分類,檔案可分為文字檔案和二進位制檔案。按資料的訪問方式來分類,檔案可分為順序檔案和隨機讀取檔案。

檔案的開啟和關閉方法:

開啟檔案就是使乙個檔案流物件與乙個指定的檔案相關聯。物件名.open(檔名,方式);

檔案在開啟後可進行讀寫操作,在讀寫操作完成後應將其關閉,就是使開啟的檔案與流物件「脫鉤」。

《流物件名》.close();

實驗總結

在本次實驗中我學會了格式化的輸入輸出方法,知道怎樣去設定輸出格式的對齊方式,輸出的資料寬度,填充字元和輸出精度等;還知道了所有不帶形式引數的函式是在標頭檔案iostream.h中定義的,而所有帶形式引數的函式定義則定義在iomanip.h中。比如說cout.fill(『*』)這樣的定義只能在標頭檔案iostream.h中定義,而setfill(『*』)這種定義必須在標頭檔案iomanip.h。在第1題中我學會了setw()的使用方法,setw就是width(寬度)的設定,後面跟的整型數字就是寬度。除此之外我還學會了各種進製之間轉換的輸出方法。通過第3和第4題的還學會了二進位制檔案的輸入輸出方法。總之通過通過對理論知識和實踐操作的結合,在這次實驗中我收穫很大。

實驗九 I O流

實驗目的和要求 1 掌握格式化的輸入輸出方法。2 熟悉系統提供的輸入操作函式。3 掌握磁碟檔案的輸入輸出方法。實驗內容 1 程式sy9 1.cpp用以列印表中的資料,但程式中存在邏輯錯誤。上機除錯後寫出正確的 sy9 1.cpp include includeusing namespace std ...

實驗九 I O流

一 實驗目的和要求 1.掌握格式化的輸入輸出方法。2.熟悉系統提供的輸入操作函式。3.掌握磁碟檔案的輸入輸出方法。二 實驗內容 1.程式sy9 1.cpp用以列印表中的資料,但程式中存在邏輯錯誤。上機除錯後寫出正確的 cpp view plain copy print?include include...

實驗九 I O流

一 實驗目的和要求 1.掌握格式化的輸入輸出方法。2.熟悉系統提供的輸入操作函式。3.掌握磁碟檔案的輸入輸出方法。二 實驗內容 1.程式sy9 1.cpp用以列印表中的資料,但程式中存在邏輯錯誤。上機除錯後寫出正確的 cpp view plain copy include include using...