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

正文內(nèi)容

第14章輸入輸出與文件-資料下載頁

2025-09-19 16:35本頁面

【導(dǎo)讀】輸入輸出是指程序與外部設(shè)備交換信息。在C++中,輸入輸出不是語言所定義的部分,而是由標(biāo)準(zhǔn)庫提供。I/O操作是以對(duì)數(shù)據(jù)類型敏感的方式執(zhí)行的。作是以字節(jié)流的形式實(shí)現(xiàn)的。流實(shí)際上就是字節(jié)序列。低級(jí)I/O功能通常只在設(shè)。高級(jí)I/O功能把若干個(gè)字節(jié)組。C++提供了無格式I/O和格式化I/O兩種操作。輸速度快,但使用起來較為麻煩。理大容量的數(shù)據(jù)傳輸。每個(gè)I/O對(duì)象管理一個(gè)緩沖區(qū),用于存儲(chǔ)程序讀寫的數(shù)據(jù)。作為main函數(shù)返回工作的一部分,將真正。當(dāng)緩沖區(qū)已滿時(shí),在寫入下一個(gè)值之前,會(huì)刷新緩沖區(qū);用標(biāo)準(zhǔn)庫的操縱符,如行結(jié)束符endl,顯式地刷新緩沖區(qū);部狀態(tài),從而清空緩沖區(qū);在這種情況下,在讀輸入。在標(biāo)準(zhǔn)庫中,將cout和。鍵盤)連在一起。cerr是類osteam的對(duì)象,它與標(biāo)準(zhǔn)錯(cuò)誤輸出設(shè)備連。用成員函數(shù)put輸出字符;字符顯示在顯示器上。地址,而是輸出該指針指向的字符串。cout<<"ptr指向的內(nèi)容為:"<<ptr<<endl;

  

【正文】 《 程序設(shè)計(jì) 》 程序設(shè)計(jì) 83 文件設(shè)計(jì) ? 設(shè)計(jì)一個(gè)文件 book,該文件中的每個(gè)記錄保存一本書的信息。 ? 文件中的記錄可按館藏號(hào)的次序存放,這樣可方便實(shí)現(xiàn)添加書和借還書的功能。添加書時(shí),只要將這本書對(duì)應(yīng)的記錄添加到文件尾。借還書時(shí),可以根據(jù)館藏號(hào)計(jì)算記錄的存儲(chǔ)位置,修改相應(yīng)的記錄。 《 程序設(shè)計(jì) 》 程序設(shè)計(jì) 84 book類設(shè)計(jì) ? 數(shù)據(jù)成員: ? 館藏號(hào)、書名、借書標(biāo)記 ? 為了提供館藏號(hào)自動(dòng)生成,需要保存系統(tǒng)中最大的館藏號(hào)。這個(gè)值可以作為書目類的靜態(tài)成員。 ? 成員函數(shù): ? 構(gòu)造函數(shù) ? 借書 ? 還書 ? 顯示書的詳細(xì)信息 ? 靜態(tài)成員初始化 ? 靜態(tài)成 員值加 1 《 程序設(shè)計(jì) 》 程序設(shè)計(jì) 85 ifndef _book_h define _book_h include cstring include iostream include iomanip include fstream using namespace std。 class book { int no。 char name[20]。 int borrowed。 static int no_total。 public: 《 程序設(shè)計(jì) 》 程序設(shè)計(jì) 86 book(const char *s = ) {no = no_total。 borrowed = 0。 strcpy(name,s)。} void borrow(int readerNo) //借書 { if (borrowed != 0) cerr 本書已被借,不能重復(fù)借 \n。 else borrowed = readerNo。 } void Return() { //還書 if (borrowed == 0) cerr 本書沒有被借,不能還 \n。 else borrowed = 0。 } void display() //顯示書的信息 { cout setw(10) no setw(20) name setw(10) borrowed endl。} static void resetTotal() {no_total = 0。} //最大館藏號(hào)復(fù)位 static void addTotal() {++no_total。} //館藏號(hào)加 1 }。 int book::no_total = 0。 //靜態(tài)數(shù)據(jù)成員的定義 endif 《 程序設(shè)計(jì) 》 程序設(shè)計(jì) 87 系統(tǒng)分解 ? 系統(tǒng)可分解成五大功能,每個(gè)功能用一個(gè)函數(shù)實(shí)現(xiàn)。 ? Main函數(shù)顯示菜單,根據(jù)用戶的選擇調(diào)用相應(yīng)的函數(shù) 《 程序設(shè)計(jì) 》 程序設(shè)計(jì) 88 Main函數(shù) include void initialize()。 //系統(tǒng)初始化 void addBook()。 //添加新書 void borrowBook()。 //借書 void returnBook()。 //還書 void displayBook()。 //顯示所有的書目信息 int main() {int selector。 《 程序設(shè)計(jì) 》 程序設(shè)計(jì) 89 while (true) { cout 0 退出 \n。 cout 1 初始化文件 \n。 cout 2 添加書 \n。 cout 3 借書 \n。 cout 4 還書 \n。 cout 5 顯示所有書目信息 \n。 cout 請(qǐng)選擇( 05): 。 cin selector。 if (selector == 0) break。 switch (selector) {case 1: initialize()。 break。 case 2: addBook()。 break。 case 3: borrowBook()。 break。 case 4: returnBook()。 break。 case 5: displayBook()。 break。 } } return 0。 } 《 程序設(shè)計(jì) 》 程序設(shè)計(jì) 90 Initialize的實(shí)現(xiàn) void initialize() { ofstream outfile(book)。 book::resetTotal()。 ()。 } 《 程序設(shè)計(jì) 》 程序設(shè)計(jì) 91 addBook的實(shí)現(xiàn) void addBook() { char ch[20]。 book *bp。 ofstream outfile(book,ofstream::app)。 book::addTotal()。 cout 請(qǐng)輸入書名: 。 cin ch。 bp = new book(ch)。 ( reinterpret_castconst char *(bp), sizeof(*bp))。 delete bp。 ()。 } 《 程序設(shè)計(jì) 》 程序設(shè)計(jì) 92 borrowBook void borrowBook() {int bookNo, readerNo。 fstream iofile(book)。 book bk。 cout 請(qǐng)輸入書號(hào)和讀者號(hào): 。 cin bookNo readerNo。 ((bookNo 1) * sizeof(book))。 ( reinterpret_castchar * (amp。bk), sizeof(book) )。 (readerNo)。 ((bookNo 1) * sizeof(book))。 ( reinterpret_castconst char *(amp。bk), sizeof(book))。 ()。 } 《 程序設(shè)計(jì) 》 程序設(shè)計(jì) 93 returnBook void returnBook() {int bookNo。 fstream iofile(book)。 book bk。 cout 請(qǐng)輸入書號(hào): 。 cin bookNo 。 ((bookNo 1) * sizeof(book))。 ( reinterpret_castchar * (amp。bk), sizeof(book) )。 ()。 ((bookNo 1) * sizeof(book))。 ( reinterpret_castconst char *(amp。bk), sizeof(book))。 ()。 } 《 程序設(shè)計(jì) 》 程序設(shè)計(jì) 94 displayBook void displayBook() {ifstream infile(book)。 book bk。 ( reinterpret_castchar * (amp。bk), sizeof(book) )。 while (!()) { ()。 ( reinterpret_castchar * (amp。bk), sizeof(book) )。 } ()。 } 《 程序設(shè)計(jì) 》 程序設(shè)計(jì) 95 輸入輸出與文件 ? 流與標(biāo)準(zhǔn)庫 ? 輸入輸出緩沖 ? 基于控制臺(tái)的 I/O ? 基于文件的 I/O ? 基于字符串的 I/O 《 程序設(shè)計(jì) 》 程序設(shè)計(jì) 96 基于字符串的 I/O ? iostream標(biāo)準(zhǔn)庫支持內(nèi)存中的輸入輸出,只要將流與存儲(chǔ)在程序內(nèi)存中的 string對(duì)象捆綁起來即可 ? 標(biāo)準(zhǔn)庫定義了三種類型的字符串流: ? istringstream:由 istream派生而來,提供讀 string的功能。 ? ostringstream:由 ostream派生而來,提供寫string的功能。 ? stringstream:由 iostream派生而來,提供讀寫string的功能。 《 程序設(shè)計(jì) 》 程序設(shè)計(jì) 97 字符串流使用實(shí)例 include iostream include sstream include string using namespace std。 int main() { string ch。 ostringstream os(ch)。 // 或 ostringstream os。 for (int i = 0。 i=20。 ++i) os i 39。 39。 cout ()。 cout endl。 istringstream is(())。 while (is i) cout i 39。\t39。 return 0。 } 《 程序設(shè)計(jì) 》 程序設(shè)計(jì) 98 小結(jié) ? 輸入輸出是程序中不可缺少的一部分。在 C++中,輸入輸出功能是以標(biāo)準(zhǔn)庫的形式來提供。輸入輸出操作分為控制臺(tái) I/O,文件 I/O以及字符串 I/O。由于文件 I/O和字符串 I/O類都是從控制臺(tái) I/O類繼承的,因此,這三種 I/O的操作方式是相同的。 ? 本章介紹了如何利用 iostream庫進(jìn)行格式化的輸入輸出,介紹了如何利用文件永久保存信息,并以圖書館系統(tǒng)為例,介紹了實(shí)現(xiàn)文件的隨機(jī)讀寫。
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1