2023年全國碩士研究生考試考研英語一試題真題(含答案詳解+作文范文)_第1頁
已閱讀1頁,還剩25頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、<p><b>  目 錄</b></p><p><b>  1 前言6</b></p><p><b>  2 需求分析6</b></p><p><b>  2.1 功能分析</b></p><p><b>  2.2

2、方案分析</b></p><p><b>  3 概要設(shè)計6</b></p><p>  3.1 數(shù)據(jù)結(jié)構(gòu)7</p><p>  3.2 邏輯結(jié)構(gòu)與物理結(jié)構(gòu)7</p><p>  3.3 功能模塊劃分9</p><p>  3.4抽象數(shù)據(jù)類定義11</p>&

3、lt;p><b>  4 詳細設(shè)計11</b></p><p>  4.1 數(shù)據(jù)類型定義11</p><p>  4.2 主要模塊內(nèi)部設(shè)計12</p><p>  4.2.1模塊1設(shè)計12</p><p>  4.2.2 模塊2設(shè)計13</p><p>  4.2.3 模塊3設(shè)計

4、14</p><p>  5 實現(xiàn)與調(diào)試分析15</p><p>  5.1 實現(xiàn)環(huán)境15</p><p>  5.2 語言選擇15</p><p>  5.3 調(diào)試分析15</p><p><b>  6 測試分析16</b></p><p>  6.1 測試用

5、例16</p><p>  6.2 測試結(jié)果17</p><p>  6.3 性能分析19</p><p><b>  7用戶手冊20</b></p><p><b>  總 結(jié)20</b></p><p><b>  參考文獻21</b>&

6、lt;/p><p><b>  1 前言</b></p><p>  1.1 即時消息系統(tǒng)的研究現(xiàn)狀 </p><p>  即時消息系統(tǒng)[1](Instant Messenger,IM)是一種在后 PC 時代興起的,以 Internet 網(wǎng)絡為基礎(chǔ)的,允許交互雙方即時地傳送文字、語音、視頻等信息,能夠跟蹤網(wǎng)絡用戶在線狀態(tài)的網(wǎng)絡應用軟件。即時消息系統(tǒng)

7、產(chǎn)生有著深刻的社會原因:人們都有渴望社交,獲得社會尊重、實現(xiàn)自我的需求,這正是即時消息軟件風行的原動力,而物質(zhì)文明的日益發(fā)達所帶來副作用,又使得人們習慣與周圍的人保持距離,以致人們更愿意對陌生人敞開心扉,在網(wǎng)絡中可以跨越年齡、身份、行業(yè)、地域的限制,達到人與人、人與信息之間的零距離交流。從這點上講,即時消息系統(tǒng)的出現(xiàn)改變了人們的溝通方式和交友文化,大大拓展了個人生活交流的空間。</p><p>  1.2本工程的

8、主要內(nèi)容</p><p>  本工程主要是設(shè)計完成一基于P2P的聊天系統(tǒng),本系統(tǒng)主要包括客戶端和服務器端兩部分,實現(xiàn)類似于QQ的功能。包括用戶注冊、在線朋友的獲取、點對點的聊天等功能。而本項目類容主要是使用VC++實現(xiàn)其中的點對點聊天功能。</p><p><b>  2 需求分析</b></p><p>  此次開發(fā)的網(wǎng)絡聊天工具可作為個人的

9、交流工具使用。本聊天需包含如下基本功能:</p><p><b>  2.1功能分析</b></p><p><b>  客戶端:</b></p><p><b>  發(fā)送消息;</b></p><p><b>  接收消息;</b></p>

10、<p><b>  消息記錄;</b></p><p><b>  服務端:</b></p><p>  (1)對客戶端發(fā)來的消息處理并發(fā)送給另一客戶端;</p><p>  (2)將消息類容計入數(shù)據(jù)庫;</p><p> ?。?)對客戶請求作出應答并處理。</p><

11、;p><b>  2.2 方案分析</b></p><p>  本項目僅供點對點聊天模塊進行方案分析。</p><p>  本系統(tǒng)實現(xiàn)用戶點對點聊天,通過一客戶端向服務器發(fā)送消息,服務器接受消息后將消息信息(消息內(nèi)容和消息時間)記錄到數(shù)據(jù)庫,然后將其發(fā)送給另一用戶,實現(xiàn)聊天功能,并可以向服務器發(fā)送請求查詢消息記錄。</p><p><

12、;b>  3 概要設(shè)計 </b></p><p>  聊天主要包括兩方面內(nèi)容:服務器端和客戶端。 1</p><p>  2.2.1服務器端功能主要包括:建立連接、接收用戶數(shù)據(jù)、操作數(shù)據(jù)庫。</p><p> ?。?)建立連接:系統(tǒng)啟動時建立一個連接,不斷偵聽是否有客戶端連接或許斷開

13、。</p><p> ?。?)監(jiān)聽客戶請求:服務器端是一個信息的樞紐,所有客戶端的信息都要傳到服務器端,再由服務器根據(jù)要求分發(fā)出去,客戶端在向服務器發(fā)送各種請求。 </p><p>  (3)數(shù)據(jù)庫操作:當客戶機向服務器發(fā)送請求時,服務器需要通過數(shù)據(jù)庫管理軟件對數(shù)據(jù)庫的數(shù)據(jù)進行增、刪和查詢。</p><p>  (4)發(fā)送系統(tǒng)消息:在客戶端管理界面上,可以輸入消息,

14、并發(fā)送給所有的在線用戶。</p><p>  2.2.2客戶端主要功能:發(fā)送消息,接收消息,查詢消息記錄。</p><p>  (1)客戶端在與好友端建立通信連接后,便可以與好友進行聊天,聊天時發(fā)送的是文本信息,好友端在接收到聊天消息后,會提示收到消息,并由好友端自主打開消息接收界面。</p><p> ?。?)所有的聊天消息都會被保存起來,可以查看與每個好友的聊天

15、記錄。聊天記錄包括內(nèi)容和時間。</p><p><b>  3.1 數(shù)據(jù)結(jié)構(gòu) </b></p><p>  此系統(tǒng)數(shù)據(jù)庫中儲存信息采用字符指針儲存,將用戶的信息用字符的形式進行處理并儲存。</p><p>  3.2 邏輯結(jié)構(gòu)與物理結(jié)構(gòu) </p><p><b>  (1)邏輯結(jié)構(gòu):</b>&l

16、t;/p><p>  用戶向服務器發(fā)送請求,服務器獲取對方IP,若獲取成功,用戶向其發(fā)送消息,服務器將其處理并將其記錄,然后將消息發(fā)給另一用戶。其E—R圖如下所示:</p><p><b>  2</b></p><p>  將E-R圖轉(zhuǎn)化為關(guān)系模型,建立關(guān)系模型為:</p><p>  消息(內(nèi)容,時間);</p&g

17、t;<p>  記錄信息(內(nèi)容,儲存信息);</p><p>  服務器(服務器IP);</p><p><b> ?。?)物理結(jié)構(gòu):</b></p><p>  在關(guān)系數(shù)據(jù)庫中,確定數(shù)據(jù)庫的物理結(jié)構(gòu)主要指確定數(shù)據(jù)庫的儲存位置和儲存結(jié)構(gòu),包括確定關(guān)系索引、日志、備份等數(shù)據(jù)的儲存分配和儲存結(jié)構(gòu),并確定系統(tǒng)配置等。</p>

18、<p>  建立好的數(shù)據(jù)庫物理結(jié)構(gòu)可以提高系統(tǒng)執(zhí)行速率,使得在數(shù)據(jù)庫上運行的各種事務響應時間小、儲存空間利用率高、事務吞吐率大。還要充分了解所用RDBMS的內(nèi)部特征,特別是系統(tǒng)提供的存取方法忽然儲存結(jié)構(gòu)。</p><p>  a.所引法:對常需要查詢的數(shù)據(jù)建立索引;b.聚簇法:為了提高某個屬性(或?qū)傩越M)的查詢速度,把這個或這些屬性上具有相同值的元組集中存放在連續(xù)的物理塊中;c.hash法:如果一個

19、關(guān)系的屬性大小可預知,而且不變或關(guān)系的大小變動,而且數(shù)據(jù)庫管理系統(tǒng)提供了動態(tài)hash存取方法則可以使用hash存取方法。</p><p>  評價物理數(shù)據(jù)庫的方法完全依賴于所選用的DBMS,主要是從定量估算各種方案的儲存空間、存取時間和維護代價入手,對估算結(jié)果進行權(quán)衡、比較,選擇一個較為優(yōu)化的合理方案設(shè)計物理結(jié)構(gòu)。</p><p><b>  3</b></p&

20、gt;<p>  3.3 功能模塊劃分</p><p><b>  3.3.1結(jié)構(gòu)框圖</b></p><p><b>  3.3.2程序流圖</b></p><p>  (1)整個系統(tǒng)流程圖如下:</p><p><b>  4</b></p>&

21、lt;p>  3.3.3模塊功能分析及外部設(shè)計</p><p><b>  模塊功能分析:</b></p><p> ?。?)發(fā)送消息:用戶選擇好友,如果好友在線,服務器便獲取其IP地址,用戶打開消息盒編輯需要發(fā)送的消息,然后發(fā)送,服務器接受此消息,并處理記錄到記錄表中,然后將其發(fā)送給好友。</p><p> ?。?)接收消息:好友發(fā)送的

22、信息通過服務器處理并發(fā)送到本用戶,如果設(shè)置為接收消息,則系統(tǒng)提示并可以打開查看此消息,否則服務器不將此消息發(fā)送到本用戶。</p><p> ?。?)消息記錄查詢:用戶向服務器發(fā)送查詢請求,服務器作出響應并將最近消息記錄發(fā)送到此用戶。</p><p><b>  外部設(shè)計:</b></p><p>  交互設(shè)計是面向最終用戶的設(shè)計,是軟件的外部設(shè)

23、計,交互設(shè)計要求在研究軟</p><p><b>  5</b></p><p>  件技術(shù)問題的同時對人加以研究。用戶是什么樣的人?用戶怎樣與新的計算機系統(tǒng)進行交互?用戶怎樣解釋系統(tǒng)產(chǎn)生的信息?用戶對系統(tǒng)有哪些期望?這些問題僅僅是需要在用戶交互設(shè)計時必須詢問和回答的問題。</p><p>  作為點對點的聊天系統(tǒng),作為服務使用者得用戶和提供服

24、務的聊天系統(tǒng)有著互動和交換信息的過程,用戶有請求,系統(tǒng)就必須有應答,需要雙方參與。</p><p>  (1)當用戶選擇好友向其發(fā)送消息時,點擊好友,向服務器發(fā)送請求,如果好友在線,服務器自動獲取好友IP并建立雙方的連接,進行聊天。否則應該提示好友不在,不能聊天或發(fā)送離線信息。</p><p> ?。?)用戶查詢聊天信息時,向服務器發(fā)送查詢請求,服務器作出響應并將相應記錄發(fā)送到此用戶界面。

25、</p><p>  通過對產(chǎn)品的界面和行為進行交互設(shè)計,讓產(chǎn)品和它的使用者之間建立一種有機關(guān)系,從而可以有效的達到使用者的目標,而好的交互設(shè)計會使系統(tǒng)和使用者之間更好的交互,達到“愉悅地合作”,這是交互設(shè)計的最終目的。</p><p>  3.4抽象數(shù)據(jù)類定義</p><p>  此系統(tǒng)主要定義3個抽象數(shù)據(jù)類型:(1)消息(messages);(2記錄(notes

26、); </p><p><b>  4 詳細設(shè)計</b></p><p>  4.1 數(shù)據(jù)類型定義</p><p>  此系統(tǒng)主要定義3個抽象數(shù)據(jù)類型:消息(messages);記錄(notes);設(shè)置信息。</p><p> ?。?)消息(messages):</p><p>  ADT mes

27、sages{</p><p>  數(shù)據(jù)對象:D={發(fā)送的信息U1..Un,|U1..Un∈CHAR}</p><p>  數(shù)據(jù)關(guān)系:R={<U1,U2>,<U2,U3>,..,<Un-1,Un>}</p><p><b>  基本操作:</b></p><p>  Receive me

28、ssages(&T,InetAddress,t)</p><p>  操作結(jié)果:將端口為InetAddress的信息包t的內(nèi)容傳給T,用T返回。</p><p><b>  6</b></p><p>  Send messages(t,InetAddress)</p><p>  操作結(jié)果:將信息包發(fā)送到端口I

29、netAddress;</p><p>  }ADT messages</p><p> ?。?)記錄(notes):</p><p>  ADT notes{</p><p>  數(shù)據(jù)對象:D={記錄表中的信息U1..Un,|U1..Un∈CHAR}</p><p>  數(shù)據(jù)關(guān)系:R={<U1,U2>,&

30、lt;U2,U3>,..,<Un-1,Un>}</p><p><b>  基本操作:</b></p><p>  Check notes(&T,InetAddress,t)</p><p>  操作結(jié)果:將信息記錄表中的信息發(fā)送到端口InetAddress,并用T返回。</p><p>  D

31、elete notes(&t,i)</p><p>  操作結(jié)果:如果i=1,將信息記錄表中的信息刪除。</p><p>  Memory notes(&t,InetAddress,T)</p><p>  操作結(jié)果:將端口InetAddress發(fā)來的信息包T的內(nèi)容記錄到消息記錄表中。</p><p>  }ADT notes

32、</p><p>  4.2 主要模塊內(nèi)部設(shè)計</p><p>  此點對點聊天系統(tǒng)主要包括以下模塊:(1)發(fā)送消息;(2)接收消息;(3)查詢消息記錄。每個模塊的主要執(zhí)行功能函數(shù)及算法如下。</p><p>  4.2.1模塊1設(shè)計</p><p>  4.2.1.1 模塊算法</p><p><b>  

33、模塊一:發(fā)送消息:</b></p><p>  發(fā)送消息函數(shù):send messages(char *p,InetAdrress);</p><p>  發(fā)送消息后自動執(zhí)行儲存函數(shù):memory messages(InetAdrress,char *p);</p><p>  4.2.1.2 流程圖</p><p><b&g

34、t;  7</b></p><p><b>  模塊2設(shè)計</b></p><p>  4.2.2.1 模塊算法</p><p><b>  模塊二:接收消息:</b></p><p>  接收消息消息函數(shù): *receive messages(InetAdrress,char *p);

35、</p><p>  接收消息后自動執(zhí)行儲存消息函數(shù):memory messages(InetAdrress,char *p);</p><p>  4.2.2.2 流程圖:</p><p><b>  8</b></p><p><b>  模塊3設(shè)計</b></p><p&g

36、t;  4.2.3.1 模塊算法</p><p>  模塊三:消息記錄查詢:</p><p>  執(zhí)行發(fā)送請求函數(shù):*check notes(InetAdrress,char *p);</p><p>  刪除記錄函數(shù):delete notes(InetAdrress);</p><p>  自動執(zhí)行接收消息函數(shù):*receive messa

37、ges(InetAdrress,char *p);</p><p><b>  4.2.3.2 </b></p><p><b>  流程圖:</b></p><p><b>  9</b></p><p><b>  實現(xiàn)與調(diào)試分析</b></p&

38、gt;<p><b>  5.1 實現(xiàn)環(huán)境</b></p><p>  硬件:本系統(tǒng)選擇在windows操作系統(tǒng)上實現(xiàn),使用于windows操作之間的用戶。</p><p>  軟件:VC++平臺;</p><p><b>  5.2 語言選擇</b></p><p>  本系統(tǒng)采用C

39、++實現(xiàn)。</p><p><b>  5.3 調(diào)試分析</b></p><p>  首先應該明確的是本系統(tǒng)的目的是什么。調(diào)試是在程序運行成功后進行的排除錯誤過程。常用的調(diào)試方法有回溯法、蠻干法和原因排除法。本系統(tǒng)采用回溯法和</p><p><b>  10</b></p><p>  原因排除法

40、比較合適。</p><p>  本系統(tǒng)中每個模塊實現(xiàn)一個功能,當主函數(shù)調(diào)用這些函數(shù)時,就會從接口輸入一些信息,如果程序算法正確,則預期可以得到結(jié)果,通過功能函數(shù)的處理,應該輸出處理結(jié)果,和預期結(jié)果比較,如果不能實現(xiàn)預期的功能,則說明程序中存在隱藏的問題。</p><p>  當選擇好友聊天時,如果輸入聊天信息,,如果好友在線,則好友可以收到此消息,而且在服務器的記錄表中應該記錄此消息的相關(guān)

41、記錄,當用戶發(fā)送查詢請求時可以返回其聊天記錄。</p><p>  當發(fā)生錯誤時,那一功能不能實現(xiàn),就去從新審查實現(xiàn)此功能函數(shù)的代碼,注意實現(xiàn)功能的關(guān)鍵代碼部分,為什么不能得到預期的結(jié)果。</p><p>  不管采用什么辦法,調(diào)試的任務就是找到此系統(tǒng)錯誤的原因并改正。</p><p><b>  6 測試分析</b></p>&

42、lt;p>  在實現(xiàn)本系統(tǒng)的同時每設(shè)計一個模塊,就實現(xiàn)模塊測試,使其能實現(xiàn)該函數(shù)需要實現(xiàn)的功能,此階段為白盒測試。此階段將此模塊作為單獨的一個實體來測試,而且比較容易實際檢驗模塊正確性的測試方案,保證每個模塊單元的正確運行,來確定編碼和詳細設(shè)計的錯誤。</p><p>  然后集成測試。集成測試階段,先將單元測試成功的模塊放在一起形成一個子系統(tǒng)來測試,以解決模塊間的協(xié)調(diào)和通信問題。然后將子系統(tǒng)測試通過的模塊

43、放在一起形成一個完整的系統(tǒng)測試,檢驗功能,來發(fā)現(xiàn)需求報告中的錯誤。</p><p><b>  6.1 測試用例</b></p><p>  為了檢驗此系統(tǒng)的正確性,設(shè)計了以下的一些測試用例:</p><p><b> ?。?)發(fā)送消息</b></p><p>  選擇好友輸入信息:“你好!”<

44、;/p><p>  然后選擇“查詢消息記錄”</p><p><b>  (2)接收消息</b></p><p>  好友發(fā)來消息選擇接收。</p><p>  然后恢復消息:“你好!”</p><p>  然后選擇“查詢消息記錄”</p><p><b>  11&

45、lt;/b></p><p><b> ?。?)查詢消息記錄</b></p><p>  選擇“查詢消息記錄”</p><p>  通過以上此時用例,看此系統(tǒng)能否實現(xiàn)其聊天功能。當發(fā)送消息時,檢測好友端是否輸出“你好!”,當點擊“查詢消息記錄”時,檢測用戶端是否有“你好!”輸出。</p><p>  不同的測試數(shù)據(jù)

46、發(fā)現(xiàn)程序錯誤的能力差別很大,為了提高測試效率低測試成本,應該選擇高效的測試用例,數(shù)據(jù)盡量少,做到盡可能完備的測試就可以了。</p><p><b>  6.2 測試結(jié)果</b></p><p>  此系統(tǒng)測試結(jié)果如下列圖:</p><p>  (1)發(fā)送消息測試結(jié)果如下:</p><p><b>  12<

47、;/b></p><p> ?。?)返回選擇另一好友聊天測試如下:</p><p> ?。?)退出重復好友聊天測試結(jié)果:</p><p>  (4)查詢消息記錄測試結(jié)果:</p><p><b>  6.3 性能分析</b></p><p><b>  13</b>&l

48、t;/p><p>  下面從時間性能和空間性能分析此系統(tǒng):</p><p>  時間性能:本系統(tǒng)采用文件保存方式對用戶的信息進行保存并處理,方便了信息的網(wǎng)絡拷貝,傳輸和下載,縮短了系統(tǒng)對用戶請求的響應時間,而且,文件保存方便了文件打包壓縮處理,為系統(tǒng)處理,傳輸節(jié)約時間。</p><p>  空間性能:本系統(tǒng)在用戶輸入數(shù)據(jù)時采用數(shù)據(jù)緩沖區(qū),解決了高速運行的 CPU工作分配

49、,解放CPU,大大提高了系統(tǒng)的運行速度。</p><p><b>  7用戶手冊</b></p><p>  此系統(tǒng)的用戶手冊包括:此系統(tǒng)的功能,安裝文檔,使用手冊。</p><p> ?。?)系統(tǒng)功能:此系統(tǒng)的功能為實現(xiàn)用戶的聊天信息交互。并能對聊天記錄進行查詢。</p><p>  (2)安裝手冊:在使用此系統(tǒng)之前需

50、要對此系統(tǒng)的安裝,通過VC++平臺將代碼輸入,然后編譯,連接,運行,出現(xiàn)應用控制臺進行聊天。需要說明的是在編譯之前需要設(shè)置服務器的IP設(shè)置,將代碼中的服務器IP地址輸入正確后才可以連接到服務器進行聊天。</p><p> ?。?)使用手冊:當進入聊天界面后,選擇在線好友,選擇聊天,輸入信息,然后選擇發(fā)送,服務器將信息儲存后送給好友,等待好友回復信息。當好友回復后,用戶可以繼續(xù)聊天。</p><

51、p>  當需要查詢消息記錄時,選擇“消息記錄查詢”,將在界面顯示聊天信息。當聊天結(jié)束時,選擇“下線”,用戶可以斷開與服務器的連接,實現(xiàn)下線功能。</p><p><b>  總 結(jié) </b></p><p>  軟件開發(fā)過程是一個復雜的過程,這就要求將其分成若干個階段,若干個部分。</p><p>  把此系統(tǒng)劃分為若干個階段,每個階段的

52、任務獨立,而且比較簡單,便于管理,從而降低了軟件開發(fā)的難道,在每個階段采用科學的管理技術(shù)和良好的技術(shù)方法,而且在每個階段結(jié)束之前都從技術(shù)和管理兩個角度進行嚴格的審查,合格后才進行下一步的工作,這就使開發(fā)工程的全過程以一種有條不紊的方式進行,保證了系統(tǒng)的質(zhì)量,提高了系統(tǒng)的可維護性。</p><p>  總之采用生命周期方法學可以大大提高此系統(tǒng)的開發(fā)成功率。其次,維護占軟件投資的很大比例,所以在開發(fā)時應該提高系統(tǒng)的可

53、維護性。</p><p><b>  14</b></p><p><b>  參考文獻 </b></p><p>  [1] 張海藩. 軟件工程導論,清華大學出版社,2004</p><p>  [2] 陳明. 實用軟件工程基礎(chǔ),清華大學出版社,2003</p><p> 

54、 [3] 殷人昆.實用軟件工程,清華大學出版社,2003</p><p>  [4] 宋波.UML面向?qū)ο蠹夹g(shù)與實踐,科學出版社,2004 </p><p>  #include<iostream.h></p><p>  #include<string.h></p><p>  #include<fstream

55、.h></p><p>  void chat();</p><p>  void checkmessage();</p><p>  void menu();</p><p>  void main()</p><p>  { int k;</p><p><b>  m

56、enu();</b></p><p>  while(k!=3)</p><p><b>  {cin>>k;</b></p><p><b>  switch(k)</b></p><p>  { case 1:chat();menu();break;</p&g

57、t;<p>  case 2:checkmessage();menu</p><p>  ();break;}</p><p><b>  }</b></p><p><b>  }</b></p><p>  void chat()</p><p>  {

58、 int m;</p><p><b>  char *p;</b></p><p>  p=new char[200];</p><p>  ofstream file1;</p><p>  file1.open</p><p>  ("D:\\file1.txt"

59、;,ios::ate);</p><p>  ofstream file2;</p><p>  file2.open</p><p>  ("D:\\file2.txt",ios::ate);</p><p>  ofstream file3;</p><p>  file3.open<

60、/p><p>  ("D:\\file3.txt",ios::ate);</p><p>  while(m!=4){ </p><p>  cout<<"請選擇好友:"<<endl;</p><p>  cout<<"1.張明"<<en

61、dl;</p><p>  cout<<"2.王林"<<endl;</p><p>  cout<<"3.李強"<<endl;</p><p>  cout<<"4.返回"<<endl;</p><p><

62、b>  cin>>m;</b></p><p><b>  switch(m)</b></p><p><b>  {</b></p><p><b>  case 1:{</b></p><p>  cout<<"請輸入消息

63、:</p><p><b>  \n";</b></p><p>  cout<<"李林:";</p><p>  char v[]="李林:";</p><p><b>  cin>>p;</b></p>&

64、lt;p>  cout<<"張明:你好!你</p><p>  叫什么名字?"<<endl;</p><p>  char q[]="張明:你好!</p><p><b>  你叫什么名字?";</b></p><p>  //file1.seek

65、p</p><p>  (0,ios::end);</p><p>  file1.write(v,strlen</p><p><b>  (v));</b></p><p>  file1.write(p,strlen</p><p><b>  (p));</b>

66、</p><p>  file1.write(q,strlen</p><p><b>  (q));</b></p><p>  cout<<"李林:";</p><p><b>  cin>>p;</b></p><p>  

67、cout<<"張明:我叫張明</p><p>  ,在四川大學讀書!今年20歲,你</p><p>  呢?"<<endl;</p><p>  char s[]="張明:我叫</p><p>  張明,在四川大學讀書,今年20歲,你呢?";</p><

68、p>  file1.write(v,strlen</p><p><b>  (v));</b></p><p>  file1.write(p,strlen</p><p><b>  (p));</b></p><p>  file1.write(s,strlen</p>

69、<p><b>  (s));</b></p><p>  cout<<"李林:";</p><p><b>  cin>>p;</b></p><p>  cout<<"張明:好,再見</p><p><b&g

70、t;  !"<<endl;</b></p><p>  char t[]="張明:好,再見! </p><p><b>  ";</b></p><p>  file1.write(v,strlen</p><p><b>  (v));</b&g

71、t;</p><p>  file1.write(p,strlen</p><p><b>  (p));</b></p><p>  file1.write(t,strlen</p><p>  (t));file1.close();}</p><p><b>  break;&l

72、t;/b></p><p><b>  case 2:</b></p><p>  { cout<<"請輸入消息:</p><p><b>  \n";</b></p><p>  cout<<"李林:";</p>

73、<p>  char v[]="李林:";</p><p>  cin>>p; </p><p>  cout<<"王林:你好!你</p><p>  叫什么名字!"<<endl;</p><p>  char q[]="王林:你好!

74、</p><p><b>  你叫什么名字!";</b></p><p>  // file2.seekp</p><p>  (0,ios::end);</p><p>  file2.write(v,strlen</p><p><b>  (v));</b>

75、;</p><p>  file2.write(p,strlen</p><p><b>  (p));</b></p><p>  file2.write(q,strlen</p><p><b>  (q));</b></p><p>  cout<<&q

76、uot;李林:";</p><p><b>  cin>>p;</b></p><p>  cout<<"王林:我叫王林</p><p>  ,在北京大學讀書!今年21歲,你呢!"<<endl;</p><p>  char s[]="王林:我

77、叫</p><p>  王林,在北京大學讀書,今年21歲,你呢!";</p><p>  file2.write(v,strlen</p><p><b>  (v));</b></p><p>  file2.write(p,strlen</p><p><b>  (

78、p));</b></p><p>  file2.write(s,strlen</p><p><b>  (s));</b></p><p>  cout<<"李林:";</p><p><b>  cin>>p;</b></p>

79、;<p>  cout<<"王林:好,拜拜</p><p><b>  !"<<endl;</b></p><p>  char t[]="王林:好,拜拜! </p><p><b>  "; </b></p><p>

80、;  file2.write(v,strlen</p><p><b>  (v));</b></p><p>  file2.write(p,strlen</p><p><b>  (p));</b></p><p>  file2.write(t,strlen</p>&l

81、t;p>  (t));file2.close();}break;</p><p><b>  case 3:{</b></p><p>  cout<<"請輸入消息:</p><p><b>  \n";</b></p><p>  cout<<&

82、quot;李林:";</p><p>  char v[]="李林:";</p><p>  cin>>p; </p><p>  cout<<"李強:你好!你</p><p>  叫什么名字!"<<endl;</p><p>

83、;  char q[]="李強:你好!</p><p><b>  你叫什么名字?";</b></p><p>  // file3.seekp</p><p>  (0,ios::end);</p><p>  file3.write(v,strlen</p><p>

84、<b>  (v));</b></p><p>  file3.write(p,strlen</p><p><b>  (p));</b></p><p>  file3.write(q,strlen</p><p><b>  (q));</b></p>

85、<p>  cout<<"李林:";</p><p><b>  cin>>p;</b></p><p>  cout<<"李強:我叫李強</p><p>  ,在上海大學讀書!今年22歲,你呢?"<<endl;</p><p

86、>  char s[]="李強:我叫</p><p>  李強,在上海大學讀書,今年22歲,你呢?";</p><p>  file3.write(v,strlen</p><p><b>  (v));</b></p><p>  file3.write(p,strlen</p&g

87、t;<p><b>  (p));</b></p><p>  file3.write(s,strlen</p><p><b>  (s));</b></p><p>  cout<<"李林:";</p><p><b>  cin>

88、>p;</b></p><p>  cout<<"李強:好,拜拜</p><p><b>  !"<<endl;</b></p><p>  char t[]="李強:好,拜拜! </p><p><b>  "; </

89、b></p><p>  file3.write(v,strlen</p><p><b>  (v));</b></p><p>  file3.write(p,strlen</p><p><b>  (p));</b></p><p>  file3.writ

90、e(t,strlen</p><p>  (t)); file3.close();}break;</p><p>  //case 4: break;</p><p><b>  }</b></p><p><b>  }</b></p><p>  file1.close

91、();</p><p>  file2.close();</p><p>  file3.close();</p><p><b>  }</b></p><p>  void checkmessage()</p><p>  { int t;</p><p>  ch

92、ar str[1000]="";</p><p>  ifstream file1("D:\\file1.txt");</p><p>  ifstream file2("D:\\file2.txt");</p><p>  ifstream file3("D:\\file3.txt")

93、;</p><p>  while(t!=4){</p><p>  cout<<"\n請輸入要查詢和哪位好友</p><p>  的消息記錄:\n";</p><p>  cout<<"1.張明"<<endl;</p><p>  cout

94、<<"2.王林"<<endl;</p><p>  cout<<"3.李強"<<endl;</p><p>  cout<<"4.返回"<<endl;</p><p><b>  cin>>t;</b>

95、</p><p><b>  switch(t)</b></p><p><b>  {case 1:</b></p><p>  file1.read(str,1000);</p><p>  cout<<str;file1.close();break;</p><

96、p><b>  case 2:</b></p><p>  file2.read(str,1000);</p><p>  cout<<str;file2.close();break;</p><p><b>  case 3:</b></p><p>  file3.read(s

97、tr,1000);</p><p>  cout<<str;file3.close();break;</p><p><b>  }}</b></p><p>  file1.close();</p><p>  file2.close();</p><p>  file3.close

98、();</p><p><b>  }</b></p><p>  void menu(){</p><p>  cout<<" </p><p>  **********************"<<endl;</p>

99、;<p>  cout<<" </p><p>  **********************"<<endl;</p><p>  cout<<" </p><p>  ***歡迎進入聊天系

100、統(tǒng)***"<<endl;</p><p>  cout<<" </p><p>  **********************"<<endl;</p><p>  cout<<" &

101、lt;/p><p>  ***1. 聊天 ***"<<endl;</p><p>  cout<<" </p><p>  ***2. 消息記錄查詢 ***"<<endl;</p><p>  cout<<

102、" </p><p>  ***3. 下線 ***"<<endl;</p><p>  cout<<" </p><p>  **********************"<<en

103、dl;</p><p>  cout<<" </p><p>  **********************"<<endl;</p><p>  cout<<" </p><p>

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論