![面向?qū)ο蟪绦蛟O(shè)計課程設(shè)計報告正文參考模板_第1頁](http://file3.renrendoc.com/fileroot_temp3/2022-2/14/ad4c63f6-fdfa-4d34-93e5-eb3c7d49c741/ad4c63f6-fdfa-4d34-93e5-eb3c7d49c7411.gif)
![面向?qū)ο蟪绦蛟O(shè)計課程設(shè)計報告正文參考模板_第2頁](http://file3.renrendoc.com/fileroot_temp3/2022-2/14/ad4c63f6-fdfa-4d34-93e5-eb3c7d49c741/ad4c63f6-fdfa-4d34-93e5-eb3c7d49c7412.gif)
![面向?qū)ο蟪绦蛟O(shè)計課程設(shè)計報告正文參考模板_第3頁](http://file3.renrendoc.com/fileroot_temp3/2022-2/14/ad4c63f6-fdfa-4d34-93e5-eb3c7d49c741/ad4c63f6-fdfa-4d34-93e5-eb3c7d49c7413.gif)
![面向?qū)ο蟪绦蛟O(shè)計課程設(shè)計報告正文參考模板_第4頁](http://file3.renrendoc.com/fileroot_temp3/2022-2/14/ad4c63f6-fdfa-4d34-93e5-eb3c7d49c741/ad4c63f6-fdfa-4d34-93e5-eb3c7d49c7414.gif)
![面向?qū)ο蟪绦蛟O(shè)計課程設(shè)計報告正文參考模板_第5頁](http://file3.renrendoc.com/fileroot_temp3/2022-2/14/ad4c63f6-fdfa-4d34-93e5-eb3c7d49c741/ad4c63f6-fdfa-4d34-93e5-eb3c7d49c7415.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、三號黑體,居中,固定值22磅,段前段后1行。頁邊距設(shè)置:上2.5cm,下2.5 cm,左2.5 cm,右2.5 cm;裝訂線0.5 cm,裝訂位置為左邊;頁眉1.7 cm,頁腳2.0 cm。頁腳設(shè)置為:插入頁碼,居中。四號黑體,固定值22磅,段前段后0行目 錄四號宋體,左縮進(jìn)2字符,固定值22磅,段前段后0行1 前言12 需求分析12.1 要求12.2 任務(wù)12.3 運行環(huán)境12.4 開發(fā)工具13 分析和設(shè)計13.1 系統(tǒng)分析及設(shè)計思路13.2 主要類圖23.3 函數(shù)流程圖24 具體代碼實現(xiàn)25 課程設(shè)計總結(jié)25.1 程序運行結(jié)果或預(yù)期運行結(jié)果25.2 設(shè)計結(jié)論2參考文獻(xiàn)2致 謝31 前言正文
2、內(nèi)容:小四宋體,數(shù)字和西文均采用小四號Time New Roman字型,段前段后0行,首行縮進(jìn)2字符,固定值22磅,大綱級別:正文文本小三黑體,左頂格,段前段后1行,固定值22磅,大綱級別:1級設(shè)計一個使用空格和星號繪制圖形的工廠,該工廠可以根據(jù)用戶選擇繪制不同的圖形(如矩形、三角形、菱形、平行四邊形、梯形等)。然后根據(jù)用戶的要求繪制各類圖形,顯示繪制圖形個數(shù),并在屏幕上顯示所設(shè)置的圖形。四號黑體,左頂格,段前段后0.5行,固定值22磅,大綱級別:2級2 需求分析2.1 要求(1)至少能夠繪制6種以上的圖形。(2)可以繪制的圖形名稱保存在文本文件中。(3)根據(jù)用戶選擇設(shè)置圖形參數(shù)繪制圖形,并記
3、錄繪制了的圖形的個數(shù)。(4)顯示已經(jīng)繪制的圖形的總數(shù)。2.2 任務(wù)設(shè)計一個使用空格和星號繪制圖形的工廠,該工廠可以根據(jù)用戶選擇繪制不同的圖形(如矩形、三角形、菱形、平行四邊形、梯形等)。2.3 運行環(huán)境(1)WINDOWS2000/XP系統(tǒng)(2)Visual C+ 6.0編譯環(huán)境或DEV C+ 5.0編譯環(huán)境2.4 開發(fā)工具C+語言3 分析和設(shè)計3.1 系統(tǒng)分析及設(shè)計思路1首先得有一個圖形抽象基類graphclass graph /基類 protected : graph(); public: virtual graph(); virtual void function()=0; /純虛函數(shù)
4、;2然后寫幾個圖形類,圖形有等腰三角形、正方形、長方形、平行四邊形、等腰梯形和菱形六種。 class Triangle:public graph /等腰三角形 void Triangle:function() /根據(jù)用戶設(shè)置的高length,繪制等腰三角形 class Square:public graph /正方形 void Square:function() /根據(jù)用戶設(shè)置的邊長length,繪制正方形 class Rectangle:public graph /長方形 void Rectangle:function() /根據(jù)用戶設(shè)置的長Long和寬Wide,繪制長方形 /其他圖形類似3
5、然后寫一個圖形工廠類來生產(chǎn)圖形 class simplefactory /簡單工廠模式 public : graph * creategraph(int graphtype);graph * simplefactory:creategraph(int graphtype) switch(graphtype) case 1 p=new 等腰三角形();break ; case 2: p=new 正方形 case 3: p=new 長方形 case 4: p=new 平行四邊形 case 5: p=new 等腰梯形 case 6: p=new 菱形 return p; 4.接下來在主函數(shù)里,通過用
6、戶調(diào)用工廠方法生成想要的圖形就可以了 class client /用戶 public: void Main();void client:Main()/*展示目前自定義圖形工廠中可以提供輸出的圖形列表:Triangle(等腰三角形),Square(正方形),Rectangular(長方形),Parellelogram(平行四邊形)等*/while(!menu.eof()menu.getline(str,sizeof(str);cout<<str<<endl; while(true)/提示用戶輸入所要圖形名稱(圖形列表中所列)cout<<"請選擇需要創(chuàng)
7、建圖形的序號:"<<endl; cin>>key; graph *p=sf.creategraph(key);/輸出用戶繪制圖形總數(shù)totalofstream save("save.txt",ios:trunc);save<<tot;cout<<"已繪制的圖形總數(shù)為:"<<total<<endl; 3.2 主要類圖五號宋體,居中,位于圖下方,表示第3章第1張圖,圖中內(nèi)容也為五號宋體。圖3.1 XXX類圖3.3 函數(shù)流程圖圖系統(tǒng)流程圖4 具體代碼實現(xiàn)#include <
8、iostream>#include <string>#include <cmath>#include <fstream>#include <sstream>using namespace std;class graph /基類 protected : graph(); public: virtual graph(); virtual void function()=0; /純虛函數(shù) ;/具體圖形實現(xiàn) class Triangle:public graph /等腰三角形 public : Triangle(); virtual Triangl
9、e(); virtual void function(); protected : int length;Triangle:Triangle() cout<<"請輸入等腰三角形的高度(length<=40):"<<endl; cin>>length;void Triangle:function() for (int i=0;i!=length;i+) for (int j=0;j<length-i-1;j+) cout<<" " for (int k=0;k<i*2+1;k+) cout&
10、lt;<"*" cout<<endl; class Square:public graph /正方形 public : Square(); virtual Square(); virtual void function(); protected : int length;Square:Square() cout<<"請輸入正方形的邊長:"<<endl; cin>>length;void Square:function() for( int i=1;i<=length;i+) for(int j=
11、1;j<=length;j+) cout<<"* " cout<<endl; class Rectangle:public graph /長方形 public : Rectangle(); virtual Rectangle(); virtual void function(); protected : int Long,Wide;Rectangle:Rectangle() cout<<"請輸入長方形的長和寬:"<<endl; cin>>Long>>Wide;void Rect
12、angle:function() for(int i=1;i<=Wide;i+) for(int j=1;j<=Long;j+) cout<<"* " cout<<endl; class Parellelogram:public graph /平行四邊形 public: Parellelogram(); virtual Parellelogram(); virtual void function(); protected: int length,Wide; ;Parellelogram:Parellelogram() cout<&l
13、t;"請輸入平行四邊形的長度和寬度:"<<endl; cin>>length>>Wide;void Parellelogram:function() for(int i=1,k=0;i<= Wide;i+) for(int j=1;j<=k;j+) cout<<" " for(int P=1;P<= length;P+) cout<<"* " cout<<endl; k+; class Trapezoidal:public graph /等腰梯形
14、 public : Trapezoidal(); virtual Trapezoidal(); virtual void function(); protected : int High,Wide;Trapezoidal:Trapezoidal() cout<<"請輸入等腰梯形的高和上底的寬度:"<<endl; cin>>High>>Wide;void Trapezoidal:function()for(int i=0;i<High;i+)for(int j=0;j<High-i-1;j+) cout<<
15、;" " for(int k=0;k<Wide+2*i;k+) cout<<"* "cout<<endl;class Diamond:public graph /菱形 public : Diamond(); virtual Diamond(); virtual void function(); protected : int Size;Diamond:Diamond() cout<<"請輸入菱形的邊長(Size<=40):"<<endl; cin>>Size;vo
16、id Diamond:function()int k=Size; for(int i=-k;i<=k;i+) for(int j=0;j<abs(i);j+) cout<<" " for( j=0;j<(k-abs(i)*2-1;j+) cout<<"*" cout<<endl; /簡單工廠模式 class simplefactory public : simplefactory() simplefactory() graph * creategraph(int graphtype);graph *
17、simplefactory:creategraph(int graphtype) graph *p=0; switch(graphtype) case 1: p=new Triangle();break; case 2: p=new Square();break; case 3: p=new Rectangle();break; case 4: p=new Parellelogram();break; case 5: p=new Trapezoidal();break; case 6: p=new Diamond();break; return p;inline int numchange(c
18、har change) /字符轉(zhuǎn)數(shù)值 stringstream a; string b; int i; b=change; a.str(b); a>>i; return i;class client /用戶 public: client(); virtual client(); void Main(); private : int count;client:client() count=0;void client:Main() char tot10,str1000;int total;ifstream load("save.txt");if(!load)cout
19、<<"文件打開失敗"<<endl;return ;load.getline(tot,sizeof(tot); total= numchange(tot);ifstream menu("菜單.txt");if(!menu)cout<<"文件打開失敗"<<endl;return ;while(!menu.eof()menu.getline(str,sizeof(str);cout<<str<<endl; int key; char ca; simplefactory
20、sf; while(true) cout<<"請選擇需要創(chuàng)建圖形的序號:"<<endl; cin>>key; graph *p=sf.creategraph(key); p->function(); count+,total+; cout<<"你已繪制的圖形個數(shù)為:"<<count<<endl; cout<<"是否繼續(xù)(Y/y | N/n )"<<endl; cin>>ca; if(ca='Y'|ca=
21、39;y') continue; else break; int i=0,cn=total;while(cn)toti+=cn%10+'0'cn/=10;toti='0'strrev(tot);cout<<tot<<endl; ofstream save("save.txt",ios:trunc);if(!save)cout<<"文件打開失敗"<<endl;return ;save<<tot;cout<<"已繪制的圖形總數(shù)為:"<<total<<endl;/主程序 int main() client people; people.Main(); return 0; 5 課程設(shè)計總結(jié)5.1 程序運行結(jié)果或預(yù)期運行結(jié)果圖 菜單選擇界面圖5.1.2 等腰三角形輸出界面圖5.1.3 正方形輸出界面圖 長方形輸出界面圖 平行四邊形輸出界面圖 等腰梯形輸出界面圖 菱形輸出界面圖 用戶創(chuàng)建圖形總數(shù)輸出界
溫馨提示
- 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)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 消防水電工程合同
- 辦公室行政人員聘用合同
- 聘用至退休合同續(xù)簽書
- 小區(qū)智能化系統(tǒng)工程合同書
- 電信行業(yè)通信設(shè)備維護(hù)服務(wù)合同
- 9 種豆子 教學(xué)設(shè)計-2023-2024學(xué)年科學(xué)二年級下冊冀人版
- 第6課 從隋唐盛世到五代十國 教學(xué)設(shè)計-2023-2024學(xué)年統(tǒng)編版(2019)高中歷史必修中外歷史綱要上冊
- Unit 6 Nurturing Nature Developing ideas The best job in the world 教學(xué)設(shè)計 -2024-2025學(xué)年高二英語外研版(2019)選擇性必修第一冊
- 石家莊水泥檢查井施工方案
- 小學(xué)四年級數(shù)學(xué)幾百幾十?dāng)?shù)乘以一位數(shù)質(zhì)量作業(yè)習(xí)題大全附答案
- 2025年官方領(lǐng)養(yǎng)兒童策劃協(xié)議書
- 2025年度數(shù)據(jù)備份與恢復(fù)合法委托服務(wù)合同
- 2025年度跨境電商平臺股權(quán)合同轉(zhuǎn)讓協(xié)議
- 2025年人教版新教材英語小學(xué)三年級下冊教學(xué)計劃(含進(jìn)度表)
- GB/T 45083-2024再生資源分揀中心建設(shè)和管理規(guī)范
- 山西省2024年中考物理試題(含答案)
- 北京理工大學(xué)出版社二年級下冊《勞動》教案
- 相互批評意見500條【5篇】
- 中國食物成分表2018年(標(biāo)準(zhǔn)版)第6版
- 2022版義務(wù)教育語文課程標(biāo)準(zhǔn)(2022版含新增和修訂部分)
- E204-1批發(fā)和零售業(yè)商品銷售和庫存(限上、規(guī)上企業(yè)入庫標(biāo)準(zhǔn)及材料)
評論
0/150
提交評論