C實(shí)驗(yàn)指導(dǎo)手冊(cè)_第1頁(yè)
C實(shí)驗(yàn)指導(dǎo)手冊(cè)_第2頁(yè)
C實(shí)驗(yàn)指導(dǎo)手冊(cè)_第3頁(yè)
C實(shí)驗(yàn)指導(dǎo)手冊(cè)_第4頁(yè)
C實(shí)驗(yàn)指導(dǎo)手冊(cè)_第5頁(yè)
已閱讀5頁(yè),還剩104頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、C+實(shí)驗(yàn)指導(dǎo)手冊(cè)實(shí)驗(yàn)一 熟悉實(shí)驗(yàn)環(huán)境一、實(shí)驗(yàn)?zāi)康?. 了解和使用VC集成開發(fā)環(huán)境, 熟悉VC環(huán)境的基本命令和功能鍵;2. 熟悉常用的功能菜單命令, 學(xué)習(xí)使用VC+環(huán)境的幫助;3. 了解用Visual C+開發(fā)C+應(yīng)用程序的過程,二、實(shí)驗(yàn)內(nèi)容 1. 熟悉Visual C+實(shí)驗(yàn)環(huán)境實(shí)驗(yàn)步驟(1) 啟動(dòng)Developer Studio,看看初始化界面由哪些部分組成(2) 查看各菜單項(xiàng),看看都有哪些子菜單和命令(3) 將鼠標(biāo)放置于各工具條圖標(biāo)上,系統(tǒng)會(huì)自動(dòng)顯示該圖標(biāo)代表的命令含義,了解一下都有哪些命令。 (4) 在任意工具條上單擊鼠標(biāo)右鍵,彈出式菜單上將顯示所有可用的工具條,選擇其中沒有對(duì)號(hào)()的項(xiàng),

2、看看有什么效果,再選擇有對(duì)號(hào)的項(xiàng),又有什么效果?(5) 將鼠標(biāo)移動(dòng)到任意工具條上,將鼠標(biāo)放到圖標(biāo)間隙,按下鼠標(biāo)左鍵不放,移動(dòng)鼠標(biāo)到屏幕中間,有什么現(xiàn)象發(fā)生?再將它拖回到原來(lái)位置,有什么現(xiàn)象發(fā)生? (6) 將鼠標(biāo)移動(dòng)到左邊的工作區(qū)窗口,按下鼠標(biāo)左鍵不放,移動(dòng)鼠標(biāo)到屏幕中間,有什么現(xiàn)象發(fā)生?再將它拖回到原來(lái)位置,有什么現(xiàn)象發(fā)生?7) 將鼠標(biāo)移動(dòng)到下邊的輸出窗口,按鼠標(biāo)右鍵,彈出一個(gè)菜單,選擇其中的菜單項(xiàng)"Hide",結(jié)果如何?要重新顯示該窗口,選擇菜單View|Output,窗口是不是又顯示出來(lái)了? (8) 學(xué)習(xí)使用幫助系統(tǒng)。如果你用的是Visual C+5.0,則在工作區(qū)窗口

3、的InfoView中選擇你感興趣的內(nèi)容,雙擊它,在文檔區(qū)顯示具體的幫助信息。如果你用的是Visual C+6.0,選擇菜單Help|Contents,啟動(dòng)MSDN聯(lián)機(jī)幫助系統(tǒng),學(xué)習(xí)使用該幫助系統(tǒng)。聯(lián)機(jī)幫助系統(tǒng)是一個(gè)相對(duì)獨(dú)立的程序,它和Developer Studio是兩個(gè)程序,但是它的啟動(dòng)和停止都受Developer Studio影響。MSDN聯(lián)機(jī)幫助系統(tǒng)運(yùn)行的前提條件是Developer Studio在運(yùn)行。 (9) 選File|Exit退出Developer Studio。2. 控制臺(tái)應(yīng)用程序用AppWizard建立一個(gè)控制臺(tái)應(yīng)用,在終端上輸出"Hello"。術(shù)語(yǔ):“控

4、制臺(tái)應(yīng)用程序”是一個(gè)在DOS窗口中運(yùn)行的基于字符的程序。由于這種模式的應(yīng)用程序比Windows程序簡(jiǎn)單,我們先選擇利用Visual C+來(lái)建立這樣一個(gè)應(yīng)用,這樣使得我們可以將精力先投入到學(xué)習(xí)使用C+編程語(yǔ)言,而不需要把過多的精力投入到學(xué)習(xí)復(fù)雜的Windows編程中去。實(shí)驗(yàn)步驟1) 創(chuàng)建第一個(gè)應(yīng)用首先創(chuàng)建一個(gè)項(xiàng)目(project),項(xiàng)目將代表你的應(yīng)用,存放你應(yīng)用的所有信息,包括源文件、資源文件、編譯連接設(shè)置等。創(chuàng)建項(xiàng)目的步驟為:(1) 啟動(dòng)Developer Studio(2) 從主菜單中選擇File|New,將顯示出New對(duì)話框(3) 選擇Projects標(biāo)簽,并從列表中單擊Win32 Con

5、sole Application(4) 在“Location”編輯框中輸入你的工作目錄名稱,如c:studentyour_name(自建吧)(5) 在對(duì)話框的右上角的“project name”編輯框內(nèi)鍵入項(xiàng)目的名字,如"Hello",系統(tǒng)將自動(dòng)為你的項(xiàng)目分配一個(gè)默認(rèn)的目錄(6) 單擊OK繼續(xù)(7) 如果是VC 6.0,系統(tǒng)將顯示一個(gè)詢問項(xiàng)目類型的程序向?qū)?,選擇“an empty project”(8) 單擊Finish或OK結(jié)束配置,創(chuàng)建應(yīng)用程序這時(shí)系統(tǒng)為你創(chuàng)建一個(gè)新的項(xiàng)目,并且在左邊的工作區(qū)窗口中將出現(xiàn)你項(xiàng)目的名字。工作區(qū)窗口除原來(lái)的InfoView標(biāo)簽外又增加了兩個(gè)標(biāo)

6、簽(如果是Visual C+6.0,則沒有InfoView標(biāo)簽):ClassView和FileView。ClassView從類的角度顯示項(xiàng)目中建立的各個(gè)類,雙擊某個(gè)類名將會(huì)在右邊的文檔顯示區(qū)顯示類的定義文件并把文件的當(dāng)前位置定位到所選的類;FileView顯示構(gòu)成項(xiàng)目的各個(gè)文件,選擇某一文件將會(huì)在右邊的文檔顯示區(qū)顯示文件內(nèi)容;InfoView是VC5的幫助文件目錄,在這里可以選擇所要獲取幫助的標(biāo)題,在右邊將顯示幫助內(nèi)容。2) 編輯你的第一個(gè)C+源程序用下面的方法在你創(chuàng)建的項(xiàng)目中添加一個(gè)文件:(1) 在主菜單上選擇File|New(2) 在New對(duì)話框中選擇File標(biāo)簽,單擊“C+ Source

7、 File”(3) 選中Add to Project復(fù)選框(4) 在右邊的File name編輯框中為文件指定一個(gè)名字,如Hello,系統(tǒng)將自動(dòng)為你加上后綴.cpp。新的空白文件將自動(dòng)打開,顯示在文檔顯示區(qū)。在文件中輸入以下內(nèi)容(不包括上下兩條橫線):/hello world example#include <iostream.h>int main() cout << "hello!"<< endl ;return 0; /正常返回仔細(xì)檢查你輸入的內(nèi)容,確保內(nèi)容正確->常用編輯命令雖然許多編輯命令可以通過菜單和工具欄實(shí)現(xiàn),但大量的編

8、輯命令都可以通過鍵盤實(shí)現(xiàn)。以下命令通常用鍵盤實(shí)現(xiàn):* 撤消前一次操作。當(dāng)你進(jìn)行了一次錯(cuò)誤的操作時(shí),可以通過敲擊鍵盤上的Ctrl+Z完成;* 重復(fù)前一次操作。通過敲擊Ctrl+Y實(shí)現(xiàn)* 剪切一行。用Ctrl+L來(lái)刪除一行并將它放到剪切板中* 剪切。將選中的文本刪除并將它放到剪切板中,用Ctrl+X實(shí)現(xiàn)* 復(fù)制。將選中的文本復(fù)制到剪切板中,用Ctrl+C實(shí)現(xiàn)* 粘貼。將剪切板中的內(nèi)容放到編輯器中文本的當(dāng)前位置處(由光標(biāo)指示)。用Ctrl+V實(shí)現(xiàn).要想了解關(guān)于鍵盤操作命令的完整列表,可以選擇Help菜單下的Keyboard Map。你沒有必要記住所有的命令,有些根本不常用。3) 保存你的源文件單擊工

9、具欄中的"save"圖標(biāo),或者選擇File|Save來(lái)保存你的文件。C+源文件的擴(kuò)展名為.cpp。擴(kuò)展名非常重要,Developer Studio根據(jù)文件的擴(kuò)展名來(lái)區(qū)分文件類型,并且根據(jù)文件類型提供相應(yīng)的編輯幫助(如正確的語(yǔ)法高亮顯示)。4) 編譯、連接得到可執(zhí)行程序編輯結(jié)束后,仔細(xì)檢查你輸入的內(nèi)容,看有無(wú)錯(cuò)誤。確認(rèn)沒有錯(cuò)誤之后,選擇主菜單的Build|Build Hello.exe來(lái)編譯你的項(xiàng)目(也可以按功能鍵F7)。如果你輸入的內(nèi)容沒有錯(cuò)誤,那么,在屏幕下方的輸出窗口將會(huì)顯示:hello.exe -0 error(s), 0 warning(s)如果在編譯時(shí)得到錯(cuò)誤或警

10、告,是你的源文件出現(xiàn)錯(cuò)誤,再次檢查你的源文件,看是否有錯(cuò)誤,改正它。5) 改正源程序中的錯(cuò)誤編譯的錯(cuò)誤會(huì)在Developer Studio的下方的輸出窗口顯示出來(lái),逐個(gè)查看這些錯(cuò)誤的內(nèi)容,用鼠標(biāo)雙擊,光標(biāo)可以自動(dòng)移動(dòng)到發(fā)生錯(cuò)誤的源程序的相應(yīng)地點(diǎn),仔細(xì)檢查你的源程序,改正發(fā)生錯(cuò)誤的地方,注意是否否遺留了分號(hào)、引號(hào)或括號(hào)等。改正后,再重復(fù)步驟4)的操作,直到編譯連接通過為止。6) 運(yùn)行你的第一個(gè)程序你可以有三種方式運(yùn)行你的程序:* 在開發(fā)環(huán)境中運(yùn)行程序選擇Build|Execute hello.exe(或者Ctrl+F5),在開發(fā)環(huán)境中執(zhí)行你的程序。程序運(yùn)行以后將顯示一個(gè)類似于DOS的窗口,在窗口

11、中輸出一行“hello",緊接著在下面顯示“Press any key to continue",這句話是系統(tǒng)提示你按任意鍵退出當(dāng)前運(yùn)行的程序,回到開發(fā)環(huán)境中。按任意鍵,窗口關(guān)閉,退回到Visual C+開發(fā)環(huán)境。我們實(shí)驗(yàn)中將用這種方式運(yùn)行程序。* 在DOS環(huán)境下運(yùn)行程序 打開DOS窗口,改變工作路徑到項(xiàng)目目錄,該目錄是你在創(chuàng)建目錄時(shí)指定的。如果你不記得了,可以在Developer Studio中的工作區(qū)窗口中選擇項(xiàng)目名稱(這里是“hello files"),然后選擇菜單View|Properties,將可以顯示出項(xiàng)目路徑。切換到debug子目錄下,運(yùn)行hello

12、.exe,程序?qū)⑤敵觯?#39;hello'。* 在Windows環(huán)境下運(yùn)行程序打開Windows的資源管理器,找到程序所在的目錄,運(yùn)行它。你看到的結(jié)果是怎樣的?3. Windows應(yīng)用用AppWizard建立一個(gè)MFC Windows應(yīng)用,在窗口中輸出"Hello,World!"術(shù)語(yǔ):AppWizard是一個(gè)工具,利用該工具,你可以創(chuàng)建一個(gè)建立在MFC基礎(chǔ)上的窗口應(yīng)用程序框架,然后在這個(gè)框架中加上自己的應(yīng)用邏輯。你可以選擇所創(chuàng)建的應(yīng)用類型,最常用的是多文檔應(yīng)用(就象你用的字編輯器Microsoft Word一樣,可以同時(shí)打開多個(gè)文檔窗口的應(yīng)用)、單文檔應(yīng)用(類似于

13、Windows提供的notepad,一次只能打開一個(gè)文檔)和對(duì)話框應(yīng)用(類似于Windows的時(shí)鐘程序)。實(shí)驗(yàn)步驟1) 創(chuàng)建一個(gè)新項(xiàng)目利用Developer Studio的AppWizard創(chuàng)建一個(gè)新的項(xiàng)目,步驟為:(1) 選擇菜單File|New,系統(tǒng)將顯示New對(duì)話框(2) 選擇Projects標(biāo)簽,在顯示的項(xiàng)目類型中選擇MFC AppWizard(exe)(3) 在右邊的Project Name編輯框中輸入項(xiàng)目名稱,如“helloMFC",然后按OK.(4) MFC AppWizard 將分幾步詢問你有關(guān)要建立的新項(xiàng)目的配置。第一個(gè)對(duì)話框問你是創(chuàng)建哪種類型的應(yīng)用(單文檔、多文檔

14、還是對(duì)話框類型),選擇創(chuàng)建單文檔應(yīng)用“Single document",然后按Next按鈕(5) 翻過后面的五個(gè)頁(yè)面(按Next),每個(gè)頁(yè)面可以讓你改變項(xiàng)目的不同選項(xiàng),這個(gè)例子暫時(shí)不設(shè)置這些選項(xiàng)。(6) 最后一個(gè)MFC AppWizard屏幕告訴你App Wizard為你自動(dòng)產(chǎn)生的類。單擊Finish鍵,AppWizard顯示一個(gè)關(guān)于該項(xiàng)目的摘要,列出這些類和你所選擇的特征。如圖所示:(7) 單擊OK,系統(tǒng)自動(dòng)產(chǎn)生helloMFC所需要的文件。2) 瀏覽helloMFC項(xiàng)目當(dāng)你用MFC AppWizard創(chuàng)建了helloMFC項(xiàng)目后,這個(gè)項(xiàng)目的工作區(qū)窗口將會(huì)打開,工作區(qū)窗口除了原來(lái)的

15、InfoView以外(VC5.0),增加了三個(gè)標(biāo)簽(如下圖):ClassView、ResourceView和FileView,其中ClassView顯示工作區(qū)中所有項(xiàng)目的類及類的成員;ResourceView顯示項(xiàng)目中包含的資源文件;FileView顯示項(xiàng)目中的各種文件資源。你可以先選擇FileView看一下AppWizard為你創(chuàng)建了哪些文件,然后選擇ClassView看一下定義了哪些類。ClassView中還可以看到一個(gè)Globals文件夾,單擊它前面的加號(hào),可以看到,有一個(gè)預(yù)定義的全局變量theApp,這是你的Windows應(yīng)用程序類的對(duì)象。3) 編譯連接運(yùn)行按F7或者選擇菜單Build

16、|Build helloMFC.exe,編譯連接得到可執(zhí)行程序,再按Ctrl+F5或者選擇Build|Execute helloMFC.exe運(yùn)行該程序。程序的結(jié)果如下: 4) 用MFC處理輸出現(xiàn)在是你來(lái)修改程序的時(shí)候了。我們希望在程序中間的窗口上顯示一行文字“Hello, World" 。如何修改呢?(1) 在工作區(qū)窗口中選擇ClassView標(biāo)簽,單擊helloMFC classes前面的加號(hào)(如果已經(jīng)變成減號(hào)則不做此操作)(2) 單擊類CHelloMFCView類前面的加號(hào)(3) 雙擊OnDraw()函數(shù),在右邊的文檔將顯示窗口顯示文件helloMFCView的內(nèi)容,并且自動(dòng)將

17、光標(biāo)定位到函數(shù)OnDraw()處。(4) 修改OnDraw函數(shù)的定義,在最后一行加一句:pDC->TextOut(50,50,"Hello, World");(5) 按Ctrl+s或者選菜單File|Save來(lái)保存所作的修改5) 編譯連接并運(yùn)行重新編譯連接該項(xiàng)目,運(yùn)行程序,你可以用Ctrl+F5直接運(yùn)行程序,系統(tǒng)將詢問你是否重新編譯該項(xiàng)目,回答“是(Yes)”,如果有編譯錯(cuò)誤,仔細(xì)檢查你加的一句話,是否有錯(cuò)。當(dāng)編譯連接通過后,系統(tǒng)會(huì)自動(dòng)運(yùn)行該程序。結(jié)果與上面有什么不同?經(jīng)過上述修改后,程序可以輸出一行文字“Hello, World"。4. 編寫簡(jiǎn)單的計(jì)算程序

18、輸入圓的半徑,計(jì)算圓的周長(zhǎng)和面積并輸出。測(cè)試數(shù)據(jù)輸入:2輸出:The perimeter of the circle : 12.5664The area of the circle : 12.5664輸入:10輸出:The perimeter of the circle : 62.8318The area of the circle : 314.159實(shí)驗(yàn)步驟1) 創(chuàng)建一個(gè)控制臺(tái)項(xiàng)目選擇菜單File|New,在Projects標(biāo)簽下選擇Windows32 Console Application,輸入項(xiàng)目名稱“circle",然后按OK2) 在項(xiàng)目中增加一個(gè)文件選擇菜單File|New

19、,在Files標(biāo)簽下選擇C/C+ Source File,輸入文件名稱“circle",然后按OK3) 在文件中輸入以下內(nèi)容/該程序讓用戶輸入圓的半徑Radius,輸出圓的周長(zhǎng)Perimeter和面積Area#include <iostream.h>#include <math.h>const double PI = 3.14159; /定義一個(gè)常量PIint main() int radius;double perimeter, area;cout << "Please input the radius: "cin >&

20、gt; radius;perimeter = 2 * PI * radius; /周長(zhǎng)=2Rarea = PI * power(radius, 2); /面積=R2cout << "The perimeter of the circle : " << perimeter << endl;cout << "The area of the circle : " << area << endl;return 0;注:power(radius,2)表示求radius的平方,power(x,

21、y)是系統(tǒng)預(yù)定義的函數(shù),該函數(shù)計(jì)算x的y次方。該函數(shù)的原型在文件math.h中說(shuō)明。4) 編譯、連接并運(yùn)行程序如果你輸入的程序有誤,用下面的方法定位并修改錯(cuò)誤。直到編譯連接通過。運(yùn)行程序,測(cè)試數(shù)據(jù)。->編譯和連接錯(cuò)誤定位* 開發(fā)環(huán)境下方的輸出窗口(Output)顯示編譯和連接過程中出現(xiàn)的錯(cuò)誤,錯(cuò)誤信息包括:錯(cuò)誤出現(xiàn)的文件名、行號(hào)、錯(cuò)誤代碼。* 如果不懂錯(cuò)誤消息,將光標(biāo)移動(dòng)到該錯(cuò)誤信息,按F1,就可以顯示該錯(cuò)誤的幫助信息。* 在output窗口,雙擊錯(cuò)誤或者選擇該錯(cuò)誤再按ENTER鍵,系統(tǒng)自動(dòng)將光標(biāo)移動(dòng)到發(fā)生錯(cuò)誤的源程序行,你然后就可以改正錯(cuò)誤。* F4鍵可以選擇并定位下一個(gè)錯(cuò)誤思考問題(

22、1) 程序中為什么要將頭文件math.h包含進(jìn)來(lái)?(2) 建立控制臺(tái)應(yīng)用程序的通用步驟是怎樣的?實(shí)驗(yàn)二 簡(jiǎn)單的C+程序一、實(shí)驗(yàn)?zāi)康?. 進(jìn)一步熟悉VC集成開發(fā)環(huán)境,常用的功能菜單命令;2. 練習(xí)使用c+語(yǔ)法,學(xué)習(xí)使用VC+基本語(yǔ)句;3. 編寫調(diào)試簡(jiǎn)單C+程序的能力,提高對(duì)簡(jiǎn)單程序的調(diào)試能力。二、實(shí)驗(yàn)內(nèi)容 1. 調(diào)試本章Programming Example;2. 編程實(shí)現(xiàn)并調(diào)試本章Programming Problems 3,4 題。三、 實(shí)驗(yàn)要求1. 掌握C+基本語(yǔ)法,如:變量的定義,數(shù)據(jù)輸出;2. 提前寫出程序源代碼,設(shè)計(jì)實(shí)驗(yàn)測(cè)試用的輸入數(shù)據(jù),預(yù)計(jì)輸出結(jié)果;3. 提交實(shí)驗(yàn)報(bào)告四、注意中英文

23、人名的構(gòu)成差異。實(shí)驗(yàn)三 C+數(shù)據(jù)類型、基本I/O一、實(shí)驗(yàn)?zāi)康?. 熟悉VC+數(shù)據(jù)類型,類型轉(zhuǎn)換,表達(dá)式,函數(shù)的作用和分類;2. 練習(xí)使用常用數(shù)據(jù)類型,表達(dá)式,學(xué)習(xí)使用簡(jiǎn)單的函數(shù);3. 練習(xí)C+格式化輸出的相關(guān)函數(shù)、字符串操作函數(shù)。二、實(shí)驗(yàn)內(nèi)容 1. 有關(guān)表達(dá)式的例題測(cè)試,深入理解個(gè)中運(yùn)算符的優(yōu)先級(jí)、運(yùn)算規(guī)則;2. 調(diào)試本章Programming Example質(zhì)押貸款中的每月還款數(shù)額(按月等額還款);3. 編程實(shí)現(xiàn)并調(diào)試本章Programming Problems 2,4,5 題。三、 實(shí)驗(yàn)要求1. 復(fù)習(xí)C+數(shù)據(jù)類型,運(yùn)算符,表達(dá)式,函數(shù)的作用以及數(shù)據(jù)輸出的格式控制符;2. 提前寫出程序源代碼

24、,設(shè)計(jì)實(shí)驗(yàn)測(cè)試用的輸入數(shù)據(jù),預(yù)計(jì)輸出結(jié)果;四、注意1. 英美錢幣知識(shí)Programming Warm-up Exercise 3.2. 質(zhì)押貸款中的每月還款數(shù)額計(jì)算公式。附:3.1源代碼:/*/This program computes and outputs the volume of a cone/*#include<iostream>#include<cmath>const double pi=3.14;using namespace std;int main() double Radius=6.4,Height=9; double volume; /Define

25、 the needed const numbers and variables volume=float(pi)/3*Radius*Radius*Height; /The formula cout<<"The cone's volume is:"<<volume<<endl; /Output cone's volume return 0;3.2源代碼:#include<iostream>#include<cmath>using namespace std;int main() const int x

26、1=100,x2=200,x3=300,x4=400; /Define four integer values int i,n=4; double mean,s,s1; /Compute the mean mean=(x1+x2+x3+x4)/n; s1=(x1-mean)*(x1-mean)+(x2-mean)*(x2-mean)+(x3-mean)*(x3-mean)+(x4-mean)*(x4-mean); /The formula for the standard deviation s=sqrt(double(s1/(n-1); /Output the result cout<

27、<"The mean of the four numbers is: "<<mean<<endl <<"The standard deviation is: "<<s<<endl; return 0;3.3源代碼:#include<iostream>#include<cmath>double fun(int n) ;int fac(int n);using namespace std;int main()const int n1=15;cout<<&qu

28、ot;the factorial of 15 directly is: "<<fac(n1)<<endl<<"the factorial of 15 using string's formular is: "<<fun(n1)<<endl;return 0; double fun(int n)const double pi=3.14; double p; p=exp(-n)*pow(n,n)*sqrt(2*pi*n); return p;int fac(int n)int i; int fac=1

29、;for(i=2;i<=15;i+) fac=fac*i;return fac; 3.4源代碼:#include<iostream>#include<cmath>#include<iomanip>using namespace std;double fun(int n);int main() double N; const int n1=18,n2=3; N=double(fun(n1)/(fun(n2)*fun(n1-n2); cout<<"the result is"<<setw(6)<<se

30、tprecision(3)<<N<<endl; return 0;double fun(int n) const double pi=3.14; double p; p=double(exp(-n)*pow(n,n)*sqrt(2*pi*n); return p;3.5源代碼:#include<iostream> #include<string>using namespace std; void main() string fullname; string firstname; string middlename; string lastname

31、; string str2; string:size_type startpos; /The position of the first " " string:size_type secondpos; /The position of the second " " string:size_type len; string:size_type length; /The length of the fullname cout<<"Please input a full name:" /Get the full name get

32、line(cin,fullname); startpos=fullname.find(" "); firstname=fullname.substr(0,startpos); /Find the firstname len=firstname.length (); length=fullname.length (); str2=fullname.substr(len+1,length-len); secondpos=str2.find(" "); middlename=str2.substr(0,secondpos) ; /Find the second

33、name len=middlename.length()+len; lastname=fullname.substr(len+2,length); /Find the lastname cout<<"First name:"<<firstname<<endl; /Output firstname,secondname and lastname cout<<"Middle name:"<<middlename<<endl; cout<<"Last name:&qu

34、ot;<<lastname<<endl;實(shí)驗(yàn)四 文件輸入和輸出操作一、實(shí)驗(yàn)?zāi)康?. 熟悉C+通過iostream輸入數(shù)據(jù)的原理和方法,掌握數(shù)據(jù)提取符cin的用法;2. 掌握文件讀寫操作的原理步驟和注意事項(xiàng),熟練文件讀寫操作的編程實(shí)現(xiàn);3. 掌握基于函數(shù)分解的解決問題(編程)方法。二、實(shí)驗(yàn)內(nèi)容 1. 調(diào)試本章Programming Example;2. 編程實(shí)現(xiàn)并調(diào)試本章Programming Problems 2, 3, 4 題。三、 實(shí)驗(yàn)要求1. 掌握cin、cout基本語(yǔ)法和用法;2. 提前寫出程序源代碼,設(shè)計(jì)實(shí)驗(yàn)測(cè)試用的輸入數(shù)據(jù),預(yù)計(jì)輸出結(jié)果;四、注意:1. 通過

35、iostream實(shí)現(xiàn)數(shù)據(jù)輸入的原理和基本步驟,以及需要定義的變量。附:4.2源代碼:#include<iostream>#include<cmath>using namespace std;int main()#include<fstream>#include<iostream>#include<cmath>#include<iomanip> /Access manipulatorsusing namespace std;int main() ofstream outData; /Declare and open file

36、s outData.open("tempdata.dat"); int j; int i; float sum=0.0; /Declare variables float average; float a20; float b20; cout<<"Input 12 temperatures:" for(i=0;i<12;i+) /Get 12 temperatures from the user cin>>ai; sum=sum+ai; average=sum/10; outData<<a0<<end

37、l; /Write out on file"tempdata.dat" for(i=1;i<12;i+) outData<<ai<<" "<<ai-ai-1<<endl; cout<<fixed<<setprecision(2)<<"The average is:" /Output the average <<average<<endl; outData.close(); /Close file return 0;4.3源

38、代碼:#include<iostream>#include<cmath>using namespace std;int main() int x1,x2,x3,x4; /Define four integer values int i,n=4; double mean,s,s1; cout<<"Please input 4 interger values:" cin>>x1>>x2>>x3>>x4; /Compute the mean mean=(x1+x2+x3+x4)/n; s1=(x1

39、-mean)*(x1-mean)+(x2-mean)*(x2-mean)+(x3-mean)*(x3-mean)+(x4-mean)*(x4-mean); /The formula for the standard deviation s=sqrt(double(s1/(n-1); /Output the result cout<<"The mean of the four numbers is: "<<mean<<endl <<"The standard deviation is: "<<s&

40、lt;<endl; return 0;4.4源代碼A:#include<iostream>#include<fstream>#include<string>using namespace std;int main()ifstream indata;string filename;cout<<"Enter the input filename:"<<endl;cin >> filename;indata.open("filename.c_str()");char ch;int f

41、lag=0;indata.get(ch);while(ch!='*') indata.get(ch);if(ch=',')flag=1;if(flag=1)indata.get(ch);while (ch=' ') flag=0;cout<<endl;else cout<<ch;indata.close();return 0;4.4 源代碼B:/課本第150頁(yè),第4題#include <iostream>#include <fstream>#include <string>using n

42、amespace std;int main()string first,second,third,filename;ifstream indata;cout<<"請(qǐng)輸入文件名:"cin>>filename;indata.open(filename.c_str();indata.ignore(200,',');indata>>first;indata.ignore(200,',');indata>>second;indata.ignore(200,',');indata>&g

43、t;third;cout<<first<<endl<<second<<endl<<third<<endl;indata.close();return 0;實(shí)驗(yàn)五 選擇控制結(jié)構(gòu)一、實(shí)驗(yàn)?zāi)康?. 熟悉VC條件運(yùn)算符,構(gòu)造條件表達(dá)式;2. 練習(xí)使用If-Then-Else語(yǔ)句; 練習(xí)使用嵌套的If-Then-Else語(yǔ)句;3. 跟蹤C(jī)+程序的運(yùn)行,提高對(duì)程序的調(diào)試能力。二、實(shí)驗(yàn)內(nèi)容 1. 調(diào)試本章Programming Example;2. 編程實(shí)現(xiàn)并調(diào)試本章Programming Problems 1,4,7,8 選做2-3題

44、on Page 196198。三、 實(shí)驗(yàn)要求1. 掌握C+條件運(yùn)算,會(huì)構(gòu)造C+條件表達(dá)式;2. 提前寫出程序源代碼,設(shè)計(jì)實(shí)驗(yàn)測(cè)試用的輸入數(shù)據(jù),預(yù)計(jì)輸出結(jié)果;四、注意:1. C+程序的調(diào)試方法,參見附錄5。附:5.1源代碼:#include<iostream>using namespace std;int main()char ch; cout<<"input a letter: " cin>>ch; if(ch='A') cout<<"Alpha"<<endl; if(ch=&#

45、39;B') cout<<"Bravo"<<endl; if(ch='C') cout<<"Charlie"<<endl; if(ch='D') cout<<"Delta"<<endl; if(ch='E') cout<<"Echo"<<endl; if(ch='F') cout<<"Foxtrot"<<e

46、ndl; if(ch='G') cout<<"Golf"<<endl; if(ch='I') cout<<"India"<<endl; if(ch='J') cout<<"Juliet"<<endl; if(ch='K') cout<<"Kilo"<<endl; if(ch='L') cout<<"Lima"&

47、lt;<endl; if(ch='M') cout<<"Mike"<<endl; if(ch='N') cout<<"November"<<endl; if(ch='O') cout<<"Oscar"<<endl; if(ch='P') cout<<"Papa"<<endl; if(ch='Q') cout<<"Q

48、uebec"<<endl; if(ch='R') cout<<"Romeo"<<endl; if(ch='S') cout<<"Sierra"<<endl; if(ch='T') cout<<"Tango"<<endl; if(ch='U') cout<<"Uniform"<<endl; if(ch='V') cout&

49、lt;<"Victor"<<endl; if(ch='W') cout<<"Whiskey"<<endl; if(ch='X') cout<<"X-ray"<<endl; if(ch='Y') cout<<"Yankee"<<endl; if(ch='Z') cout<<"Zulu"<<endl; return 0;5.

50、4源代碼:#include<iostream>using namespace std;int main() int number1,number2,number; cout<<"The start day is (0-6): " cin>>number1; if(number1<0|number1>6) cout<<number1<<"is not between 0 and 6"<<endl; else cout<<"the day of the

51、year (1-366): " cin>>number2; if(number2<1|number2>366) cout<<number2<<"is not between 1 and 366"<<endl; number=(number1+number2-1)%7; cout<<"The day is :" if(number=0) cout<<"Sunday"<<endl; if(number=1) cout<<&

52、quot;Monday"<<endl; if(number=2) cout<<"Tuesday"<<endl; if(number=3) cout<<"Thiresday"<<endl; if(number=4) cout<<"Wednesday"<<endl; if(number=5) cout<<"Friday"<<endl; if(number=6) cout<<"Sat

53、urday"<<endl; return 0;5.7源代碼:/5.7題:若干裁判評(píng)分程序#include<iostream>using namespace std;int main()int i,j; float s4,average,min; cout<<"Enter four scores"<<endl; for(i=0;i<4;i+) cout<<"s"<<i<<"="cin>>si; while(si<0|si

54、>10) /revised 20100328 cout<<"s"<<i<<" is invalid"<<endl; cout<<"input s"<<i<<" again"<<endl; cin>>si; min=s0; /可以用一個(gè)循環(huán)實(shí)現(xiàn)選擇最小的值 if(min>s1) min=s1; if(min>s2) min=s2; if(min>s3) min=s3; average=(

55、s0+s1+s2+s3-min)/3.0; cout<<"the overall score is "<<average<<endl; return 0;5.8源代碼:#include<iostream>#define N 3using namespace std;int main()int i,j; float sN,t; cout<<"Enter the scores "<<endl; for(i=0;i<N;i+) cin>>si; for(i=0;i<

56、N-1;i+) for(j=i+1;j<N;j+) if(si<sj) t=si; si=sj; sj=t; cout<<"the median is " <<s(N-1)/2<<endl; return 0;實(shí)驗(yàn)六 循環(huán)控制結(jié)構(gòu)一、實(shí)驗(yàn)?zāi)康?. 熟悉VC循環(huán)結(jié)構(gòu)的常用實(shí)現(xiàn)語(yǔ)句;2. 練習(xí)使用循環(huán)的構(gòu)造方法:計(jì)數(shù)型循環(huán)(count-controlled loops)、事件控制型循環(huán)(event-controlled loops)、標(biāo)志控制型循環(huán)(flag-controlled loops)等;3. 練習(xí)嵌套的循環(huán)程序。二、實(shí)驗(yàn)

57、內(nèi)容 1. 調(diào)試本章Programming Example;2. 編程實(shí)現(xiàn)并調(diào)試本章Programming Problems 1,2,4,5 題。三、 實(shí)驗(yàn)要求1. 掌握常用的C+循環(huán)構(gòu)造方法;2. 提前寫出程序源代碼,設(shè)計(jì)實(shí)驗(yàn)測(cè)試用的輸入數(shù)據(jù),預(yù)計(jì)輸出結(jié)果;四、注意:1. Programming Problems 第5 題回文的判斷,從性能和算法等方面考慮該題目的進(jìn)一步改進(jìn)(后續(xù)實(shí)驗(yàn)題討論)。附1.1:Programming Problems 第4 題源代碼A。/* Palindrome judging Program using looping and character comparin

58、g*/* This program is to judge whether a string read from cin is a strict Palindrome */* Provided by Mr. Cao Zaihui, Nov. 2, 2007*/* 用字符比較的方式判斷回文 */#include<iostream>#include<string.h>using namespace std;const int size=100;int main() char asize; int b; /記錄字符串的長(zhǎng)度 int flag=1; cin>>a;

59、b=strlen(a); /取字符串長(zhǎng)度的函數(shù),但是空字符不在其中 for(int i=0;i<b/2;i+) if(ai!=ab-i-1) flag=0; break; if(flag) cout<<"It is a Palindrome! " else cout<<" It is NOT a Palindrome!" return 0;附1.2. Programming Problems 第4 題源代碼B。/* Palindrome judging Program using looping and character comparing*/* This program is to judge whether a string read from cin is a strict Palindrome */* Provided by Ms. Li Li, Nov. 22, 2007*/* 用字符比較的方式判斷回文 */using namespace std;int main() string str1; string:size_type len; int i,j; cout<<"Enter th

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論