




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領
文檔簡介
1、電子科技大學信息與軟件工程學院標準實驗報告(實驗)課程名稱:面向?qū)ο蟪绦蛟O計 C+電子科技大學教務處制表學生姓名:趙天豪實驗地點:信軟學院實驗室學 號: 2014220902010 指導教師:李巧勤實驗時間:15/12/21一、實驗室名稱:信軟學院軟件實驗室二、實驗項目名稱:基于MFC的C+桌面應用開發(fā)三、實驗學時:16 學時四、實驗原理:本次實驗基于MFC開發(fā)C+桌面應用程序,實現(xiàn)可視化操作。五、實驗目的:充分運用所學的C+的數(shù)據(jù)封裝、繼承與派生、多態(tài)等全部核心內(nèi)容,補充完整一個基于MFC 的應用,使學生能夠基本掌握OOA、 OOD 方法;熟練掌握OOP 方法;初步了解基于Windows 平
2、臺的桌面圖形化應用的開發(fā)過程,掌握編程工具的使用;初步掌握建模工具的使用;基本掌握閱讀、調(diào)試程序的能力。六、實驗內(nèi)容:一位小學教師Ken 希望完成這樣的任務:針對于小學生正在學習四邊形(quadrangle) 的特性, 編寫一個小軟件,能夠隨機在屏幕上顯示矩形(rectangle)正 方 形 (square) 、 平 行 四 邊 形 (parallelogram) 、 梯 形 (trapezoid) 和 菱 形 (diamond) 五種形體之一,同時顯示該形體的特性和關鍵數(shù)據(jù)(隨機產(chǎn)生), 學生復習形體的特性,然后根據(jù)給出的關鍵數(shù)據(jù)計算形體的面積,軟件判斷其結(jié)果的正確性。在學習過程中,軟件記錄
3、產(chǎn)生的每一個形體,在學生選擇不再繼續(xù)后,將其學習的過程重放一遍,用以重溫,加深印象。根據(jù)上述描述,需要完成:1) 必做內(nèi)容根據(jù) Ken 老師的要求,需要至少編寫六個類:Rect / 注意:類名不要使用RectangleSquareParallelogram TrapezoidDiamondList(注:這六個類必須以上述名字命名)其中,前五個類用于描述五種形體。五種形體不用頂點坐標的表示形式,而 只是簡單地用它們的特征值表示。例如:矩形、平行四邊形用長和高表示;正方 形用邊長表示;梯形用兩條平行邊長和高表示;菱形用兩條對象線長表示。要求 為這五種形體編寫相應的類,每個類的設計要求如下:(1)
4、Quadrangle類必須成為抽象類,是其它形體類的祖先。它擁有如下 成員:成員是否純虛name數(shù)據(jù)/area函數(shù)是draw函數(shù)是what函數(shù)可選(2) 其它形體類之間的繼承關系請自行擬定。其中,Parallelogram 類必須擁有如下虛成員:Width(); 返回寬Height(); 返回高(3) 每個形體類必須完成如下操作:1設置標志名屬性name五種形體的標志名必須是Parallelogram、Rectangle、Diamond Trapezoid 和 Square 之一(第一個字母大寫, 其余小寫);2重載area()成員;3重載draw()成員;4重載Width()成員以返回寬;5
5、重載Height()成員以返回高;6提供Width2()成員以返回第二條平行邊長(僅對梯形)(4) List類必須擁有如下成員函數(shù):size() ; /返回列表中的節(jié)點數(shù) push_back() ; /將數(shù)據(jù)添加到列表末尾 operator口 ; 返回指定下標的數(shù)據(jù)traverse() ; / 遍歷,需要一個訪問函數(shù)作為參數(shù) pop_back() / 用來刪除列表的最后一個節(jié)點,其原型為:void pop_back();(5) 5)重溫過程實際上就是遍歷List 類對象的過程。2) 選作內(nèi)容List 類實際上是一種稱為“容器”的類。除了容納形體指針,其實它還可以容納任何類型的對象。在本選作內(nèi)容
6、中,( 1) 請將List 類改為模板類,使其能容納任何類型的對象;( 2) 請為List 類編寫迭代器。要求如下:該迭代器的類名為Iterator;該迭代器必須重載如下運算符:+:迭代器后移!=:兩個迭代器比較* :返回迭代器指向節(jié)點的數(shù)據(jù)域中的值,即quad 指針。=:兩個迭代器的復制+。該運算符函數(shù)的原型為:Iterator operator+(int i);其功能為:假設當前迭代器(的內(nèi)部指針)指向了第k 個節(jié)點(從0 開始計數(shù)) ,那么+運算符返回一個迭代器,該迭代器是在當前迭代器的基礎上向后移動i 個位置得到的,即該迭代器指向了第k+i 個節(jié)點。例如:Iterator itr =
7、list.begin() + 5;那么迭代器itr 就指向了從列表的頭節(jié)點往后數(shù)第5 個結(jié)點。為 Iterator 類編寫 begin() 和 end() 成員。七、實驗器材(設備、元器件):PC計算機、Windows系列操作系統(tǒng)、Visual Studio2013軟件八、實驗步驟:1)完成類的設計;2)根據(jù)設計結(jié)果編寫各種形體類的代碼;完成學習模式的編程與測試3)完成List類的編碼與測試;4)完善程序流程,實現(xiàn)復習模式;5)對前面完成的所有文件進行整合,生成一個解決方案,并進行調(diào)試;6)程序優(yōu)化。九、實驗程序及結(jié)果分析:Canvas.h:#pragma once#include "
8、;quad.h"class Quadrangle;/ Canvas 視圖class Canvas : public CScrollView DECLARE_DYNCREATE(Canvas)/protected:public :Canvas();/動態(tài)創(chuàng)建所使用的受保護的構(gòu)造函數(shù)virtual Canvas();public :#ifdef _DEBUGvirtual void AssertValid() const;#ifndef _WIN32_WCEvirtual void Dump(CDumpContext& dc) const;#endif#endifprotecte
9、d :virtualvoid OnDraw(CDC* pDC);/ 重寫以繪制該視圖virtualvoid OnInitialUpdate();/ 構(gòu)造后的第一次DECLARE_MESSAGE_MAP()public :static Canvas * pCanvas;static void drawQuad( const Quadrangle *quad);static bool isLearning;bool toggleMode( void ); double area;private :enum_QUAD_ para = 0, rect, sqr, diam, trap ;typedef
10、 pair<string, _QUAD_> KV;map<string, _QUAD_> quadMap;Diam:#pragma once #includestring, #include <iostream> #include "Canvas.h" #include "para.h" using namespacestd; class Diamond : public Para public :Diamond(int di = 4, int d2 = 8, string nm= "Diamond"
11、;) : Para(d1, d2, nn); Diamond(); void draw() const Para:draw(); ; double area()const return ( double )width*height/2; ;string what() const return name; ; | int & Width1()return di; ;int & Width2()return d2; ;friend ostream &operator<<( ostream & os, const Diamond &c2); Dia
12、mond& operator= ( const Diamond& di) name = di .name; di = di .d2; d2 = di .d2; return * this ; protected : int di, d2;Experiment:/ experiments : PROJECT_NAME 應用程序的主頭文件/#pragma once#ifndef _AFXWIN_H_#error "在包含此文件之前包含 “stdafx.h ”以生成PCH文件"#endif#include "resource.h" / 主符號/
13、 CexperimentApp:/有關此類的實現(xiàn),請參閱 experiment.cpp /class CexperimentApp : public CWinApppublic :CexperimentApp。;/重寫public :virtual BOOLnitInstance();/實現(xiàn)DECLARE_MESSAGE_MAP ;extern CexperimentApp theApp;Experimentdlg.h:/ experimentDlg.h :頭文件/#pragma once#include "canvas.h"/ CexperimentDlg 對話框clas
14、s CexperimentDlg : public CDialogEx /構(gòu)造publicCexperimentDlg( CWnd pParent = NULL; / 標準構(gòu)造函數(shù)/對話框數(shù)據(jù)enum IDD = IDD_EXPERIMENT_DIALQGprotected :virtual void DoDataExchange( CDataExchange1c pDX); / DDX/DDV 支持/實現(xiàn) protected :HICONm_hIcon;/生成的消息映射函數(shù)virtual BOOLOnInitDialog();afx_msg void OnSysCommandUINT nID
15、, LPARAMParam);afx_msg void OnPaint();afx_msg HCURSOOnQueryDragIcon();DECLARE_MESSAGE_MAP public :Canvas *pCanvas;afx_msg void OnBnClickedOk();double answer;CString result;afx_msg void OnClickedButtonNext();afx_msg void OnClickedButtonStop();afx_msg void OnClickedButtonSubmit();public :QUADPTcreateA
16、quad( void ); private :bool lastDone;virtualBOOLOnCommand<VPARAMParam, LPARAMParam););List.h:#pragma once #include "quad.h#include <iostream>#includestring,/typedef void(*ACCESSFUN)(QUADPTR); /定義遍歷時節(jié)點處理函數(shù)類型class List protected : struct Node QUADPTRata;Node*next;Node(QUADPTfd) :data( d)
17、 *head, *tail;鏈表的頭尾指針/typedef Node* _range;size_t len; /鏈表中節(jié)點的數(shù)目,即鏈表的長度public :List() :head( NULL, tail(NULIL len = 0; / 平凡構(gòu)造函數(shù)List( List const & l) head = tail = NULL Node*p = l .head; while (p !=NULILthis ->push_back(p->data); p = p->next;len = 0; | /復制構(gòu)造函數(shù)List() Node*p = head, *q;|wh
18、ile (p != NULL q = p;p = p->next; delete q; ;Node *Tail() return tail; /size_t size() return len; ; /獲取鏈表的長度size_t List 二size()Node*p = head;size_t i = 0;while (p != NULL p = p->next;+i; return i;void push_back( const QUADPTRuad) / 尾部添加 Node*p = new Node( quad);p->next = NULLif (tail =NULIL
19、 head = tail = p;else tail->next = p; tail = p; len+;int pop_back()if (len = 0) | return len;Node*c = head;if (c = tail) delete c; head = tail = NULL else while (c->next != tail) c+;delete tail; tail = c; tail->next = NULt| len-; return len;void traverse( void (* f)( const QUADPTR)Node*p =
20、head;int i = 1;while (p != NULL cout << "第"<< i+ <<"個"<< endl;f (p->data);p = p->next;/請自行添加指針移動部分/遍歷List & operator=( const List & l ) head = tail = NULL Node*p = l .head;while (p !=NULILthis ->push_back(p->data);p = p->next; |len =
21、 0;return * this ;List & operator+=( const QUADPT&Rdata) Node*p = new Node( data);p->next = NULLif (tail = NULLhead = tail = p;else tail->next = p;tail = p;len+;return * this ;QUADPTSRoperator(size_t n)Node*p = head;for ( size_t i = 1; i <= n; i+) p = p->next; return p->data;P
22、ara.h:#pragma once#include <string>#include <iostream>#include "quad.h" |#include "Canvas.h" using namespacestd; class Para : public Quadrangle public :Para( int w = 5, int h = 7, string nm= "Parallelogram") :width( w), height( h),Quadrangle (nn);Para();void
23、 draw() const Canvas:drawQuad( this ); ; double area()const return width*height; ;string what() const returnQuadrangle :what(); ;int & Width() return width; ; /獲取矩形的寬。如果是梯形,還需要一個成員int& Width2()來獲取另一條平行邊的長度int & Height() return height; ;/ 獲取矩形的高friend ostream &operator<<( ostrea
24、m & os, const Para &c3); Para&operator=( const Para&pa) name = ; width = pa.width; height = pa.height; | return * this ; protected : int width; int height;Quad.h:#pragma once#include <string> |#include "Canvas.h" using namespacestd;class Quadrangleprotected :pu
25、blic :string name; /形體的標識Quadrangle( string nm= "Quadrangle" ) :name( nn) virtual double area() const =0; string what() const return name; ;virtual void draw() const =0;typedef Quadrangle * QUADPTRRect.h:#pragma once#include <string>#include <iostream>#include "para.h"
26、;#include "Canvas.h" using namespacestd; class Rect : public Para public :Rect( int w = 4, int h = 8, string nm= "Rectangle" ) : Para( w h, nn); Rect();string what() const return Para:what(); ; double area() const return Para:area(); void draw() const Canvas:drawQuad( this ); int
27、 Width() const return width; int Height() const return height; friend ostream &operator<<( ostream & os, const Rect &c1); Rect&operator=( const Rect&re) name = re .name; width = re .width;height = re .height; return * this ; ;Resource.h:/NO_DEPENDENCIES/ Microsoft Visual C+
28、 generated include file./ Used by experiment.rc/#defineIDM_ABOUTBOX0x0010#defineIDD_ABOUTBOX100#defineIDS_ABOUTBOX101#define IDD EXPERIMENT DIALOG 102#defineIDR_MAINFRAME128#defineIDC_EDIT_ANSWER1000#defineIDC_BUTTON_SUBMIT1001#defineIDC_BUTTON_NEXT1002#defineIDC BUTTON STOP1003#defineIDC_EDIT_RESUL
29、T1004#defineIDC_STATIC_GROUP1005 / Next default values for new objects/#ifdef APSTUDIO_INVOKED#ifndef APSTUDIO_READONLY_SYMBOLS#define _APS_NEXT_RESOURCE_VALUE129#define _APS_NEXT_COMMAND_VALUE32771#define _APS_NEXT_CONTROL_VALUE 1006#define _APS_NEXT_SYMED_VALUE 101#endif#endifSqua.h:#pragma once#i
30、nclude <string>#include <iostream>#include "rect.h" |#include "Canvas.h" using namespacestd; class Square : public Rectpublic :Square(int w = 6, string nm= "Square") : Rect(w, w, nn);Square();void draw() const Rect:draw(); ;double area()const return width*wi
31、dth; ;string what() const returnRect:what(); ;int & Width() return width; ;friend ostream &operator<<( ostream & os, const Square &c4); Square&operator=( const Square&sq) | name = ;width = sq.width; return * this ;;Stdafx.h:/ stdafx.h :標準系統(tǒng)包含文件的包含文件,/或是經(jīng)常使用但不常更改的
32、/特定于項目的包含文件#pragma once#ifndef _SECURE_ATL#define _SECURE_AT1L#endif#ifndef VC_EXTRALEAN#define VC_EXTRALEAN/從 Windows頭中排除極少使用的資料#endif#include "targetver.h"#define _ATL_CSTRING_EXPLICIT_CONSTRUCTORS / 某些 CString 構(gòu)造函數(shù)將是顯式的/關閉MFC對某些常見但經(jīng)??煞判暮雎缘木嫦⒌碾[藏#define _AFX_ALL_WARNINGS#include <afx
33、win.h>/ MFC核心組件和標準組件#include <afxext.h>/ MFC 擴展#include <afxdisp.h>/ MFC自動化類#ifndef _AFX_NO_OLE_SUPPORT#include <afxdtctl.h>/ MFC 對 Internet Explorer 4公共控件的支持#endif#ifndef _AFX_NO_AFXCMN_SUPPORT#include <afxcmn.h>/ MFC 對 Windows 公共控件的支持#endif / _AFX_NO_AFXCMN_SUPPORT#inclu
34、de <afxcontrolbars.h> / 功能區(qū)和控件條的 MFC 支持#ifdef _UNICODE#if defined _M_IX86#pragma commentlinker, "/manifestdependency:"type='win32'name='Microsoft.Windows.Common-Controls' version='' processorArchitecture='x86' publicKeyToken='6595b64144ccf1d
35、f' language='*'"" ) #elif defined _M_X64 #pragma commentlinker, "/manifestdependency:"type='win32'name='Microsoft.Windows.Common-Controls' version='' processorArchitecture='amd64' publicKeyToken='6595b64144ccf1df' languag
36、e='*'"" ) #else #pragma commentlinker, "/manifestdependency:"type='win32'name='Microsoft.Windows.Common-Controls' version='' processorArchitecture='*' publicKeyToken='6595b64144ccf1df' language='*'"" ) #endi
37、f #endif#include <string>#include <map>/ 你編寫的頭文件都包含在這里/using namespacestd;Targetver.h:#pragma once/包括SDKDDKVer.h將定義最高版本的可用 Windows平臺。/如果要為以前的 Windows平臺生成應用程序,請包括 WinSDKVer.h ,并將/ WIN32_WINNT宏設置為要支持的平臺,然后再包括SDKDDKVerh#include <SDKDDKVer.h>Trap.h:#pragma once#include <string> |
38、 #include <iostream> #include "quad.h" | #include "Canvas.h" using namespacestd; class Trapezoid : public Quadrangle public :Trapezoid( int w1 = 5.0, int w2 = 7.0, int h = 8.0, string nm= "Trapezoid" ) :width1( w1), width2( w2),height( h), Quadrangle (nn);Trapezoi
39、d();void draw() const Canvas:drawQuad( this ); ;double area()const return ( double )(width1+width2)*height/2; ;string what() const return name; ; | intWidth1()returnwidthl; ;intWidth2()returnwidth2; ;intHeight()returnheight; ;friend ostream &operator<<( ostream & os, const Trapezoid &a
40、mp;c5); Trapezoid &operator=( const Trapezoid &tr ) name = tr .name; widthl = tr .widthl;width2 = tr .width2;height = tr .height; return * this ;private :int widthl;int width2;int height;;Canvas.cpp:/ Canvas.cpp : 實現(xiàn)文件/#include "stdafx.h"#include "experiment.h"#include &q
41、uot;Canvas.h"#include "quad.h" |#include "diam.h"1#include "list.h" |#include "para.h"#include "rect.h" |#include "squa.h" |#include "trap.h"/ 外部說明添加到這里 extern List list;/ CanvasCanvas * Canvas:pCanvas = NULL bool Canvas:isLe
42、arning =false ;IMPLEMENTDYNCRRACEivas, CScrollView )Canvas :Canvas()pCanvas = this ;quadMap.insert( KV( "Parallelogram" , para); quadMap.insert( KV( "Rectangle" , rect );quadMap.insert( KV( "Square" , sqr);quadMap.insert( KV("Diamond", diam);quadMap.insert( KV
43、( "Trapezoid" , trap );static CString formatstring口 =|_T("寬=%d,高=%,面積="),_T("對角線1=%d,對角線2=%d,面積="),_T("平行邊1=%d,平行邊2=%d,高=%,面積=") ;Canvas :Canvas() BEGIN_MESSAGE_MCPivas, CScrollView )END_MESSAGE_MAP/ Canvas 繪圖void Canvas:OnInitialUpdate() CScrollView :OnInitia
44、lUpdate();/CSize sizeTotal;/ TODO:計算此視圖的合計大小/sizeTotal.cx = sizeTotal.cy = 100;/SetScrollSizes(MM_TEXT, sizeTotal);union _QUADPTR_Quadrangle *q;Para *p;Rect *r;Diamond *d;Square *s;Trapezoid *t;void Canvas:OnDraw( CDC pDCCDocument pDoc = GetDocument();/ TODO:在此添加繪制代碼CRect rect;GetClientRect(&rec
45、t); |CBrush br( RGB220, 200, 170);CBrush * oldBrush = reinterpret_cast <CBrush*>( pDC>SelectObject (&br);int xc, yc;int vw = rect.Width (), vh = rect.Height ();int sw = static_cast <int >(vw * 0.75 / 2.0), sh = static_cast <int >(vh * 0.75 / 2.0); SIZE ad54= -sw + 50, -sh ,
46、sw + 50, -sh , sw - 50, sh , -sw - 50, sh , -sw, -sh , sw, -sh , sw, sh , -sw, sh ,| -sh, -sh , sh, -sh , sh, sh , -sh, sh , 0, -sh , sw, 0 , 0, sh , -sw, 0 , -sw + 120, -sh , sw - 80, -sh , sw, sh , -sw, sh ,|;double ratio = 1.0;int yOffset = 120;if (isLearning)xc = vw / 2;yc = vh / 2;elsexc = 80;
47、|yc = 60; |ratio = 0.3;POINTvert4;int shape;size_t i, begin = 0, end = list.size();if (isLearning) begin = end - 1;_QUADPTR_jad;string name;CString msg, msg2;for (i = begin; i<= end; +i)quad.q = listi;name = quad.q->what();area = quad.q->area ();shape = quadMapname;switch (shape) case trap
48、:msg.Format(formatString2, quad.t->Width1(), quad.t->Width2(), quad.t->Height();break;case diam:msg.Format(formatString1, quad.p->Width(), quad.p->Height(); break;default :msg.Format(formatString0, quad.p->Width(), quad.p->Height(); if (isLearning) msg2 =_T(" ?");else
49、msg2.Format( T("%.1lf" ), area);msg += msg2;for ( int i = 0; i < 4; +i) verti.x =static_cast <int >(xc + (adshapei.cx * ratio);verti.y =static_cast <int >(yc + (adshapei.cy * ratio);int tx, ty;if (isLearning) tx = xc - sw;ty = yc + sh + 8; elseCBrush br( RGB240, 240, 240);CB
50、rush *oldbr = reinterpret_cast <CBrush *>( pDC>SelectObject(&br);CPen*oldpen = reinterpret_cast <CPen*>( pDG>SelectStockObject(NULL_PEN;pDC>Rectangle (xc - 80, yc - 50, xc + 600, yc + 50);pDC>SelectObject(oldbr);pDC>SelectObject(oldpen);tx = xc + yOffset - 24;ty = yc -
51、 8;yc += yOffset;pDOPolygon (vert, 4);pDOSetBkMode ( TRANSPAREN T pDOTextOutW (tx, ty, msg);pDC>SelectObject (oldBrush); void Canvas:drawQuad( const Quadrangle * quad) if (isLearning) pCanvas->Invalidate ();/ Canvas 診斷#ifdef _DEBUGvoid Canvas:AssertValid()const |CScrollView :AssertValid();#ifn
52、def _WIN32_WCEvoid Canvas:Dump( CDumpContex& dc) constCScrollView 二Dump(dc);#endif#endif /_DEBUG bool Canvas:toggleMode( void) return isLearning = !isLearning;Experiment.cpp:/ experiment.cpp :定義應用程序的類行為。/#include "stdafx.h"#include "experiment.h"#include "experimentDlg.h
53、"#ifdef _DEBUG#define newDEBUG_NEW#endif/ CexperimentAppBEGIN MESSAGE MAP(CexperimentApp, CWinApp) ON_COMMAND(ID_HELP, &CWinApp:OnHelp)END_MESSAGE_MAP()/ CexperimentApp 構(gòu)造CexperimentApp:CexperimentApp() /支持重新啟動管理器m_dwRestartManagerSupportFlags = AFX_RESTART_MANAGER_SUPPORT_RESTART;/ TODO:在此
54、處添加構(gòu)造代碼,/將所有重要的初始化放置在InitInstance 中 / 唯一的一個 CexperimentApp 對象CexperimentApp theApp;/ CexperimentApp 初始化BOOL CexperimentApp:InitInstance()/如果一個運行在Windows XP上的應用程序清單指定要/使用ComCtl32.dll 版本6或更高版本來啟用可視化方式,/則需要InitCommonControlsEx()。否則,將無法創(chuàng)建窗口。INITCOMMONCONTROLSEX InitCtrls;InitCtrls.dwSize = sizeof (InitC
55、trls); |/將它設置為包括所有要在應用程序中使用的/公共控件類。InitCtrls.dwICC = ICC_WIN95_CLASSES;InitCommonControlsEx(&InitCtrls);CWinApp:InitInstance();AfxEnableControlContainer();/創(chuàng)建shell管理器,以防對話框包含/任何shell樹視圖控件或shell 列表視圖控件。CShellManager *pShellManager = newCShellManager;/標準初始化/如果未使用這些功能并希望減小/最終可執(zhí)行文件的大小,則應移除下列/不需要的特定初
56、始化例程/更改用于存儲設置的注冊表項/ TODO:應適當修改該字符串,/例如修改為公司或組織名SetRegistryKey(_T("應用程序向?qū)傻谋镜貞贸绦?quot;);CexperimentDlg dlg;m_pMainWnd = &dlg;INT_PTR nResponse = dlg.DoModal();if (nResponse = IDOK)/ TODO:在此放置處理何時用/“確定”來關閉對話框的代碼else if (nResponse = IDCANCEL)/ TODO:在此放置處理何時用/“取消”來關閉對話框的代碼/刪除上面創(chuàng)建的shell管理器。if
57、(pShellManager != NULL)delete pShellManager;/由于對話框已關閉,所以將返回FALSE以便退出應用程序,/而不是啟動應用程序的消息泵。return FALSE;Exprimentdlg.cpp:/ experimentDlg.cpp :實現(xiàn)文件/#include "stdafx.h"#include "experiment.h"#include "experimentDlg.h"#include "afxdialogex.h"#include "quad.h"#include "diam.h" |#include "list.h" |#include "para.h"#include "rect.h" |#include
溫馨提示
- 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. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 小麥加工資源增值策略考核試卷
- 土木工程建筑排水系統(tǒng)施工考核試卷
- 2017社保培訓課件
- 孔樁勞務合同范本
- 民宅鋪面出售合同范本
- 碼頭設備采購合同范本
- 購買國外技術(shù)合同范本
- 熱水買賣合同范本
- led燈改造合同范本
- 寵物寄養(yǎng)服務中動物健康保證協(xié)議
- 22陳涉世家 司馬遷 公開課一等獎創(chuàng)新教學設計 度部編版初中語文九年級下冊
- 2021年飽和蒸汽及過熱蒸汽焓值表
- 《抗戰(zhàn)中的英雄人物》課件
- 外墻真石漆施工方案
- 森林防火安全生產(chǎn)工作
- 《服裝市場營銷》課件
- 網(wǎng)絡安全風險評估報告模板
- 什么是法律談判課件
- 成考教材-數(shù)學教程(文史財經(jīng)類)
- 保安服務管理制度范文
- 汽車行業(yè)維修記錄管理制度
評論
0/150
提交評論