浙江理工大學(xué)信息學(xué)院 面向?qū)ο蟪绦蛟O(shè)計實驗報告 實驗名稱: 類得定義與使用
學(xué)時安排:3 實驗類別:
設(shè)計性實驗
實驗要求:1 人 1組 姓名:邵旸珂
學(xué)號:28
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
一、實驗?zāi)康?1)掌握類得概念、類得定義格式、類與結(jié)構(gòu)得關(guān)系、類得成員屬性與類得封裝性; 2)掌握類對象得定義; 3)理解類得成員得訪問控制得含義,公有、私有與保護成員得區(qū)別; 4)掌握構(gòu)造函數(shù)與析構(gòu)函數(shù)得含義與作用、定義方式與實現(xiàn),能夠根據(jù)要求正確定義與重載構(gòu)造函數(shù)。能夠根據(jù)給定得要求定義類并實現(xiàn)類得成員函數(shù); 二、實驗原理介紹 通過建立類及對象,用類得成員函數(shù)與對象訪問類得成員; 利用建立類得構(gòu)造函數(shù),完成類得成員得初始化工作; 三、實驗設(shè)備介紹 軟件需求: windows 或 linux 下得 c++編譯器 硬件需求: 對于硬件方面得要求,建議配置就是Pentium III 450以上得 CPU 處理器,64MB 以上得內(nèi)存,200MB得自由硬盤空間、CD-ROM驅(qū)動器、能支持 24位真彩色得顯示卡、彩色顯示器、打印機。
四、實驗內(nèi)容 編寫一個程序,模擬電梯得功能.功能接口包括電梯上行按鈕、下行按鈕、樓層選擇與電梯在行駛過程中得樓層顯示。
要求:
1、由用戶選擇按上行按鈕還就是下行按鈕,選擇操作后再由用戶輸入要進入得樓
層,進而電梯開始運行,顯示所到得每一樓層層數(shù).
2、如果就是上行,則選擇輸入得樓層號不能比當(dāng)前樓層號小,否則應(yīng)給出不合法提示.
?。场?如果就是下行,則選擇輸入得樓層號不能比當(dāng)前樓層號大,否則應(yīng)給出不合法提示。
?。?、電梯一旦開始運作就會始終運行,直到窗口關(guān)閉. 5、電梯在經(jīng)過不同樓層時,最好每個樓層得顯示之間能有延遲,最終??康脴菍拥幂敵鲂问侥芨有涯俊H绻梢?在電梯最初開始運行時,能在電梯由內(nèi)部顯示當(dāng)前日期(提示:實現(xiàn)這些功能時,需要調(diào)用系統(tǒng) api,實現(xiàn)時間顯示功能可以使用 CDat(yī)e 類)。
五 程序清單 #include <iostream〉 #include 〈ctime> #include <windows、h> using namespace std; int n,floorNumber; class Elevator { private:
數(shù)層樓得總梯電//
;roolf tni? bool up;
//就是否上行,bool 為布爾類型,可取值 true 或 false
bool down;
//就是否下行
int currentFloor; //當(dāng)前所在樓層 public:
;)roolf tni(rotavelE? void setUpButton();
//按下上行按鈕
void setDownButton();
//按下下行按鈕
電層樓得入進要據(jù)根//
;)rebmuNroolf tni(rebmuNroolFtes diov?梯開始運行,并逐層顯示經(jīng)過得樓層
層樓在所前當(dāng)?shù)毛@//;)(roolFtnerruCteg tni?
;)(egrahc diov?
??;)(eciohc tni?}; Elevator::Elevator(int f) {
floor =f;
up=false;
down=false;
currentFloor=1; }; void Elevator::setUpButton() {
if(currentFloor>floorNumber)
{
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_RED|FOREGROUND_GREEN);
cout〈<”您不能上行!"〈〈endl〈<endl;
}
else if(floorNumber>floor)
{
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_RED|FOREGROUND_GREEN);
cout〈〈”沒這一層!太高啦!您想上天?!”<<endl<〈endl;
}
else up=true; }
void Elevator::setDownButton()
{
if(currentFloor〈floorNumber)
{
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),F(xiàn)OREGROUND_INTENSITY|FOREGROUND_RED|FOREGROUND_GREEN);
cout〈〈"您不能下行!”<〈endl〈<endl;
}
else if(floorNumber〈1)
{
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_RED|FOREGROUND_GREEN);
cout<〈"沒這一層!太低啦!您想入地??。?lt;<endl<〈endl;
}
else down=true; } void Elevator::setFloorNumber(int floorNumber)
?。?/p>
if(up)
{
for(;currentFloor〈floorNumber;currentFloor++)
{
cout〈〈”--"<<currentFloor〈<”—-"〈〈endl;
Sleep(2000);}
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),F(xiàn)OREGROUND_INTENSITY|FOREGROUND_RED);
cout〈<"第"〈〈currentFloor〈<"層到了"<<endl〈〈endl;
up=false;
}
if(down)
{
for(;currentFloor〉floorNumber;currentFloor——)
{
cout<〈"—-"<<currentFloor〈〈”—-"〈<endl;
Sleep(2000);}
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_RED);
cout〈<"第”〈〈currentFloor<〈”層到了”〈〈endl<<endl;
down=false;
} } int Elevator::getCurrentFloor() {
return currentFloor; } int Elevator::choice() {
cin>>n;
if(n==2&&getCurrentFloor()==1)
{
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_RED|FOREGROUND_GREEN);
cout<〈"您已經(jīng)在第一層了!除非您自己打洞,不然我就是不會帶您下去得!”<<endl〈<endl;return 0;
}
switch(n)
{
case 1:cout〈〈”請輸入要進入得樓層"<〈endl;cin>>floorNumber;setUpB(yǎng)utton();setFloorNumber(floorNumber); break;
case 2:cout<<"請輸入要進入得樓層”〈<endl;cin>>floorNumber;setDownButton();setFloorNumber(floorNumber);break;
case 3:return -1;
default:SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_RED|FOREGROUND_GREEN);
cout<<"只能選上升與下降!您難道還想玩電梯漂移?!”<〈endl<<endl; break;
}
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|(zhì)FOREGROUND_RED|FOREGROUND_GREEN|FOREGROUND_BLUE);
cout 〈〈"當(dāng)前電梯停在” 〈〈getCurrentFloor()
〈<"層”<<endl; } void Elevator::charge()
{
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),F(xiàn)OREGROUND_INTENSITY|FOREGROUND_RED|FOREGROUND_GREEN|FOREGROUND_BLUE);
cout<〈”--—請選擇操作—--”<<endl;
cout〈〈"|
1、上升
|"〈〈endl;
cout<<"|
2、下降
|”〈<endl;
cout<〈”|
3、退出
|”〈<endl;
cout〈〈"|-----——————--—|”〈<endl; } int main() {
long a;
time(&a);
int floor;
cout〈〈"告訴我總共有幾層"〈<endl;
cin〉>floor;
Elevator el(floor);
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_RED|FOREGROUND_GREEN|FOREGROUND_BLUE);
cout〈<ctime(&a)<<endl;
cout〈<”本電梯共"〈〈floor〈〈"層,歡迎您得使用"〈<endl<<endl;
while(1)
{
int i=0;
el、charge();
i=el、choice();
if(i==—1) break;
}
return 0; } 六 運行結(jié)果
七 實驗心得 實驗很有趣,讓我初步體會了程序猿得感受。通過這個程序,基本掌握了類與對象得知識,還接觸了控制臺字體顏色改變,與輸出系統(tǒng)時間。收獲頗豐。
推薦訪問: 實驗 對象 報告上一篇:巨磁電阻與磁電阻實驗報告
下一篇:低保工作自查報告
同志們:今天這個大會,是市委全面落實黨要管黨、從嚴治黨要求的一項重大舉措,也是對縣市區(qū)委書記履行基層黨建工作第一責(zé)任人情況的一次集中檢閱,同時是對全市基層黨建工作的一次再部署、再落實的會議。前面,**
***年,我認真履行領(lǐng)班子、帶隊伍、抓黨員、保穩(wěn)定的基層黨建工作思路,以學(xué)習(xí)貫徹習(xí)近平新時代中國特色社會主義思想和黨的十九大歷次全會精神為主線,以市局基層黨建工作考核細則為落腳點,落實全面從嚴治黨主體
根據(jù)會議安排,現(xiàn)將2022年履行抓基層黨建工作職責(zé)情況報告如下:一、履職工作特色和亮點1 突出政治建設(shè),著力在思想認識上提高。牢固樹立抓黨建就是抓政績的理念,以“黨建工作抓引領(lǐng)、社區(qū)治理求突破,為民服
2022年以來,在**黨委的正確領(lǐng)導(dǎo)下,堅持以習(xí)近平新時代中國特色社會主義思想為指導(dǎo),深入學(xué)習(xí)宣傳貫徹黨的二十大精神,以黨建工作為統(tǒng)領(lǐng),扎實開展夯實“三個基本”活動,以“四化四力”行動為抓手,聚力創(chuàng)建
各位領(lǐng)導(dǎo),同志們:根據(jù)會議安排,現(xiàn)就2022年度抓基層黨建工作情況匯報如下:一、主要做法及成效(一)強化政治引領(lǐng)。一是不斷強化理論武裝。堅持通過黨組會、中心組學(xué)習(xí)會和“三會一課”,第一時間、第一議題學(xué)
2022年度抓基層黨建工作述職報告按照黨委工作部署,現(xiàn)將本人2022年度抓基層黨建工作情況報告如下:一、2022年度抓基層黨建工作情況(一)旗幟鮮明講政治將旗幟鮮明講政治放在全局發(fā)展首要位置,積極開展
2022年,是我在數(shù)計系黨總支書記這個新崗位上度過的第一個完整的工作年度?;厥滓荒陙碓谛|h委的正確領(lǐng)導(dǎo)下,與數(shù)計系領(lǐng)導(dǎo)班子和全體師生共同走過的日子,艱辛歷歷在目,收獲溫潤心田。作為黨總支書記,我始終牢
按照考核要求,現(xiàn)將本人一年來,作為統(tǒng)戰(zhàn)部長履行職責(zé)、廉潔自律等方面情況報告如下:一、著眼增強政治素質(zhì),不斷深化理論學(xué)習(xí)堅持把旗幟鮮明講政治作為履職從政的第一位要求,帶領(lǐng)統(tǒng)戰(zhàn)系統(tǒng)干部堅決擁護“兩個確立”
**年,緊緊圍繞黨工委、管委會的決策部署,全體人員團結(jié)協(xié)作、凝心聚力,緊扣黨工委“**”基本工作思路,全力開拓進取,認真履職盡責(zé),圓滿完成各項工作任務(wù)。一、個人思想政治狀況檸檬文苑www bgzjy
按照縣委關(guān)于開展抓基層黨建述職評議會議的有關(guān)要求,經(jīng)請示縣委組織部同意,今天,我們在此召開2022年度基層黨組織書記抓基層黨建述職評議會議。1 首先,請**黨委書記,**同志述職。**黨委能夠主動研究