2023年面向?qū)ο蟪绦蛟O(shè)計(jì)材料_第1頁
2023年面向?qū)ο蟪绦蛟O(shè)計(jì)材料_第2頁
2023年面向?qū)ο蟪绦蛟O(shè)計(jì)材料_第3頁
2023年面向?qū)ο蟪绦蛟O(shè)計(jì)材料_第4頁
2023年面向?qū)ο蟪绦蛟O(shè)計(jì)材料_第5頁
已閱讀5頁,還剩13頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

《面向?qū)ο蟪绦蛟O(shè)計(jì)》實(shí)驗(yàn)指導(dǎo)書實(shí)驗(yàn)類別:設(shè)計(jì)實(shí)驗(yàn)課程名稱:面向?qū)ο蟪绦蛟O(shè)計(jì)方法學(xué)實(shí)驗(yàn)室名稱:軟件基礎(chǔ)實(shí)驗(yàn)室實(shí)驗(yàn)課程編號:總學(xué)時(shí):56學(xué)分:3.5合用專業(yè):計(jì)算機(jī)科學(xué)與技術(shù)、網(wǎng)絡(luò)工程、物聯(lián)網(wǎng)先修課程:有一門程序設(shè)計(jì)語言基礎(chǔ)實(shí)驗(yàn)在教學(xué)培養(yǎng)計(jì)劃中地位、作用:面向?qū)ο蟪绦蛟O(shè)計(jì)方法學(xué)是一門實(shí)踐性很強(qiáng)的課程,每個(gè)學(xué)生必須完畢一定數(shù)量的上機(jī)實(shí)驗(yàn)。實(shí)驗(yàn)課是對學(xué)生的一種全面綜合訓(xùn)練,是與課堂聽講、自學(xué)和練習(xí)相輔相成的必不可少的一個(gè)教學(xué)環(huán)節(jié)。本課程使學(xué)生熟悉C++的語法特性,了解C與C++的區(qū)別和兼容性;理解面向?qū)ο蟪绦蛟O(shè)計(jì)的基本原理,涉及類、對象、抽象、封裝、繼承和多態(tài)性等關(guān)鍵要素以及其關(guān)鍵語法特性—類;掌握用C++編寫面向?qū)ο蟪绦虻囊话惴椒?了解VC++編程環(huán)境。通過上機(jī)實(shí)驗(yàn)進(jìn)一步加深對課程基本內(nèi)容的理解。同時(shí),在程序設(shè)計(jì)方法及上機(jī)操作等基本技能和科學(xué)作風(fēng)方面受到比較系統(tǒng)的、嚴(yán)格的訓(xùn)練。實(shí)驗(yàn)一語句與程序流程(2學(xué)時(shí))1、實(shí)驗(yàn)?zāi)康?1)了解C++開發(fā)工具的特點(diǎn)(2)熟悉C++開發(fā)環(huán)境(3)學(xué)會編寫簡樸的C++程序。(4)練習(xí)使用簡樸的輸入輸出。(5)熟悉各種流程控制語句的功能。2、實(shí)驗(yàn)內(nèi)容(1)輸入并運(yùn)營程序:用do-while語句編程,求自然數(shù)1~10之和。程序?qū)Φ倪\(yùn)營之后,去掉源程序中的#include語句,重新編譯,觀測會有什么問題。(2)do-while語句用for語句代替,完畢相同的功能。(3)編程計(jì)算圖形的面積。程序可計(jì)算圓形、長方形、正方形的面積,運(yùn)營時(shí)先提醒用戶選擇圖形的類型,然后,對圓形規(guī)定用戶輸入半徑值,對長方形規(guī)定用戶輸入長和寬的值,對正方形規(guī)定用戶輸入邊長的值,計(jì)算出面積后將其顯示出來。3、實(shí)驗(yàn)規(guī)定(1)注意自始至終貫徹課程中所介紹程序設(shè)計(jì)風(fēng)格,養(yǎng)成良好的編程習(xí)慣。(2)獨(dú)立完畢所布置習(xí)題。(3)為保證盡量在統(tǒng)一安排的上機(jī)時(shí)間內(nèi)編譯運(yùn)營通過程序,應(yīng)事先設(shè)計(jì)好程序。(4)認(rèn)真完畢每次實(shí)驗(yàn),并寫出實(shí)驗(yàn)報(bào)告。4、實(shí)驗(yàn)環(huán)節(jié)(1)啟動VisualC++開發(fā)環(huán)境(2)創(chuàng)建一個(gè)項(xiàng)目1)單擊File菜單中的New選項(xiàng),顯示新建對話框2)選擇Win32ConsoleApplication(VC++)。3)選擇項(xiàng)目所在途徑及輸入項(xiàng)目的名稱lab1_14)依次按‘下一步’直至完畢為止。(3)至此,已經(jīng)建立好工程相關(guān)的文獻(xiàn),在生成的main函數(shù)中寫入必要的內(nèi)容即可。(4)輸入并運(yùn)營程序:用do-while語句編程,求自然數(shù)1~10之和1)建立C++源程序文獻(xiàn)選菜單命令Project|AddtoProject|New,彈出New對話框在New對話框的Files選項(xiàng)卡中選擇C++SourceFile,并填入文獻(xiàn)名稱lab1_1,單擊OK按鈕,完畢新建C++源程序文獻(xiàn)2)編輯C++源程序文獻(xiàn)在文獻(xiàn)編輯窗口中輸入代碼完畢后,選擇菜單File|Save保存這個(gè)文獻(xiàn)3)建立并運(yùn)營可執(zhí)行程序選擇菜單命令Build,建立可執(zhí)行程序假如你對的輸入了源程序,此時(shí)便成功地生成了可執(zhí)行程序。假如程序有語法錯(cuò)誤,則屏幕下方的狀態(tài)窗口中會顯示錯(cuò)誤信息,根據(jù)這些錯(cuò)誤信息對源程序進(jìn)行修改后,重新選擇菜單命令Build建立可執(zhí)行程序。選擇菜單命令Run,運(yùn)營程序,觀測屏幕顯示內(nèi)容。(5)程序?qū)Φ倪\(yùn)營之后,在源程序第一行”#include<iostream.h>”前面加注釋標(biāo)記”//”使之成為注釋行,重新編譯,觀測編譯的結(jié)果。(6)選擇菜單命令File|ColseWorkSpace關(guān)閉工作空間,另建立一個(gè)項(xiàng)目lab1_2,包含一個(gè)C++源程序lab1_2.cpp,將do-while語句用for語句代替,完畢與實(shí)驗(yàn)內(nèi)容1相同的功能。(7)選擇菜單命令File|ColseWorkSpace關(guān)閉工作空間,建立項(xiàng)目lab1_3,包含一個(gè)C++源程序lab1_3.cpp,計(jì)算圖形面積。圓形的面積計(jì)算公式為S=PI*r*r,長方形的面積計(jì)算公式為S=a*b,正方形的面積市場計(jì)算公式為S=a*a。程序中定義一個(gè)整型變量iType表達(dá)圖形的類型,用cout語句輸出提醒信息讓用戶選擇圖形的型,用cin讀入iType的值,然后,使用switch語句判斷圖形的類型,分別提醒用戶輸入需要的參數(shù)值,計(jì)算出面積的值后用cout語句顯示出來。最后編譯運(yùn)營程序。參考程序如下://lab3_3.cpp#include<iostream>usingnamespacestd;constfloatPI=3.1416;intmain(){intiType;floatradius,a,b,area;cout<<”圖形的類型?(1為圓形,2為長方形,3為正方形):”;cin>>iType;switch(iType){case1:cout<<“圓的半徑為:”;cin>>radius;area=PI*radius*radius;cout<<”面積為”<<area<<endl;break;case2:cout<<”矩形的長為:”;cin>>a;cout<<”矩形的寬為:”;cin>>b;area=a*b;cout<<”面積為:”<<area<<endl;break;case3:cout<<”正方形的邊長為:”;cin>>a;area=a*a;cout<<”面積為:”<<area<<endl;break;default:cout<<”不是合法的輸入值!”<<endl;}return0;}實(shí)驗(yàn)二函數(shù)與重載(2學(xué)時(shí))1、實(shí)驗(yàn)?zāi)康?1)掌握函數(shù)的定義和調(diào)用方法。(2)練習(xí)重載函數(shù)使用。(3)練習(xí)缺省參數(shù)的函數(shù)使用(4)練習(xí)使用系統(tǒng)函數(shù)。2、實(shí)驗(yàn)內(nèi)容:(1)編寫一個(gè)函數(shù)把華氏溫度轉(zhuǎn)換為攝氏溫度,轉(zhuǎn)換公式為:C=(F-32)*5/9。(2)編寫重載函數(shù)max1可分別求取兩個(gè)整數(shù),三個(gè)整數(shù),兩個(gè)雙精度數(shù),三個(gè)雙精度數(shù)的最大值。(3)給求取兩個(gè)整數(shù)最大值的重載函數(shù)max1賦缺省參數(shù)值0,并運(yùn)用該函數(shù)來判斷某個(gè)整數(shù)是否大于0,比如max1(-6)。(4)使用系統(tǒng)函數(shù)pow(x,y)計(jì)算x^y的值,注意包含頭文獻(xiàn)cmath。3、實(shí)驗(yàn)規(guī)定(1)注意自始至終貫徹課程中所介紹程序設(shè)計(jì)風(fēng)格,養(yǎng)成良好的編程習(xí)慣。(2)獨(dú)立完畢所布置習(xí)題。(3)為保證盡量在統(tǒng)一安排的上機(jī)時(shí)間內(nèi)編譯運(yùn)營通過程序,應(yīng)事先設(shè)計(jì)好程序。(4)認(rèn)真完畢每次實(shí)驗(yàn),并寫出實(shí)驗(yàn)報(bào)告。4、實(shí)驗(yàn)環(huán)節(jié):(1)編寫函數(shù)floatConvert(floatTempFer),參數(shù)的返回值都為float類型,實(shí)現(xiàn)算法C=(F-32)*5/9,在main()函數(shù)中實(shí)現(xiàn)輸入、輸出。程序名為lab2_1.cpp.(2)分別編寫四個(gè)同名函數(shù)max1,實(shí)現(xiàn)函數(shù)重載,在main()函數(shù)中測試函數(shù)功能。程序名:lab2_2.cpp。參考程序如下:#include<iostream>usingnamespacestd;intmax1(inta=0,intb=0){ returna>b?a:b;}intmax1(inta,intb,intc){?inttmp=max1(a,b);?returntmp>c?tmp:c;}doublemax1(doublea,doubleb){ returna>b?a:b;}doublemax1(doublea,doubleb,doublec){ doubletmp=max1(a,b);?returntmp>c?tmp:c;}intmain(){?intn1,n2,n3; cout<<"請輸1個(gè)整數(shù):";?cin>>n1;?if(max1(n1)==0)??cout<<"這個(gè)數(shù)小于或等于0"; else??cout<<"這個(gè)數(shù)大于0"; cout<<"請輸2個(gè)整數(shù):"; cin>>n1>>n2; cout<<"最大值為"<<max1(n1,n2)<<endl;?cout<<"請輸3個(gè)整數(shù):";?cin>>n1>>n2>>n3;?cout<<"最大值為"<<max1(n1,n2,n3)<<endl; doubled1,d2,d3;?cout<<"請輸2個(gè)實(shí)數(shù):";?cin>>d1>>d2; cout<<"最大值為"<<max1(d1,d2)<<endl;?cout<<"請輸3個(gè)實(shí)數(shù):"; cin>>d1>>d2>>d3;?cout<<"最大值為"<<max1(d1,d2,d3)<<endl;return0;}(3)若將三個(gè)整數(shù)的函數(shù)給定缺省參數(shù)值0,重新編譯,觀測編譯的結(jié)果。(4)在main()函數(shù)中提醒輸入兩個(gè)整數(shù)x,y,使用cin語句得到x,y的值,調(diào)用pow(x,y)函數(shù)計(jì)算x的y次冪的結(jié)果,再顯示出來。程序名:lab2_2.cpp。實(shí)驗(yàn)三類的定義與使用(2學(xué)時(shí))1、實(shí)驗(yàn)?zāi)康模?)掌握類的定義和使用(2)掌握類的定義和對象的聲明(3)觀測構(gòu)造函數(shù)和析構(gòu)函數(shù)的執(zhí)行過程。(4)觀測具有不同訪問屬性的成員的訪問方式。 2、實(shí)驗(yàn)內(nèi)容(1)定義一個(gè)TDate類,包含年(year)、月(month)、日(day)等屬性,有三個(gè)公有成員函數(shù):SetDate來設(shè)立日期、AddOneDay來對日期進(jìn)行加1天的操作、print來輸出日期;(2)對構(gòu)造函數(shù)或成員函數(shù)進(jìn)行重載;(3)設(shè)立構(gòu)造函數(shù)或成員函數(shù)的缺省參數(shù)(4)觀測構(gòu)造函數(shù)和析構(gòu)函數(shù)的調(diào)用順序;(5)觀測具有不同訪問屬性的成員的訪問方式。3、實(shí)驗(yàn)規(guī)定(1)注意自始至終貫徹課程中所介紹程序設(shè)計(jì)風(fēng)格,養(yǎng)成良好的編程習(xí)慣。(2)獨(dú)立完畢所布置習(xí)題。(3)為保證盡量在統(tǒng)一安排的上機(jī)時(shí)間內(nèi)編譯運(yùn)營通過程序,應(yīng)事先設(shè)計(jì)好程序。(4)認(rèn)真完畢每次實(shí)驗(yàn),并寫出實(shí)驗(yàn)報(bào)告。4、實(shí)驗(yàn)環(huán)節(jié)(1)添加一個(gè)頭文獻(xiàn)TDate.h來定義TDat(yī)e類。包含:1)私有數(shù)據(jù)成員:年(year)、月(month)、日(day)等;2)定義2個(gè)構(gòu)造函數(shù),并對其中的一個(gè)構(gòu)造函數(shù)設(shè)立缺省參數(shù);3)定義1個(gè)析構(gòu)函數(shù)。4)定義成員函數(shù)SetDate來設(shè)立日期,AddOneDay來對日期進(jìn)行加1天的操作,print來輸出日期。(2)添加一個(gè)源文獻(xiàn)TDate.cpp來實(shí)現(xiàn)成員函數(shù)。(3)在主程序中定義若干個(gè)TDate類的對象,調(diào)用其成員函數(shù),觀測類對象的構(gòu)造與析構(gòu)順序,以及成員函數(shù)的調(diào)用。寫在此外一個(gè)cpp文獻(xiàn)中。(4)將成員函數(shù)print的訪問屬性設(shè)為private或protected后,重新編譯,觀測編譯結(jié)果。//======日期類定義部分TDate.h======//#include<iostream>usingnamespacestd;#ifndefTDate_H#defineTDate_HclassTDate{public:?TDate()?{ year=2023;month=1;day=1; ?cout<<"調(diào)用缺省的構(gòu)造函數(shù)"<<endl;?}?TDate(inty,intm=1,intd=1) {??year=y(tǒng);month=m;day=d;? cout<<"調(diào)用帶參數(shù)的構(gòu)造函數(shù)"<<endl; }; voidSetDate(inty,intm,intd); voidAddOneDay();?voidprint();?~TDate(){cout<<"private: intyear; intmonth;?intday;};#endif//======日期類實(shí)現(xiàn)部分TDate.cpp======//#include"TDate.h"intmaxDays(int,int);voidTDate::print(){cout<<year<<"年"<<month<<"月"<<day<<"日"<<endl;}voidTDate::SetDate(inty,intm,intd){ year=y;?month=m; day=d;}voidTDate::AddOneDay(){?day=day+1;?if(day>maxDays(year,month)) {month=month+1;? day=1;}?if(month>12)?{year=year+1; ?month=1; }}intmaxDays(inty,intm){?intdays; switch(m)?{??case1: ?case3: ?case5:??case7:? case8:??case10:??case12:? ?days=31;//31天? ?break;? case2: if((y%4==0&&y%100!=0)||y%400==0)//閏年29天 ?? ???days=29; ?else days=28; break;?? //}? default://30天 ?days=30;? break; } returndays;};//======主函數(shù)部分Lab3.cpp======//intmain(){?TDated0; cout<<"不帶參數(shù)的日期對象:"; d0.print(); TDated1(2023);?cout<<"帶1個(gè)參數(shù)的日期對象:"; d1.print();?TDated2(2023,12);?cout<<"帶2個(gè)參數(shù)的日期對象:";?d2.print(); TDated3(2023,10,14);?d3.AddOneDay();?cout<<"帶3個(gè)參數(shù)的日期對象加一天后:";?d3.print(); d3.SetDate(2023,4,8);?cout<<"重新設(shè)定日期后:"; d3.print();?return0;}實(shí)驗(yàn)四靜態(tài)成員與常成員的使用(2學(xué)時(shí))1、實(shí)驗(yàn)?zāi)康?1)學(xué)習(xí)靜態(tài)成員的使用(2)學(xué)習(xí)常成員的使用(3)掌握靜態(tài)數(shù)據(jù)成員與常數(shù)據(jù)成員的初始化2、實(shí)驗(yàn)內(nèi)容(1)某商店經(jīng)銷一種貨品,貨品成箱購進(jìn),成箱賣出,購進(jìn)和賣出時(shí)以重量為單位,各箱的重量不同樣,因此,商店需要記錄下目前庫存的貨品的總重量,現(xiàn)在規(guī)定設(shè)計(jì)一個(gè)Goods類并使用靜態(tài)成員來模擬商店貨品購進(jìn)和賣出的情況;(2)為上面的Goods類添加一個(gè)常數(shù)據(jù)成員(貨品名稱),并對貨品名稱進(jìn)行初始化;(3)將前面已定義的某些成員函數(shù)改寫為常成員函數(shù),觀測是否該類中所有的成員函數(shù)是否都可設(shè)定為常成員函數(shù)。3、實(shí)驗(yàn)規(guī)定(1)注意自始至終貫徹課程中所介紹程序設(shè)計(jì)風(fēng)格,養(yǎng)成良好的編程習(xí)慣。(2)獨(dú)立完畢所布置習(xí)題。(3)為保證盡量在統(tǒng)一安排的上機(jī)時(shí)間內(nèi)編譯運(yùn)營通過程序,應(yīng)事先設(shè)計(jì)好程序。(4)認(rèn)真完畢每次實(shí)驗(yàn),并寫出實(shí)驗(yàn)報(bào)告。4、實(shí)驗(yàn)環(huán)節(jié)(1)添加一個(gè)頭文獻(xiàn)Goods.h來定義Goods類。包含:1)私有數(shù)據(jù)成員貨品重量(weight)、私有靜態(tài)數(shù)據(jù)成員庫存總重量(totalWeight);2)定義構(gòu)造函數(shù)來描述進(jìn)貨過程;3)定義成員函數(shù)Sell來描述貨品賣出過程,成員函數(shù)GetWeight來獲取當(dāng)前貨品重量。4)定義靜態(tài)成員函數(shù)GetTotalWeight來讀取當(dāng)前貨品的庫存總重量。5)自定義若干個(gè)成員函數(shù)。(2)添加一個(gè)源文獻(xiàn)Goods.cpp來實(shí)現(xiàn)成員函數(shù)。(3)在主程序中定義若干個(gè)Goods類的對象,模擬進(jìn)貨與賣出的過程。查看運(yùn)營結(jié)果。(4)為Goods類添加一個(gè)常數(shù)據(jù)成員constchar*name來表達(dá)貨品名稱,改寫構(gòu)造函數(shù)及主程序的調(diào)用,在構(gòu)造函數(shù)的成員初始化列表中對貨品名稱賦初值。重新編譯,觀測運(yùn)營結(jié)果。(5)將前面已定義的某些成員函數(shù)改寫為常成員函數(shù),觀測是否該類中所有的成員函數(shù)是否都可設(shè)定為常成員函數(shù)。參考程序如下:#incl

溫馨提示

  • 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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論