燕山大學(xué)經(jīng)濟(jì)管理學(xué)院c++實(shí)驗(yàn)指導(dǎo)書.doc_第1頁
燕山大學(xué)經(jīng)濟(jì)管理學(xué)院c++實(shí)驗(yàn)指導(dǎo)書.doc_第2頁
燕山大學(xué)經(jīng)濟(jì)管理學(xué)院c++實(shí)驗(yàn)指導(dǎo)書.doc_第3頁
燕山大學(xué)經(jīng)濟(jì)管理學(xué)院c++實(shí)驗(yàn)指導(dǎo)書.doc_第4頁
燕山大學(xué)經(jīng)濟(jì)管理學(xué)院c++實(shí)驗(yàn)指導(dǎo)書.doc_第5頁
已閱讀5頁,還剩10頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

燕山大學(xué)經(jīng)濟(jì)管理學(xué)院C+程序設(shè)計(jì)實(shí)驗(yàn)指導(dǎo)書經(jīng)濟(jì)管理學(xué)院電子商務(wù)系2012年11月實(shí) 驗(yàn) 說 明C+語言是一種完全面向?qū)ο蟮挠?jì)算機(jī)程序設(shè)計(jì)語言,繼承了C語言的靈活性和高性能,引入了面向?qū)ο蟮木幊趟枷?。該課程作為電子商務(wù)專業(yè)的一門專業(yè)課,主要介紹C+程序設(shè)計(jì)語言的基本知識(shí),為學(xué)生進(jìn)一步學(xué)習(xí)C+高級(jí)編程打下牢固的程序設(shè)計(jì)語言基礎(chǔ)。實(shí)驗(yàn)課是C+程序設(shè)計(jì)教程的重要實(shí)踐環(huán)節(jié)。通過實(shí)驗(yàn),使學(xué)生加深理解、驗(yàn)證、鞏固課堂教學(xué)內(nèi)容,加深對(duì)C+程序設(shè)計(jì)的過程、方法的理解,發(fā)揮學(xué)生的想象力和創(chuàng)新能力。本實(shí)驗(yàn)課程共開設(shè)4個(gè)實(shí)驗(yàn)項(xiàng)目。實(shí)驗(yàn)方式與基本要求:學(xué)生須在實(shí)驗(yàn)前預(yù)習(xí)相應(yīng)實(shí)驗(yàn)內(nèi)容,熟悉實(shí)驗(yàn)的基本原理、方法及要求、制定好上機(jī)步驟,弄清實(shí)驗(yàn)?zāi)康模粚?shí)驗(yàn)每次均為2學(xué)時(shí),學(xué)生須按時(shí)到場(chǎng);要求學(xué)生掌握程序設(shè)計(jì)的各種基本方法與步驟,并在實(shí)驗(yàn)中得到提高。 考核及報(bào)告:實(shí)驗(yàn)時(shí)將各種問題與結(jié)果記錄下來,實(shí)驗(yàn)內(nèi)容可通過截圖等方式存入U(xiǎn)盤,并在課后完成實(shí)驗(yàn)報(bào)告內(nèi)容;任課教師對(duì)每次記錄都要進(jìn)行檢查、分析、登記; 課程總成績應(yīng)為理論考核、實(shí)驗(yàn)成績的綜合;其中實(shí)驗(yàn)課程成績占20%,理論課成績占50%,平時(shí)成績占30%。實(shí)驗(yàn)一 熟悉C+程序開發(fā)環(huán)境及基本語句一、實(shí)驗(yàn)?zāi)康?. 了解和熟悉C+程序開發(fā)環(huán)境。2. 熟悉C+程序設(shè)計(jì)中的基本語言。3. 掌握條件語句的使用。4. 掌握循環(huán)語言的使用。5. 能夠根據(jù)具體問題編寫相應(yīng)程序。二、實(shí)驗(yàn)內(nèi)容與要求1. 熟悉C+開發(fā)環(huán)境,建立C+源文件,利用C+的控制臺(tái)編寫C+程序。2. 建立自己的工作目錄,例如D:user。以后的C+程序和過程文件均放置在此目錄下。輸入一個(gè)源程序,學(xué)習(xí)編輯、編譯、運(yùn)行程序的方法。例如/例2.1 文件f0201.cpp如下:/=/ f0201.cpp/ 變量定義/=#includeusing namespace std;/-int main() double radius; / 定義語句 coutradius; double result = radius*radius*3.14*4; / 定義語句 coutThe result is resultn;/=首先編譯該程序,若出現(xiàn)錯(cuò)誤或警告,調(diào)試程序后再編譯,若沒有錯(cuò)誤,可運(yùn)行該程序。本程序利用了C+中的輸入與輸出指令,作用是根據(jù)輸入的球體半徑求出該球體的表面積。D:userf0201.cpp(9) : warning C4508: main : function should return a value; void return type assumed將主函數(shù)的返回類型改為void型3. 熟悉循環(huán)語句,輸出順序英文字母三角形,即例2-3。#includeusing namespace std;void main()for(int i=1;i=10;i+)for(int j=1;j=10-i;j+)cout ;char ch = A;for(int m=1;m=2*i-1;m+)coutch;ch+;coutendl;4. 熟悉條件語句,判斷一個(gè)數(shù)是否是素?cái)?shù)。#includeusing namespace std;void main()int a;couta;for(int i= 2;ia;i+)if(a%i=0) break;if(i=a)couta是個(gè)素?cái)?shù)。endl;else couta不是素?cái)?shù)。endl;5. 利用C+編寫程序輸出下列圖形* * * * * * *#includeusing namespace std;void main()for(int i=1;i=4;i+)for(int k=1;k=8-2*i;k+)cout ;for(int j=1;j=2*i-1;j+)cout*;coutendl;for(i =1;i=3;i+)for(int m =1;m=7-2*i;m+)cout*;coutendl;實(shí)驗(yàn)二 函數(shù)控制一、實(shí)驗(yàn)?zāi)康?了解函數(shù)參數(shù)傳遞的方法。2了解函數(shù)指針的概念及使用。3掌握遞歸函數(shù)的使用。4熟練函數(shù)重載的方法。5能自己編寫函數(shù)語句,實(shí)現(xiàn)特定功能。二、實(shí)驗(yàn)內(nèi)容與要求1分析下列程序并給出結(jié)果。#include#includeusing namespace std;/-void print(vector& a) for(int i=0; ia.size(); +i) coutai ; coutendl;/-vector add(vector& a, vector& b) for(int i=0; ia.size(); +i) ai += bi; / ? return a;/-int main() int aa=3,2,1,2,3,2,1, bb=6,3,1,1,4,2,3; vector a(aa,aa+7), b(bb,bb+7); vector c = add(a, b); print(a); print(b); print(c);2利用遞歸函數(shù)實(shí)現(xiàn)n!,并輸出結(jié)果。#includeusing namespace std;int jc(int n)if(n=1)return 1;else return n*jc(n-1);void main()cout5!=jc(5)endl;3編寫一個(gè)函數(shù),根據(jù)輸入的兩個(gè)整數(shù)a和b,輸出它們的平方和。#includeusing namespace std;long f(int a,int b)return a*a+b*b;void main()int a,b;cout請(qǐng)輸入兩個(gè)整數(shù)a、bab;couta*a+b*b = f(a,b)endl;4編寫程序,根據(jù)輸入的三個(gè)整數(shù)a、b、c,輸出它們中的最大值。#includeusing namespace std;int max(int a,int b,int c)int max;max = (ab?a:b)c?(ab?a:b):c;return max;void main()int a,b,c;cout請(qǐng)輸入三個(gè)數(shù)abc;cout這三個(gè)數(shù)中最大的數(shù)是:max(a,b,c)endl;5編寫一個(gè)函數(shù),將輸入的兩個(gè)整數(shù)交換后輸出。#includeusing namespace std;void swap(int& a,int& b)int temp;temp = a;a = b;b = temp;couta = aendl;coutb = bendl;void main()int a,b;couta;coutb;swap(a,b);實(shí)驗(yàn)三 類與繼承一、實(shí)驗(yàn)?zāi)康?了解C+的程序結(jié)構(gòu)。2掌握全局?jǐn)?shù)據(jù)和靜態(tài)數(shù)據(jù)的使用。3掌握類的定義。4了解成員函數(shù)的定義。二、實(shí)驗(yàn)內(nèi)容與要求1運(yùn)行下列程序,輸入多個(gè)字符,并保存輸出結(jié)果。#includeusing namespace std;inline bool isnumber(char); / 內(nèi)聯(lián)聲明int main() for(char c; cinc & c!=n; ) if(isnumber(c) coutyou entered a digit.n; else cout=0 & ch=9 ? 1 : 0;2分析下列程序并給出結(jié)果。#includeusing namespace std;void func();int n=1;int main() int a=0, b=-6; couta=a, b=b, n=nendl; func(); couta=a, b=b, n=nendl; func();void func() static int a=3; int b=4; a+=2, b+=5; n+=8; couta=a, b=b, n=nendl;3分析下列程序,并輸出結(jié)果。#include#includeusing namespace std;class Date int year, month, day;public: void set(int y,int m,int d); / 賦值操作 bool isLeapYear(); / 判斷閏年 void print(); / 輸出日期;/-void Date:set(int y,int m,int d) year=y; month=m; day=d;/-bool Date:isLeapYear() return (year%4=0 & year%100!=0)|(year%400=0);/-void Date:print() coutsetfill(0); coutsetw(4)year-setw(2)month-setw(2)dayn; coutsetfill( );/-int main() Date d1; d1.set(2008,8,8); if(d1.isLeapYear()d1.print(); Date d2; d2.set(2006,10,6); if(d2.isLeapYear() d2.print();4針對(duì)二維坐標(biāo)系上的實(shí)數(shù)矢量Point類,設(shè)計(jì)矢量類的減法和乘法操作。(可參考例子f0805)#includeusing namespace std;class Point;Point operator-(const Point& p1, const Point& p2);class Point int x, y;public: void set(int a, int b) x = a, y = b; void print()const cout(x, y)n; friend Point operator-(const Point& p1, const Point& p2); friend float mul(const Point& p1, const Point& p2); ;Point operator-(const Point& p1, const Point& p2) Point s; s.set(p1.x-p2.x, p1.y-p2.y); return s;float mul(const Point& p1, const Point& p2)float t;t = (p1.x)*(p2.x)+(p1.y)*(p2.y);return t;void main() Point p1, p2; p1.set(0,5); p2.set(0,2); operator-(p1,p2).print(); coutmul(p1,p2)endl;實(shí)驗(yàn)四 基于對(duì)象編程一、實(shí)驗(yàn)?zāi)康?掌握友元的使用。2掌握構(gòu)造函數(shù)的使用。3掌握析構(gòu)函數(shù)的使用。4熟悉基于對(duì)象編程的思想。二、實(shí)驗(yàn)內(nèi)容與要求1分析下列程序并給出結(jié)果。/構(gòu)造函數(shù)重載#include#includeusing namespace std;class Date;ostream& operator(ostream& o, const Date& d);class Date int year, month, day;public: Date(int y=2000, int m=1, int d=1); / 設(shè)置默認(rèn)參數(shù) Date(const string& s); / 重載 bool isLeapYear()const; friend ostream& operator(ostream& o, const Date& d);Date:Date(const string& s) year = atoi(s.substr(0,4).c_str(); month = atoi(s.substr(5,2).c_str(); day = atoi(s.substr(8,2).c_str();Date:Date(int y, int m, int d) year=y,month=m,day=d; bool Date:isLeapYear()const return (year % 4=0 & year % 100 )| year % 400=0;ostream& operator(ostream& o, const Date& d) osetfill(0)setw(4)d.year-setw(2)d.month-; return osetw(2)d.daynsetfill( );int main() Date c(2005-12-28); Date d(2003,12,6); Date e(2002); / 默認(rèn)兩個(gè)參數(shù) Date f(2002,12); / 默認(rèn)一個(gè)參數(shù) Date g; / 默認(rèn)三個(gè)參數(shù) coutcdefg;2根據(jù)實(shí)數(shù)矢量Point類,利用友元函數(shù)計(jì)算兩個(gè)點(diǎn)之間的距離。#include#includeusing namespace std;class Point;Point operator-(const Point& p1, const Point& p2);class Point int x, y;public: void set(int a, int b) x=a, y=b; void print()const cout(x, y)n; friend float f(const Point& p1, const Point& p2); ;float f(const Point& p1, const Point& p2) float t; t = sqrt(p1.x-p2.x)*(p1.x-p2.x)+(p1.y-p2.y)*(p1.y-p2.y); return t;void main() Point p1, p2; p1.set(0,5); p2.set(0,2); cout兩個(gè)點(diǎn)之間的距離:f(p1,p2)endl;3針對(duì)時(shí)間Clock類,使用構(gòu)造函數(shù)Clock()初始化對(duì)象,使用析構(gòu)函數(shù)Clock()釋放對(duì)象,并將結(jié)果用函數(shù)ShowTime輸出。#includeusing namespace std;class Clock private: int Hour, Minute, Second; public: Clock(int NewH,

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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)論