第16講 綜合編程訓練_第1頁
第16講 綜合編程訓練_第2頁
第16講 綜合編程訓練_第3頁
第16講 綜合編程訓練_第4頁
第16講 綜合編程訓練_第5頁
已閱讀5頁,還剩26頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

1、C語言綜合編程訓練C程序組成程序組成開發(fā)方法: 自上向下,逐步細化,模塊化設計,結構化編碼五 子 棋 游 戲 程 序一個綜合實例的分析五 子 棋 游 戲 程 序一個綜合實例的分析一般來說,開發(fā)一個軟件要經(jīng)過以下步驟:確定軟件的功能定義核心數(shù)據(jù)結構對整個軟件進行功能模塊劃分編寫程序實現(xiàn)各功能模塊對源程序進行編譯和調(diào)試,形成軟件產(chǎn)品查看源程序功 能 分 析五子棋棋盤兩位玩家交替行棋五子相連判定贏棋查看源程序定義核心數(shù)據(jù)結構定義char gChessBoard1919;表示棋盤棋盤上每個交叉點有三種狀態(tài)當前光標位置表示查看源程序struct point int x; int y;程序的模塊劃分查看源

2、程序畫棋盤顯示提示信息棋盤置空接收,處理用戶輸入,直至:分出勝負按退出鍵判斷落子鍵有效性更新數(shù)組與棋盤顯示判斷是否走成五子相連更新全局變量gCursor移動光標至新位置程 序 的 編 制 細 節(jié)查看源程序定義核心數(shù)據(jù)結構初始化接收按鍵移動光標落子與判定勝負main()函數(shù)程序中用到的庫函數(shù)介紹bioskey程 序 的 編 制 細 節(jié)程序中用到的庫函數(shù)textmodeclrscrputchcputsgotoxytextcolordelaysound 與nosound用 戶 手 冊查看源程序設計任務v系統(tǒng)以菜單方式工作(文本菜單或圖形菜單)v輸入數(shù)據(jù)模塊,數(shù)據(jù)用文件保存v輸出數(shù)據(jù)模塊,數(shù)據(jù)用文件保

3、存v基本算法運用模塊(排序、查找、插入、比較算法中至少包含一種)v系統(tǒng)進入畫面(靜態(tài)或動畫)v系統(tǒng)其它功能實現(xiàn)(任選)參考設計題目一:職工信息管理系統(tǒng)設計職工信息包括職工號、姓名、性別、出生年月、學歷、職務、工資、住址、電話等(職工號不重復)。試設計一職工信息管理系統(tǒng),使之能提供以下功能:v系統(tǒng)以菜單方式工作v職工信息錄入功能(職工信息用文件保存)輸入v職工信息瀏覽功能 輸出v查詢或排序功能:(至少一種查詢方式) 算法l按工資查詢l按學歷查詢等v系統(tǒng)進入畫面(靜態(tài)或動畫)v職工信息刪除、修改功能(任選項)參考設計題目二:飛機訂票系統(tǒng)設計假定民航機場共有n個航班,每個航班有一航班號、確定的航線(

4、起始站、終點站)、確定的飛行時間(星期幾)和一定的成員訂額。試設計一民航訂票系統(tǒng),使之能提供下列服務:v系統(tǒng)以菜單方式工作v航班信息錄入功能(航班信息用文件保存)輸入v航班信息瀏覽功能輸出v查詢航線:(至少一種查詢方式)算法l按航班號查詢l按終點站查詢v系統(tǒng)進入畫面(靜態(tài)或動畫)v承辦訂票和退票業(yè)務(可選項)參考設計題目三:學生選修課程系統(tǒng)設計假定有n門課程,每門課程有課程編號,課程名稱,課程性質(zhì),總學時,授課學時,實驗或上機學時,學分,開課學期等信息,學生可按要求(如總學分不得少于60)自由選課。試設計一選修課程系統(tǒng),使之能提供以下功能:v系統(tǒng)以菜單方式工作v課程信息錄入功能(課程信息用文件

5、保存)輸入v課程信息瀏覽功能輸出v查詢功能:(至少一種查詢方式)算法l按學分查詢l按課程性質(zhì)查詢v系統(tǒng)進入畫面(靜態(tài)或動畫)v學生選修課程(可選項)參考設計題目四:圖書信息管理系統(tǒng)設計圖書信息包括:登錄號、書名、作者名、分類號、出版單位、出版時間、價格等。試設計一圖書信息管理系統(tǒng),使之能提供以下功能:v系統(tǒng)以菜單方式工作v圖書信息錄入功能(圖書信息用文件保存)輸入v圖書信息瀏覽功能輸出v查詢或排序功能:(至少一種查詢方式)算法l按書名查詢l按作者名查詢v系統(tǒng)進入畫面(靜態(tài)或動畫)v圖書信息的刪除與修改(可選項)設計要求與設計報告v設計要求l可自己選定題目,但至少包含五個功能模塊l模塊化程序設計

6、l鋸齒型書寫格式l必須上機調(diào)試通過v實習報告l語言簡練,條理清楚,圖表規(guī)范l程序設計組成框圖、流程圖l模塊功能說明(如函數(shù)功能、入口及出口參數(shù)說明,函數(shù)調(diào)用關系描述等)l調(diào)試與測試:調(diào)試方法,測試結果的分析與討論,測試過程中遇到的主要問題及采取的解決措施l源程序清單和執(zhí)行結果(軟盤):清單中應有足夠的注釋圖形設計1 顯示系統(tǒng)顯示器:CRT(陰極射線管)與控制電路組成適配器(圖形卡):CPU與顯示器的接口,由寄存器組、存儲器和控制電路組成主機圖形控制器顯示存儲器顯示控制器適配器CRT參考書:C高級實用程序設計 王士元 清華大學出版社將要顯示的字符和圖形以數(shù)字形式存儲在卡上的視頻RAM中,再轉換成

7、視頻模擬信號傳送給相應的顯示器顯示模式v文本模式:顯示緩沖區(qū)中存放顯示字符的代碼(ASCII碼或漢字機內(nèi)碼),及字符的屬性,顯示屏幕按字符分成若干行、列,如80列25行v圖形模式:顯示緩沖區(qū)中存放顯示屏幕上每點(象素)的顏色或灰度值,顯示屏幕按象素分成若干行、列,如640480一般開機后的模式都是80 25的文本模式2 Turbo C繪圖Turbo C支持的適配器和圖形模式xy(0,0)分辨率:640 480(0,0)(0,0)(20,50)(639,479)(400,150)圖形庫文件與圖形頭文件 graphics.lib與graphics.h圖形顯示的坐標與象素適配器模式分辨率顏色數(shù)標識符

8、CGA(彩色圖形適配器)EGA(增強圖形適配器)VGA(視頻圖形陣列)0320 2004CGAC04640 2002CGAHI1320 2004CGAC12320 2004CGAC23320 2004CGAC30640 20016EGAL01640 35016EGAHI0640 20016VGAL01640 35016VGAMED2640 48016VGAHI圖形系統(tǒng)的初始化v圖形系統(tǒng)初始化函數(shù)lvoid initgraph(int *driver,int *mode,char *pathtodriver)l其中;udriver顯示適配器驅動程序的枚舉變量umode圖形模式(模式號或模式標識符

9、)upathtodriver適配器驅動程序的尋找路徑,“”表示在當前目錄下(*.BGI)lenum graphics_driverDETECT,CGA,MCGA,EGA,EGA64,VGA,PC3270;lDETECT自動檢測所用顯示適配器的類型,將相應的驅動程序裝入,并將其最高顯示模式作為當前顯示模式使用圖形方式時先進行圖形系統(tǒng)初始化,檢測或設置指定的圖形模式#include main() int driver=DETECT,mode; initgraph(&driver,&mode, “”); . closegraph();initgraph(&driver,&mode, “d:tcbgi

10、”);#include main() int driver=VGA; int mode=VGAHI; initgraph(&driver,&mode, “”); . closegraph();將指定模式的驅動程序 (*.GBI)從當前路徑下調(diào)入內(nèi)存關閉圖形系統(tǒng)回到文本模式圖形程序的圖形程序的獨立運行獨立運行問題問題為使圖形方式的為使圖形方式的C C源程序能夠脫離源程序能夠脫離TCTC環(huán)境下運行,應對環(huán)境下運行,應對EGAVGAEGAVGA顯示器的驅動程序顯示器的驅動程序.BGI.BGI轉換成轉換成.OBJ.OBJ文件文件: : C:TCC:TCBGIOBJBGIOBJ EGAVGA EGAVG

11、A然后然后, ,將將EGAVGA.OBJEGAVGA.OBJ與與GRAPHICS.LIBGRAPHICS.LIB進行連接進行連接: : C:TCC:TCTLIBTLIB LIBGRAPHICS.LIB+EGAVGA.OBJ LIBGRAPHICS.LIB+EGAVGA.OBJ程序中程序中, ,initgraphinitgraph()()調(diào)用前要用調(diào)用前要用registerbgidriverregisterbgidriver()()進行登記進行登記: : registerbgidriverregisterbgidriver(EGAVGA_driver);(EGAVGA_driver);v清屏和恢

12、復顯示方式函數(shù)lvoid cleardevice(void);lvoid closegraph(void);基本圖形函數(shù)v畫點:putpixel() getpixel()v坐標移動:moveto() moverel() getx() gety()v畫線:line() lineto() linerel()v畫矩形和條形圖:rectangle() bar()v橢圓、圓、圓弧和扇形:ellipse() circle() arc() pieslice()顏色控制函數(shù)v設調(diào)色板:setpalette()v設背景色:setbkcolor()v設繪圖色:setcolor()關閉圖形系統(tǒng)回到文本模式顏色值顏色

13、名顏色 顏色值顏色名顏色0123456789101112131415BLACKBLUEGREENCYANREDMAGENTABROWNLIGHTGRAYDARKGRAYLIGHTBLUELIGHTGREENLIGHTCYANLIGHTREDLIGHTMAGENTAYELLOWWHITE黑藍綠青紅洋紅棕淺灰深灰淡藍淡綠淡青淡紅淡洋紅黃白設定線型函數(shù): setlinestyle()填充函數(shù)v設定填充模式:setfillstyle() v常用函數(shù):bar3d() sector() fillellipse() fillpoly()屏幕操作函數(shù)v屏幕圖象存儲與顯示: getimage() putimag

14、e() imagesize()視口函數(shù)lsetviewport()lclearviewport()圖形方式下的文本輸出v文本輸出:outtext() outtextxy()v定義文本字型:settextstyle()文本的屏幕輸出#include 屏幕坐標(1,1)(80,25)文本方式控制函數(shù)vvoid textmode(int newmode);vTurbo C支持5種文本顯示方式方式方式名行列和顏色0BW4040 25 黑白1C4040 25 彩色2BW8080 25 黑白3C8080 25 彩色7MONO80 25 單色-1LASTMODE上一次的顯示方式文本方式下顏色控制函數(shù)v文本顏

15、色 textcolor()v文本背景 textbackground()v文本屬性 textattr()BLINKRGBIRGB背景色字符色閃爍加亮字符顯示亮度控制函數(shù)vhighvideo()vlowvideo()vnormvideo()窗口設置與文本輸出函數(shù)vwindow()vcprintf()vcputs()vputch()清屏與光標操作函數(shù)vclrscr()vclreol()vdelline()vgotoxy() wherex() wherey()屏幕文本移動與存取函數(shù)vmovetext()vgettext()vputtext()菜單及其設計要點菜單作用:由若干任務項組成的畫面(界面),選擇一項按鍵確定后,即執(zhí)行相應的功能菜單顯示方式:文本方式菜單與圖形方式菜單菜單種類:固定式菜單、彈出式菜單,下拉式菜單optmenu.cpopdown.ctext_men.cmenu_s.cmenu_gra.cplane_e.c菜單設計要點:v菜單窗口圖象的存儲與顯示新的窗口出現(xiàn)時,會覆蓋原窗口的區(qū)域可事

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論