




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、 上機報告課程名稱: 管理信息系統(tǒng)B 學生姓名: 李竹君 學 號:201146070217 班 級: 1102班 專 業(yè):財務(wù)管理 指導教師: 劉穎2011 年 12 月實驗一 管理信息系統(tǒng)教學軟件的操作(系統(tǒng)分析)一、實驗目的:通過本課程實驗,理解系統(tǒng)分析的基本步驟,并且能夠?qū)π畔⑾到y(tǒng)的功能、流程進行初步分析,初步具備對系統(tǒng)進行分析的能力。二、實驗平臺: 管理信息系統(tǒng)(第四版)教學演示軟件 Visual FoxPro6.0 三、實驗內(nèi)容和要求:1、熟悉管理信息系統(tǒng)教學軟件的各項內(nèi)容,包括系統(tǒng)演示程序和習題演示程序。2、儲蓄管理演示系統(tǒng)。(1)對該管理信息系統(tǒng)在自己的電腦上運作起來,測試其各種
2、功能,體會管理信息系統(tǒng)的應(yīng)用。(2)認真分析,該系統(tǒng)有哪些主要功能、子系統(tǒng)或模塊。盡可能編制系統(tǒng)的業(yè)務(wù)流程圖和數(shù)據(jù)流程圖。評價系統(tǒng)的優(yōu)缺點,看是否有優(yōu)化可能性,并提出自己的見解。3、試根據(jù)下述業(yè)務(wù)過程畫出物資訂貨的業(yè)務(wù)流程圖:采購員從倉庫收到缺貨通知單以后,查閱訂貨合同單,若已訂貨,向供貨單位發(fā)出催貨請求,否則,填寫訂貨單交供貨單位。供貨單位發(fā)出貨物后,立即向采購員發(fā)出取貨通知。4、下圖為圖書館圖書借閱業(yè)務(wù)流程簡圖,根據(jù)業(yè)務(wù)流程圖畫出相應(yīng)的數(shù)據(jù)流程圖。四、實驗步驟和結(jié)果(空間不夠可加頁):1、已操作2、模塊如下:儲戶管理(新建儲戶,儲戶修改,刪除儲戶)存取業(yè)務(wù)處理(存取款處理) 統(tǒng)計(結(jié)存金額
3、,參加儲蓄人數(shù))查詢(儲戶存款情況,存款金額最多的儲戶) 管理員登記(儲蓄管理員登記)儲蓄管理界面 新建儲戶 儲戶信息修改 刪除儲戶 存取款處理 統(tǒng)計(結(jié)存金額數(shù)) 統(tǒng)計(存款最多的賬戶) 管理員登記 3.儲蓄管理系統(tǒng)的業(yè)務(wù)流程圖:儲蓄管理員儲蓄帳表存取賬單存取賬單存取款單,儲戶信息儲戶 儲蓄管理員儲蓄帳表存取賬單存取賬單存取款單,儲戶信息儲戶數(shù)據(jù)流程圖:總的結(jié)算金額參加儲蓄的人數(shù)存款最多的儲戶情況賬戶存款情況儲蓄系統(tǒng)處理儲蓄管理員表儲蓄帳表儲戶表儲蓄管理員信息處理存款處理儲戶信息處理取款單存款單管理員儲戶 管理員 儲戶 總的結(jié)算金額參加儲蓄的人數(shù)存款最多的儲戶情況賬戶存款情況儲蓄系統(tǒng)處理儲蓄
4、管理員表儲蓄帳表儲戶表儲蓄管理員信息處理存款處理儲戶信息處理取款單存款單管理員儲戶 管理員 儲戶4.系統(tǒng)的功能,優(yōu)缺點和優(yōu)化可能性功能:該系統(tǒng)主要用于銀行的儲蓄卡管理系統(tǒng),它可以幫助我們有效、準確、并且高效實現(xiàn)的完成存取事件.優(yōu)點:此系統(tǒng)操作方便效率、安全性高,只要客戶開戶并設(shè)定好密碼就可以輕松的實現(xiàn)存取款. 缺點:工作量較大,周期長,復雜缺乏整體性,功能、數(shù)據(jù)冗余,易返工物資訂貨的業(yè)務(wù)流程圖: 倉庫 倉庫缺貨通知單缺貨通知單采購 員采購 員訂貨單合同訂貨單合同補充訂貨單催貨單補充訂貨單催貨單供貨單位提貨通知單供貨單位提貨通知單 6.查詢已借閱情況讀者信息讀者查詢已借閱情況讀者信息讀者借閱信息
5、借閱信息已超期借閱信息已超期借閱信息圖 書 續(xù) 借借書處理超期罰款還書處理圖 書 續(xù) 借借書處理超期罰款還書處理借閱信息借閱信息實驗二 管理信息系統(tǒng)教學軟件的操作(系統(tǒng)設(shè)計)一、實驗目的:通過本課程實驗,讓學生理解系統(tǒng)設(shè)計的基本步驟與內(nèi)容,在對教學軟件中的相關(guān)信息系統(tǒng)的功能、流程進行充分了解的基礎(chǔ),熟悉系統(tǒng)設(shè)計具體實現(xiàn)過程。二、實驗平臺: 管理信息系統(tǒng)(第四版)教學演示軟件 Visual FoxPro6.0 三、實驗內(nèi)容和要求:1、儲蓄管理演示系統(tǒng)。(1)在對該系統(tǒng)進行熟練操作的基礎(chǔ)上,領(lǐng)會其設(shè)計意圖。畫出該系統(tǒng)的功能結(jié)構(gòu)圖,并分析其代碼設(shè)計內(nèi)容,輸入、輸出界面設(shè)計的內(nèi)容。(2)分析該系統(tǒng)所使
6、用的數(shù)據(jù)庫(需注明每個數(shù)據(jù)庫中所使用的字段名、類型以及取值范圍)。(3)編制簡單的系統(tǒng)使用說明書。2、拍賣演示系統(tǒng)(1)在對該系統(tǒng)進行熟練操作的基礎(chǔ)上,領(lǐng)會其設(shè)計意圖。畫出該系統(tǒng)的功能結(jié)構(gòu)圖,并分析其代碼設(shè)計內(nèi)容,輸入、輸出界面設(shè)計的內(nèi)容。(2)分析該系統(tǒng)所使用的數(shù)據(jù)庫(需注明每個數(shù)據(jù)庫中所使用的字段名、類型以及取值范圍)。(3)編制簡單的系統(tǒng)使用說明書。四、實驗步驟和結(jié)果(空間不夠可加頁):1、已操作2、儲蓄管理演示系統(tǒng)的功能結(jié)構(gòu)圖:新建儲戶修改儲戶刪除儲戶查詢存款最多的儲戶查詢儲戶存款情況參加儲蓄人數(shù)統(tǒng)計結(jié)存金額統(tǒng)計統(tǒng)計管理員登記查詢存取業(yè)務(wù)處理儲戶管理儲蓄管理系統(tǒng)新建儲戶修改儲戶刪除儲戶
7、查詢存款最多的儲戶查詢儲戶存款情況參加儲蓄人數(shù)統(tǒng)計結(jié)存金額統(tǒng)計統(tǒng)計管理員登記查詢存取業(yè)務(wù)處理儲戶管理儲蓄管理系統(tǒng)3該系統(tǒng)所使用的數(shù)據(jù)庫:儲戶表結(jié)構(gòu) 儲蓄管理員表結(jié)構(gòu)儲蓄管理系統(tǒng)使用的數(shù)據(jù)庫儲蓄表結(jié)構(gòu)字段名類型寬度賬號文本5姓名文本10住址文本100電話文本20儲蓄管理員表結(jié)構(gòu)儲蓄管理員表結(jié)構(gòu) 字段名類型寬度編號文本5姓名文本10性別文本2年齡數(shù)字3職稱文本10密碼文本8超級用戶文本2 字段名類型寬度日期日期8賬號文本5金額貨幣8結(jié)存金額貨幣8編號文本10備注邏輯5儲蓄帳表結(jié)構(gòu)代碼設(shè)計內(nèi)容分析:儲蓄管理演示系統(tǒng)的代碼設(shè)計在邏輯上能滿足用戶的需求,在結(jié)構(gòu)上與處理的方法一致;代碼設(shè)計符合系統(tǒng)化的原則
8、,具有唯一性;在設(shè)計過程中也預留了足夠的位置,以適應(yīng)不斷變化的需求。并且運用了順序碼,區(qū)間碼和助憶碼多種代碼,提高了數(shù)據(jù)的全局一致性。輸入輸出界面設(shè)計內(nèi)容分析:輸入設(shè)計:儲蓄管理演示系統(tǒng)遵循了控制輸入量,減少輸入錯誤和輸入過程簡化等原則,如賬號,電話,姓名等的輸入;系統(tǒng)大都采用鍵盤磁盤輸入裝置,并且能夠進行輸入校驗,減少數(shù)據(jù)輸入的錯誤。輸出設(shè)計:儲蓄管理演示系統(tǒng)大都采用表格的輸出格式和顯示器的輸出設(shè)備,并且在輸出表格中考慮到系統(tǒng)發(fā)展的需要,留出備用項目以滿足將來新增項目的需要。系統(tǒng)使用說明書:用戶通過登錄進入系統(tǒng),有儲戶管理,存取業(yè)務(wù)處理,統(tǒng)計,查詢和管理員登記等模塊儲戶管理之中又分為新建儲戶
9、,儲戶修改和刪除儲戶:用戶可以鍵入相關(guān)信息新建,修改或刪除儲戶存取業(yè)務(wù)處理主要是對存取款進行業(yè)務(wù)處理,用戶通過輸入賬號和密碼即可進行相關(guān)業(yè)務(wù)處理統(tǒng)計之中又分為結(jié)存金額和參加儲蓄人數(shù),可以分別統(tǒng)計其數(shù)據(jù)結(jié)果查詢又包括儲蓄存款情況和存款最多的賬戶查詢,用戶在該界面內(nèi)查詢存款情況和存款最多的賬戶管理員登記模塊中,管理員通過前面的存取款情況和統(tǒng)計查詢結(jié)果登記賬戶信息。二1.拍賣演示系統(tǒng)的功能結(jié)構(gòu)圖 拍賣系統(tǒng)使用說明個人信息管理信用等級賣東西買東西使用說明個人信息管理信用等級賣東西買東西查看自己的信用等級回復留言商品信息管理查看自己的信用等級回復留言商品信息管理拍賣系統(tǒng)代碼設(shè)計內(nèi)容分析:拍賣系統(tǒng)的代碼設(shè)
10、計遵循了系統(tǒng)化的原則,并且盡量避免使用容易混淆的字符。大部分選擇了順序碼,如“買東西”模塊中的商品編號;并且在區(qū)間碼中采用十進位碼,如“賣東西”模塊中的起始價;使用助憶碼幫助記憶。輸入輸出界面分析內(nèi)容:輸入界面:拍賣演示系統(tǒng)遵循了控制輸入量的原則,例如“買東西”模塊中的現(xiàn)價;輸入設(shè)備上采用鍵盤-磁盤輸入裝置。輸出界面:輸出界面格式采用表格和文件形式,如“個人信息管理”中的“商品信息管理”;輸出表格同時考慮了系統(tǒng)發(fā)展的需要,留出備用項目,以滿足將來新增項目的需要。而且輸出報告對使用者來說也很方便。拍賣系統(tǒng)所使用的數(shù)據(jù)庫用戶信息表字段名數(shù)據(jù)類型寬度用戶標志整型4用戶名字符型8用戶密碼備注型4用戶郵
11、箱備注型4商品分類信息表字段名數(shù)據(jù)類型寬度分類的標志備注型4分類的名稱字符型20分類的描述備注型4商品信息表字段名數(shù)據(jù)類型寬度商品狀態(tài)備注型4商品名稱字符型20商品分類備注型4商品圖片地址備注型4商品描述備注型4拍賣者標志整型4開始日期日期型8結(jié)束日期日期型8初始價錢貨幣型8最高價錢貨幣型8 用戶出價信息表字段名數(shù)據(jù)類型寬度商品名稱字符型20出價用戶名字符型8出價時間日期型8出價金額貨幣型8系統(tǒng)使用說明書:用戶通過注冊登錄進入系統(tǒng),有買東西和賣東西兩種選擇買東西:首先挑選商品類別,之后右方表格會列出系統(tǒng)中相關(guān)的商品;點擊“查看商品詳細信息”;點擊“出價”就可競買該商品,并可留言回復賣家提問和查
12、看賣家信用等級;競價后可在個人信息管理中查看競買情況。買東西:首先填寫所賣商品信息;在個人信息管理中查看其他用戶競買該商品的情況。個人信息管理包括商品信息管理,回復留言,查看自己的信用等級三部分。一是商品信息管理,又包括作為買家和作為賣家。作為買家,可以看到商品目前的最高價;對已經(jīng)購買的商品,可以點擊查看賣家詳細信息,以便聯(lián)系和評價其信用等級。作為賣家,可以查看自己拍賣過的商品的情況,對于已成交的商品,可點擊查看其詳細信息,并評價其信用等級;若交易未成功,可重新發(fā)布商品信息,再次拍賣。二是回復留言,當用戶拍賣商品時,可能有人詢問商品情況,可點擊留言。三是查看自己的信用等級,如果信用差,被其他用
13、戶警告三次,則取消拍賣和競買資格。信用等級查詢:查詢其他用戶的信用等級附錄資料:不需要的可以自行刪除 C語言曲線函數(shù)像素函數(shù)putpixel() 畫像素點函數(shù) getpixel()返回像素色函數(shù) 直線和線型函數(shù)line() 畫線函數(shù) lineto() 畫線函數(shù) linerel() 相對畫線函數(shù) setlinestyle() 設(shè)置線型函數(shù) getlinesettings() 獲取線型設(shè)置函數(shù) setwritemode() 設(shè)置畫線模式函數(shù) 多邊形函數(shù)HYPERLINK /view/553113.htmrectangle() 畫矩形函數(shù) bar() 畫條函數(shù) bar3d() 畫條塊函數(shù) drawp
14、oly() 畫多邊形函數(shù) 圓、弧和曲線函數(shù)getaspectratio()獲取縱橫比函數(shù) circle()畫圓函數(shù) arc() 畫圓弧函數(shù) ellipse()畫HYPERLINK /view/36981.htm橢圓弧函數(shù) fillellipse() 畫橢圓區(qū)函數(shù) pieslice() 畫扇區(qū)函數(shù) sector() 畫橢圓扇區(qū)函數(shù) getarccoords()獲取圓弧坐標函數(shù) 填充函數(shù)setfillstyle() 設(shè)置填充圖樣和顏色函數(shù) setfillpattern() 設(shè)置用戶圖樣函數(shù) floodfill() 填充閉域函數(shù) fillpoly() 填充多邊形函數(shù) getfillsettings(
15、) 獲取填充設(shè)置函數(shù) getfillpattern() 獲取用戶圖樣設(shè)置函數(shù) 圖像函數(shù)imagesize() 圖像存儲大小函數(shù) getimage() 保存圖像函數(shù) putimage() 輸出圖像函數(shù) 圖形和圖像函數(shù)對許多圖形HYPERLINK /view/330120.htm應(yīng)用程序,直線和HYPERLINK /view/400.htm曲線是非常有用的。但對有些圖形只能靠操作單個像素才能畫出。當然如果沒有畫像素的功能,就無法操作直線和曲線的函數(shù)。而且通過大規(guī)模使用像素功能,整個圖形就可以保存、寫、擦除和與屏幕上的原有圖形進行疊加。 (一) 像素函數(shù)putpixel() 畫像素點函數(shù)功能: 函數(shù)
16、putpixel() 在圖形模式下屏幕上畫一個像素點。 用法: 函數(shù)調(diào)用方式為void putpixel(int x,int y,int color); 說明: 參數(shù)x,y為像素點的坐標,color是該像素點的顏色,它可以是顏色符號名,也可以是整型色彩值。 此函數(shù)相應(yīng)的HYPERLINK /view/668911.htm頭文件是graphics.h 返回值: 無 例: 在屏幕上(6,8)處畫一個紅色像素點: putpixel(6,8,RED); getpixel()返回像素色函數(shù)功能: 函數(shù)getpixel()返回像素點顏色值。 用法: 該函數(shù)調(diào)用方式為int getpixel(int x,i
17、nt y); 說明: 參數(shù)x,y為像素點坐標。 函數(shù)的返回值可以不反映實際彩色值,這取決于HYPERLINK /view/1120949.htm調(diào)色板的設(shè)置情況(參見setpalette()函數(shù))。 這個函數(shù)相應(yīng)的頭文件為graphics.h 返回值: 返回一個像素點色彩值。 例: 把屏幕上(8,6)點的像素顏色值賦給變量color。 color=getpixel(8,6); (二) 直線和線型函數(shù)有三個畫直線的函數(shù),即line(),lineto(),linerel()。這些直線使用整型坐標,并相對于當前圖形視口,但不一定受視口限制,如果視口裁剪標志clip為真,那么直線將受到視口邊緣截斷;如
18、果clip為假,即使終點坐標或新的當前位置在圖形視口或屏幕極限之外,直線截斷到屏幕極限。 有兩種線寬及幾種線型可供選擇,也可以自己定義線圖樣。下面分別介紹直線和線型函數(shù)。 line() 畫線函數(shù)功能: 函數(shù)line()使用當前繪圖色、線型及線寬,在給定的兩點間畫一直線。 用法: 該函數(shù)調(diào)用方式為void line(int startx,int starty,int endx,int endy); 說明: 參數(shù)startx,starty為起點坐標,endx,endy為終點坐標,函數(shù)調(diào)用前后,圖形狀態(tài)下屏幕光標(一般不可見)當前位置不改變。 此函數(shù)相應(yīng)的頭文件為graphics.h 返回值: 無
19、例: 見函數(shù)60.linerel()中的實例。 lineto() 畫線函數(shù)功能: 函數(shù)lineto()使用當前繪圖色、線型及線寬,從當前位置畫一直線到指定位置。 用法: 此函數(shù)調(diào)用方式為void lineto(int x,int y); 說明: 參數(shù)x,y為指定點的坐標,函數(shù)調(diào)用后,當前位置改變到指定點(x,y)。 該函數(shù)對應(yīng)的頭文件為graphics.h 返回值: 無 例: 見函數(shù)60.linerel()中的實例。 linerel() 相對畫線函數(shù)功能: 函數(shù)linerel() 使用當前繪圖色、線型及線寬,從當前位置開始,按指定的水平和垂直偏移距離畫一直線。 用法: 這個函數(shù)調(diào)用方式為voi
20、d linerel(int dx,int dy); 說明: 參數(shù)dx,dy分別是水平偏移距離和垂直偏移距離。 函數(shù)調(diào)用后,當前位置變?yōu)樵黾悠凭嚯x后的位置,例如,原來的位置是(8,6),調(diào)用函數(shù)linerel(10,18)后,當前位置為(18,24)。 返回值:無 例: 下面的程序為畫線函數(shù)調(diào)用實例: #i nclude void main() int driver,mode; driver=DETECT; mode=0; initgraph(&driver,&mode,); setcolor(15); line(66,66,88,88); lineto(100,100); linerel(3
21、6,64); getch(); restorecrtmode(); setlinestyle() 設(shè)置線型函數(shù)功能: setlinestyle() 為畫線函數(shù)設(shè)置當前線型,包括線型、線圖樣和線寬。 用法: setlinestyle() 函數(shù)調(diào)用方式為void setlinestyle(int stly,unsigned pattern,int wigth); 說明: 參數(shù)style為線型取值,也可以用相應(yīng)名稱表示,如表1-10中所示。 參數(shù)pattern用于自定義線圖樣,它是16位(bit)字,只有當style=USERBIT_LINE(值為1)時,pattern的值才有意義,使用用戶自定義線
22、圖樣,與圖樣中“1”位對應(yīng)的像素顯示,因此,pattern=0 xFFFF,則畫實線;pattern=0 x9999,則畫每隔兩個像素交替顯示的虛線,如果要畫長虛線,那么pattern的值可為0 xFF00和0 xF00F,當style不為USERBIT_LINE值時,雖然pattern的值不起作用,但扔須為它提供一個值,一般取為0。 參數(shù)wigth用來設(shè)定線寬,其取值見表1-11,表中給出了兩個值,即1和3,實際上,線寬取值為2也是可以接受的。 若用非法參數(shù)調(diào)用setlinestyle()函數(shù),那么graphresult()會返回錯誤代碼,并且當前線型繼續(xù)有效。 Turbo C提供的線型與線
23、寬定義在頭文件graphics.h中,表1-10和1-11分別列出了參數(shù)的取值與含義。 表1-10 線型 名稱取值含義SOLID_LINE0實線DOTTED_LINE1點線CENTER_LINE2中心線DASHED_LINE3虛線USERBIT_LINE4用戶自定義線型表1-11 線寬 名 稱取 值說 明NORM_WIDTH(常寬)1一個像素寬(缺省值)THICK_WIDTH(加寬)3三個像素寬這個函數(shù)的頭文件是graphics.h 返回值: 無 例: 下面的程序顯示了BC中所提供的線型圖樣: #i nclude void main() int driver,mode;i; driver=DE
24、TECT; mode=0; initgraph(&driver,&mode,); for(i=0;i4;i+) setlinestyle(i,0,1); line(i*50,200,i*50+60,200) ; getch(); restorecrtmode(); getlinesettings() 獲取線型設(shè)置函數(shù)功能: 函數(shù)getlinesettings() 用當前設(shè)置的線型、線圖樣和線寬填 寫linesettingstype型結(jié)構(gòu)。 用法: 函數(shù)調(diào)用方式為void getlinesettings(struct linesettingstype *info); 說明: 此函數(shù)調(diào)用執(zhí)行后,當
25、前的線型、線圖樣和線寬值被裝入info指向的結(jié)構(gòu)里,從而可從該結(jié)構(gòu)中獲得線型設(shè)置。 linesettingstype型結(jié)構(gòu)定義如下: struct linesettingstype int linestyle; unsigned upattern; int thickness; ; 其中l(wèi)inestyle用于存放線型,線型值為表1-10中的各值之一。 upattern用為裝入用戶自定義線圖樣,這是16位字,每一位等于一個像素,如果哪個位被設(shè)置,那么該像素打開,否則關(guān)閉。 thickness為線寬值存放的變量,可參見表1-11。 getlinesettings()函數(shù)對應(yīng)的頭文件為graphic
26、s.h 返回值: 返回的線型設(shè)置存放在info指向的結(jié)構(gòu)中。 例: 把當前線型的設(shè)置寫入info結(jié)構(gòu): struct linesettingstype info; getlinesettings(&info); setwritemode() 設(shè)置畫線模式函數(shù)功能: 函數(shù)setwritemode() 設(shè)置畫線模式 用法: 函數(shù)調(diào)用方式為 void setwritemode()(int mode); 說明: 參數(shù)mode只有兩個取值0和1,若mode為0,則新畫的線將覆蓋屏幕上原有的圖形,此為缺省畫線輸出模式。如果mode為1,那么新畫的像素點與原有圖形的像素點先進行異或(XOR)運算,然后輸出到
27、屏幕上,使用這種畫線輸出模式,第二次畫同一圖形時,將擦除該圖形。調(diào)用setwritemode()設(shè)置的畫線輸出模式只影響函數(shù)line(),lineto(),linerel(),recangle()和drawpoly()。 setwritemode()函數(shù)對應(yīng)的頭文件是graphics.h 返回值: 無 例: 設(shè)置畫線輸出模式為0: setwritemode(0); (三)、多邊形函數(shù)對多邊形,無疑可用畫直線函數(shù)來畫出它,但直接提供畫多邊形的函數(shù)會給用戶很大方便。最常見的多邊形有矩形、矩形塊(或稱條形)、多邊形和多邊形塊,我們還把長方形條塊也放到這里一起考慮,雖然它不是多邊形,但它的特例就是矩形
28、(塊)。下面直接介紹畫多邊形的函數(shù)。 rectangle() 畫矩形函數(shù)功能: 函數(shù)rectangle() 用當前繪圖色、線型及線寬,畫一個給定左上角與右下角的矩形(正方形或長方形)。 用法: 此函數(shù)調(diào)用方式為void rectangle(int left,int top,int right,int bottom); 說明: 參數(shù)left,top是左上角點坐標,right,bottom是右下角點坐標。如果有一個以上角點不在當前圖形視口內(nèi),且裁剪標志clip設(shè)置的是真(1),那么調(diào)用該函數(shù)后,只有在圖形視口內(nèi)的矩形部分才被畫出。 這個函數(shù)對應(yīng)的頭文件為graphics.h 返回值: 無 例: 下
29、面的程序畫一些矩形實例: #i nclude void main() int driver,mode; driver=DETECT; mode=0; initgraph(&driver,&mode,); rectangle(80,80,220,200); rectangle(140,99,180,300); rectangle(6,6,88,88); rectangle(168,72,260,360); getch(); restorecrtmode(); bar() 畫條函數(shù)功能: 函數(shù)bar()用當前填充圖樣和填充色(注意不是給圖色)畫出一個指定上左上角與右下角的實心長條形(長方塊或正方塊
30、),但沒有四條邊線)。 用法: bar()函數(shù)調(diào)用方式為void bar(int left,int top,int right,int bottom); 說明: 參數(shù)left,topright,bottom分別為左上角坐標與右下角坐標,它們和調(diào)用函數(shù)rectangle()的情形相同,調(diào)用此函數(shù)前,可用setfillstyle()或setfillpattern()設(shè)置當前填充圖樣和填充色。 注意此函數(shù)只畫沒有邊線的條形,如果要畫有邊線的的條形,可調(diào)用下面的函數(shù)bar3d()來畫,并將深度參數(shù)設(shè)為0,同時topflag參數(shù)要設(shè)置為真,否則該條形無頂邊線。 這 應(yīng)的頭文件為graphics.h 返回
31、值: 無 例: 見函數(shù)bar3d()中的實例。 bar3d() 畫條塊函數(shù)功能: 函數(shù)bar3d() 使用當前繪圖色、線型及線寬畫出三維長方形條塊,并用當前填充圖樣和填 充色填充該三維條塊的表面。 用法: 此函數(shù)調(diào)用方式為void bar3d(int left,int top,int right,int bottom,int depth,int topflag); 說明: 參數(shù)left,top,right,bottom分另為左上角與右下角坐標,這與bar()函數(shù)中的一樣。參數(shù)depth為條塊的深度,以像素為單位,通常按寬度的四分之一計算。深度方向通過屏顯縱橫比調(diào)節(jié)為約45度(即這時x/y比設(shè)置
32、為1:1)。 參數(shù)topflag相當于一個HYPERLINK /view/46060.htm布爾參數(shù),如果設(shè)置為1(真)那么條塊上放一頂面;若設(shè)置為0(假),則三維條形就沒有頂面,這樣可使多個三維條形疊加在一起。 要使圖形更加美觀,可利用函數(shù)floodfill()或setfillpattern()來選擇填充圖樣和填充色(參見本小節(jié)(五)填充函數(shù) )。 bar3d()函數(shù)對應(yīng)的頭文件為graphics.h 返回值: 無 例: 下面的程序畫一個條形和條塊: #i nclude void main() int driver,mode; driver=DETECT; mode=0; initgraph
33、(&driver,&mode,); setfillstyle(SOLID-FILL,GREEN); bar(60,80,220,160); setfillstyle(SOLID-FILL,RED); bar3d(260,180,360,240,20,1); getch(); restorecrtmode(); drawpoly() 畫多邊形函數(shù)功能: 函數(shù)drawpoly() 用當前繪圖色、線型及線寬,畫一個給定若干點所定義的多邊形。 用法: 此函數(shù)調(diào)用方式為void drawpoly(int pnumber,int *points); 說明: 參數(shù)pnumber為多邊形的頂點數(shù);參數(shù)poin
34、ts指向整型HYPERLINK /view/209670.htm數(shù)組,該數(shù)組中是多邊形所有頂點(x,y)坐標值,即一系列整數(shù)對,x坐標值在前。顯然整型數(shù)組的維數(shù)至少為頂點數(shù)的2倍,在定義了多邊形所有頂點的數(shù)組polypoints時,頂點數(shù)目可通過計算sizeof(polypoints)除以2倍的sizeof(int)得到,這里除以2倍的原因是每個頂點有兩個整數(shù)坐標值。另外有一點要注意,畫一個n個頂點的閉合圖形,頂點數(shù)必須等于n+1,并且最后一點(第n+1)點坐標必須等于第一點的坐標。 drawpoly()函數(shù)對應(yīng)的頭文件為grpahics.h 返回值: 無 例: 下面的程序畫一個封閉星形圖與一
35、個不封閉星形圖: #i nclude void main() int driver,mode; static int polypoints118=100,100,110,120,100,130,120,125,140,140,130,120, 140,110,120,115,100,100; static int polypoints218=180,100,210,120,200,130,220,125,240,140,230,120, 240,110,220,115,220,110; driver=DETECT; mode=0; initgraph(&driver,&mode,); draw
36、poly(9,polypoints1); drawpoly(9,polypoints2); getch(); restorecrtmode(); (四)、 圓、弧和曲線函數(shù)在一個屏幕上畫得很圓的圖形到另一個屏幕上可能被壓扁或拉長,這是因為每一種顯示卡與之相應(yīng)的顯示模式都有一個縱橫比??v橫比是指像素的水平方向大小與垂直方向大小的比值。如VGA顯示卡由于偈素基本上是正方形,所以縱橫比為1.000。 為了保證幾何圖形基本按預計情況顯示在屏幕上,用屏顯的縱橫比來計算和糾正不同硬件及顯示卡產(chǎn)生的畸變。計算縱橫比所需要的水平方向和垂直方向的比例系數(shù)可調(diào)用函數(shù)getaspectratio()獲得。 geta
37、spectratio()獲取縱橫比函數(shù)功能: 函數(shù)getaspectratio()返回x方向和y方向的比例系數(shù),用這兩個整型值可計算某一特定屏顯的縱橫比。 用法: 此函數(shù)調(diào)用方式為void getaspectratio(int xasp,int yasp); 說明: 參數(shù)xasp指向的變量存放返回的x方向比例系數(shù);參數(shù)yasp指向的變量存放返回的y方向比例系數(shù)。通常y方向比例系數(shù)為10 000, x方向比例系數(shù)不大于10 000(這是因為大多數(shù)屏幕像素高比寬長)。 注意縱橫比自動用作下面函數(shù)arc(),circle()和pieslice()中的標尺因子,使屏幕上圓或弧正常顯示。但用ellips
38、e()函數(shù)畫橢圓必須調(diào)用本函數(shù)獲取縱橫比作為標尺因子,否則不予調(diào)整??v橫比可用于其它幾何圖形,目的是校正和顯示圖形。 getaspectratio()函數(shù)對應(yīng)的頭文件為graphics.h 返回值: 返回x與y方向比例系數(shù)分別存放在xasp和yasp所指向的變量中。 例: 下面的程序顯示縱橫比: int xasp,yasp; float aspectratio; getaspectratio(&xasp,&yasp); aspectratio=xasp/yasp; printf(aspect ratio: %f,aspectratio); circle()畫圓函數(shù)功能: 函數(shù)circle()使
39、用當前繪圖色并以實線畫一個完整的圓。 用法:該函數(shù)調(diào)用方式為void circle(int x,int y,int radius); 說明: 參數(shù)x,y為圓心坐標,radius為圓半徑,用像素個素表示。注意,調(diào)用circle()函數(shù)畫圓時不用當前線型。 不同于ellipse()函數(shù),只用單個半徑radius參數(shù)調(diào)用circle()函數(shù),故屏顯縱橫比可以自動調(diào)節(jié),以產(chǎn)生正確的顯示圖。 此函數(shù)對應(yīng)的頭文件為graphics.h 返回值: 無 例: 畫六個同心圓,圓心在(100,100)。 #i nclude void main() int driver,mode; driver=DETECT; m
40、ode=0; initgraph(&driver,&mode,); circle(100,100,10); circle(100,100,20); circle(100,100,30); circle(100,100,40); circle(100,100,50); circle(100,100,60); getch(); restorecrtmode(); arc() 畫圓弧函數(shù)功能: 函數(shù)arc()使用當前繪圖色并以實線畫一圓弧。 用法: 函數(shù)調(diào)用方式為void arc(int x,int y,int startangle,int endangle,int radius); 說明: 參數(shù)x
41、,y為圓心坐標,startangle與endangle分別為起始角與終止角,radius為半徑。圓心坐標和半徑以像素個數(shù)給出,起始角和終止角以度為單位,0度位于右邊,90度位于頂部,180度位于左邊,底部是270度。同往常一樣,360度與0度重合。角度按逆時針方向增加,但并不要求終止角一定比起始角大。例如指定300度和90度分別為起始角和終止角,與指定300度和450度分別為起始角和終止角可畫出相同的弧。大于360度可作為參數(shù),它將被化到0度360度范圍里。函數(shù)arc()能畫封閉圓,只要取起始角為0度,終止角為360度即可。此函數(shù)中,屏顯縱橫比可自動調(diào)節(jié)。 arc()函數(shù)對應(yīng)的頭文件為grap
42、hics.h 返回值: 無 例: 以(200,200)為圓心,100為半徑,從0度到120度畫圓弧: #i ncludegraphics.h void main() int driver,mode; driver=DETECT; mode=0; initgraph(&driver,&mode,); setcolor(WHITE); arc(200,200,0,120,100); getch(); restorecrtmode(); graphics.h頭文件的內(nèi)容:/* graphics.h Definitions for Graphics Package. Copyright (c) Bor
43、land International 1987,1988 All Rights Reserved. */ #if _STDC_ #define _Cdecl #else #define _Cdecl cdecl #endif #if !defined(_GRAPHX_DEF_) #define _GRAPHX_DEF_ enum graphics_errors /* graphresult error return codes */ grOk = 0, grNoInitGraph = -1, grNotDetected = -2, grFileNotFound = -3, grInvalidD
44、river = -4, grNoLoadMem = -5, grNoScanMem = -6, grNoFloodMem = -7, grFontNotFound = -8, grNoFontMem = -9, grInvalidMode = -10, grError = -11, /* generic error */ grIOerror = -12, grInvalidFont = -13, grInvalidFontNum = -14, grInvalidVersion = -18 ; enum graphics_drivers /* define graphics drivers */
45、 DETECT, /* requests autodetection */ CGA, MCGA, EGA, EGA64, EGAMONO, IBM8514, /* 1 - 6 */ HERCMONO, ATT400, VGA, PC3270, /* 7 - 10 */ CURRENT_DRIVER = -1 ; enum graphics_modes /* graphics modes for each driver */ CGAC0 = 0, /* 320 x200 palette 0; 1 page */ CGAC1 = 1, /* 320 x200 palette 1; 1 page *
46、/ CGAC2 = 2, /* 320 x200 palette 2: 1 page */ CGAC3 = 3, /* 320 x200 palette 3; 1 page */ CGAHI = 4, /* 640 x200 1 page */ MCGAC0 = 0, /* 320 x200 palette 0; 1 page */ MCGAC1 = 1, /* 320 x200 palette 1; 1 page */ MCGAC2 = 2, /* 320 x200 palette 2; 1 page */ MCGAC3 = 3, /* 320 x200 palette 3; 1 page
47、*/ MCGAMED = 4, /* 640 x200 1 page */ MCGAHI = 5, /* 640 x480 1 page */ EGALO = 0, /* 640 x200 16 color 4 pages */ EGAHI = 1, /* 640 x350 16 color 2 pages */ EGA64LO = 0, /* 640 x200 16 color 1 page */ EGA64HI = 1, /* 640 x350 4 color 1 page */ EGAMONOHI = 0, /* 640 x350 64K on card, 1 256K on card,
48、 4 pages */ HERCMONOHI = 0, /* 720 x348 2 pages */ ATT400C0 = 0, /* 320 x200 palette 0; 1 page */ ATT400C1 = 1, /* 320 x200 palette 1; 1 page */ ATT400C2 = 2, /* 320 x200 palette 2; 1 page */ ATT400C3 = 3, /* 320 x200 palette 3; 1 page */ ATT400MED = 4, /* 640 x200 1 page */ ATT400HI = 5, /* 640 x40
49、0 1 page */ VGALO = 0, /* 640 x200 16 color 4 pages */ VGAMED = 1, /* 640 x350 16 color 2 pages */ VGAHI = 2, /* 640 x480 16 color 1 page */ PC3270HI = 0, /* 720 x350 1 page */ IBM8514LO = 0, /* 640 x480 256 colors */ IBM8514HI = 1 /*1024x768 256 colors */ ; /* Colors for setpalette and setallpalett
50、e */ #if !defined(_COLORS) #define _COLORS enum COLORS BLACK, /* dark colors */ BLUE, GREEN, CYAN, RED, MAGENTA, BROWN, LIGHTGRAY, DARKGRAY, /* light colors */ LIGHTBLUE, LIGHTGREEN, LIGHTCYAN, LIGHTRED, LIGHTMAGENTA, YELLOW, WHITE ; #endif enum CGA_COLORS CGA_LIGHTGREEN = 1, /* Palette C0 Color Nam
51、es */ CGA_LIGHTRED = 2, CGA_YELLOW = 3, CGA_LIGHTCYAN = 1, /* Palette C1 Color Names */ CGA_LIGHTMAGENTA = 2, CGA_WHITE = 3, CGA_GREEN = 1, /* Palette C2 Color Names */ CGA_RED = 2, CGA_BROWN = 3, CGA_CYAN = 1, /* Palette C3 Color Names */ CGA_MAGENTA = 2, CGA_LIGHTGRAY = 3 ; enum EGA_COLORS EGA_BLA
52、CK = 0, /* dark colors */ EGA_BLUE = 1, EGA_GREEN = 2, EGA_CYAN = 3, EGA_RED = 4, EGA_MAGENTA = 5, EGA_BROWN = 20, EGA_LIGHTGRAY = 7, EGA_DARKGRAY = 56, /* light colors */ EGA_LIGHTBLUE = 57, EGA_LIGHTGREEN = 58, EGA_LIGHTCYAN = 59, EGA_LIGHTRED = 60, EGA_LIGHTMAGENTA = 61, EGA_YELLOW = 62, EGA_WHIT
53、E = 63 ; enum line_styles /* Line styles for get/setlinestyle */ SOLID_LINE = 0, DOTTED_LINE = 1, CENTER_LINE = 2, DASHED_LINE = 3, USERBIT_LINE = 4, /* User defined line style */ ; enum line_widths /* Line widths for get/setlinestyle */ NORM_WIDTH = 1, THICK_WIDTH = 3, ; enum font_names DEFAULT_FON
54、T = 0, /* 8x8 bit mapped font */ TRIPLEX_FONT = 1, /* Stroked fonts */ SMALL_FONT = 2, SANS_SERIF_FONT = 3, GOTHIC_FONT = 4 ; #define HORIZ_DIR 0 /* left to right */ #define VERT_DIR 1 /* bottom to top */ #define USER_CHAR_SIZE 0 /* user-defined char size */ enum fill_patterns /* Fill patterns for g
55、et/setfillstyle */ EMPTY_FILL, /* fills area in background color */ SOLID_FILL, /* fills area in solid fill color */ LINE_FILL, /* fill */ LTSLASH_FILL, /* / fill */ SLASH_FILL, /* / fill with thick lines */ BKSLASH_FILL, /* fill with thick lines */ LTBKSLASH_FILL, /* fill */ HATCH_FILL, /* light ha
56、tch fill */ XHATCH_FILL, /* heavy cross hatch fill */ INTERLEAVE_FILL, /* interleaving line fill */ WIDE_DOT_FILL, /* Widely spaced dot fill */ CLOSE_DOT_FILL, /* Closely spaced dot fill */ USER_FILL /* user defined fill */ ; enum putimage_ops /* BitBlt operators for putimage */ COPY_PUT, /* MOV */
57、XOR_PUT, /* XOR */ OR_PUT, /* OR */ AND_PUT, /* AND */ NOT_PUT /* NOT */ ; enum text_just /* Horizontal and vertical justification for settextjustify */ LEFT_TEXT = 0, CENTER_TEXT = 1, RIGHT_TEXT = 2, BOTTOM_TEXT = 0, /* CENTER_TEXT = 1, already defined above */ TOP_TEXT = 2 ; #define MAXCOLORS 15 s
58、truct palettetype unsigned char size; signed char colorsMAXCOLORS+1; ; struct linesettingstype int linestyle; unsigned upattern; int thickness; ; struct textsettingstype int font; int direction; int charsize; int horiz; int vert; ; struct fillsettingstype int pattern; int color; ; struct pointtype i
59、nt x, y; ; struct viewporttype int left, top, right, bottom; int clip; ; struct arccoordstype int x, y; int xstart, ystart, xend, yend; ; void far _Cdecl arc(int x, int y, int stangle, int endangle, int radius); void far _Cdecl bar(int left, int top, int right, int bottom); void far _Cdecl bar3d(int
60、 left, int top, int right, int bottom, int depth, int topflag); void far _Cdecl circle(int x, int y, int radius); void far _Cdecl cleardevice(void); void far _Cdecl clearviewport(void); void far _Cdecl closegraph(void); void far _Cdecl detectgraph(int far *graphdriver,int far *graphmode); void far _
溫馨提示
- 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 清廉課題申報書怎么寫
- 科研課題申報書抄襲
- 別墅擴建土建合同范本
- 衛(wèi)浴勞動合同范本
- 音樂 課題申報書
- 國家立項課題申報書
- 合同附合同范本
- 單項委托預定酒店合同范本
- 養(yǎng)殖土雞合同范本
- 中環(huán)租房合同范本
- 2025年湖南鐵道職業(yè)技術(shù)學院單招職業(yè)技能測試題庫帶答案
- 2025年江蘇揚州市儀征市眾鑫建設(shè)開發(fā)有限公司招聘筆試參考題庫附帶答案詳解
- 部編高教版2023·職業(yè)模塊 中職語文 2.《寧夏閩寧鎮(zhèn):昔日干沙灘今日金沙灘》 課件
- 安全環(huán)保職業(yè)健康法律法規(guī)清單2024年
- 2022年袋鼠數(shù)學競賽真題一二年級組含答案
- 人工智能引論智慧樹知到課后章節(jié)答案2023年下浙江大學
- 2023年高考語文全國乙卷《長出一地的好蕎麥》解析
- 清鈴撳針介紹
- 東方要略(1-完整版)
- 2022年三類人員(安全B證)安全繼續(xù)教育考試知識點
- 中國石油天然氣集團公司保密管理規(guī)定
評論
0/150
提交評論