




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
4/23/20231C語言綜合實習(xí)訓(xùn)練C程序的組成C程序的模塊化設(shè)計圖形設(shè)計動態(tài)時鐘設(shè)計要點設(shè)計任務(wù)與設(shè)計要求參考書4/23/20232一.C程序組成C程序源程序1源程序2源程序n…………預(yù)編譯命令函數(shù)1函數(shù)n……說明部分執(zhí)行部分4/23/20233二.C程序模塊化設(shè)計模塊化的程序設(shè)計的構(gòu)思1.抽象描述2.框架分解3.簡化功能(函數(shù))模塊化設(shè)計的實質(zhì)性階段從單一功能的函數(shù)設(shè)計開始定義變量、確定算法對每個函數(shù),分別編譯(Compile)但不鏈接(Link)按順序在主函數(shù)堆砌各函數(shù)參數(shù)調(diào)用、流程控制由部分到整體調(diào)試(編譯、鏈接)4/23/20234成績錄入個人成績統(tǒng)計班級平均成績成績結(jié)果統(tǒng)計退出輸出統(tǒng)計結(jié)果輸入各科成績成績存盤個人平均成績個人總成績優(yōu)秀成績統(tǒng)計不及格成績統(tǒng)計排序結(jié)果輸出班級總成績輸出個人成績輸出優(yōu)秀\不及格輸出某班學(xué)生成績統(tǒng)計設(shè)計4/23/20235C程序設(shè)計風(fēng)格根據(jù)需要,建立自己的頭文件可將宏定義、自定義函數(shù)原型等分類放在頭文件中在程序的開頭用#include”filename.h”包含進來通常頭文件放在TC\include的目錄下也可使用其它路徑存放頭文件#include”a:\\info.h”4/23/20236C程序設(shè)計風(fēng)格…函數(shù)的使用保持函數(shù)小型化,功能單一化函數(shù)設(shè)計應(yīng)具有獨立性,單進單出恰當(dāng)使用外部變量,盡可能提高模塊的獨立性采用層次的書寫程序格式按語句的從屬關(guān)系分層,縮格方式編程適當(dāng)使用注釋,便于程序閱讀和調(diào)試4/23/20237三、圖形設(shè)計(一)意義軟件設(shè)計的人性化——友好的操作界面直觀的信息——圖形(矢量)或圖象(像素)例如:統(tǒng)計直方圖(餅圖)趨勢曲線圖仿真圖過渡動畫FLASH畫面4/23/20238(二)TurboC的圖形1.圖形顯示器與適配器彩色顯示器:接收紅綠蘭三種模擬信號。每種信號強度不同,經(jīng)過解碼電路,就形成不同的色彩適配器(圖形卡):將要顯示的字符和圖形以數(shù)字形式存儲在卡上的視頻RAM中,再轉(zhuǎn)換成視頻模擬信號傳送給相應(yīng)的顯示器適配器主要作用:信息轉(zhuǎn)換(CPU顯卡)和視頻發(fā)送(顯卡CRT)不同的適配器,使用的顯示器也不同4/23/20239(三)圖形設(shè)計基本要領(lǐng)1)TurbocC支持的適配器和圖形模式支持多種適配器例如:CGA,EGA,VGA等等。以國內(nèi)使用面較大的適配器VGA為例。
適配器圖形模式值標(biāo)識符分辨率
DriverModeVGA0VGALO640×2001VGAMED640×3502VGAHI640×480(0,0)(639,479)YX640×480modeCRT4/23/2023102)文本方式與圖形方式開機上電后的模式都是80×25的文本模式進入圖形方式時,應(yīng)調(diào)用TurboC的圖形初始化initgarph()函數(shù),進行檢測或設(shè)置指定的圖形模式。圖形初始化完成之后,即可調(diào)用圖形函數(shù)進行繪圖編程。繪圖函數(shù)頭文件是graphics.h。由圖形方式返回到文本方式時,需要關(guān)閉圖形方式——圖形關(guān)閉函數(shù)closegraph()。4/23/202311#include“graphics.h”main(){/*已知圖形適配器為VGA時,如采用640×480的顯示模式*/
intdriver=VGA,mode=VGAHI;
intflag=0,row,col;
/*將指定模式的驅(qū)動程序(*.GBI),從當(dāng)前路徑下調(diào)入內(nèi)存*/
initgraph(&driver,&mode,“”);
/*下面即可編寫繪圖程序*/
setcolor(RED);
/*……*/
getch();/*關(guān)閉圖形系統(tǒng),返回到文本方式*/
closegraph();}(四)圖形初始化程序示例4/23/202312四、動態(tài)時鐘設(shè)計的要點(一)函數(shù)1、初始化圖形系統(tǒng)
initgraph(int*graphdriver,int*graphmode,char*pathtodriver)
參數(shù)說明:(1)graphdriver
圖形驅(qū)動器代號
(2)graphmode
選定圖形驅(qū)動器的工作模式
(3)pathtodriver
圖形驅(qū)動器文件路徑
4/23/202313驅(qū)動器代號(graphdriver
)DETECT0
CGA1
MCGA2
EGA3EGA644
EGAMONO5
IBM85146HERCMONO7
VGA9圖形驅(qū)動器的工作模式(graphmode)
EGALO=0640x20016EGAHI=1640x35016EGA64LO=0640x20016VGALO=0640x20016VGAMED=1640x35016VGAHI=2640x48016圖形驅(qū)動器文件路徑
(pathtodriver)
BGI所在的路徑,如不修改,圖形驅(qū)動器文件在TC目錄下,在當(dāng)前目錄下可以省略````)例如,BGI在e盤caic文件夾下:
``e:\\caic\\bgi``
4/23/202314示例:
(1)將圖形系統(tǒng)初始化為VGA640X48016色工作方式:intdriver=VGA,mode=VGAHI;initgraph(&driver,&mode,“
e:\\caic\\bgi”)(例1)(2)利用默認(rèn)值進行圖形系統(tǒng)初始化。
int
gdriver=DETECT,gmode;/*系統(tǒng)默認(rèn)值*/
initgraph(&gdriver,&gmode,"");/*此時的圖形設(shè)備驅(qū)動程序*.BGI或*.CHR在當(dāng)前文件編輯的目錄下*/
(例2)(3)TurboC提供了一個自動檢測顯示器硬件的函數(shù).
(例3)4/23/2023152、注冊已連接的圖形驅(qū)動器程序int
registerbgidriver(void(*driver)(void))(該函數(shù)告訴連接程序在連接時把EGAVGA的驅(qū)動程序裝入到用戶的執(zhí)行程序中,編譯鏈接后的執(zhí)行程序可在任何目錄或其它兼容機上運行)
(例4)4/23/202316設(shè)置背景顏色和畫筆顏色設(shè)置背景void
setbkcolor(int
color)
設(shè)置作圖色:void
setcolor(int
color)
屏幕顏色的符號常數(shù)表
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
符號常數(shù)
數(shù)值
含義
符號常數(shù)
數(shù)值
含義
──────────────────────────────
BLACK0黑色
DARKGRAY8深灰
BLUE1蘭色
LIGHTBLUE9深蘭
GREEN2綠色
LIGHTGREEN10淡綠
CYAN3青色
LIGHTCYAN11淡青
RED4紅色
LIGHTRED12淡紅
MAGENTA5洋紅
LIGHTMAGENTA13淡洋紅
BROWN6棕色
YELLOW14黃色
LIGHTGRAY7淡灰
WHITE15白色
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
4/23/2023173、作圖函數(shù)(1)畫直線
voidline(intx1,inty1,intx2,inty2)
參數(shù)說明:x1,y1,x2,y2(坐標(biāo)位置)直線的起點和終點坐標(biāo)。
進一步說明:
有關(guān)坐標(biāo)位置的函數(shù)
int
getmaxx(void);返回x軸的最大值。
int
getmaxy(void);返回y軸的最大值。
int
getx(void);返回游標(biāo)在x軸的位置。
voidgety(void);返回游標(biāo)有y軸的位置。
voidmoveto(intx,inty);移動游標(biāo)到(x,y)點,不是畫點,在移動過程中亦畫點。
voidfarmoverel(int
dx,int
dy);移動游標(biāo)從現(xiàn)行位置(x,y)移動到(x+dx,y+dy)的位置,移動過程中不畫點。
(例5)
畫一條從屏幕左上角到右下角的直線4/23/202318(2)畫圓void
circle(int
x,int
y,int
radius)
參數(shù)說明:x,y
圓心坐標(biāo),radius半徑。示例:#include<graphics.h>#include<conio.h>int
main(void){
int
gdriver=DETECT,gmode,errorcode;
int
midx=300,midy=300;
intradius=100;
initgraph(&gdriver,&gmode,"");
circle(midx,midy,radius);
getch();
closegraph();}
4/23/202319(例6)顯示16種顏色(3)設(shè)置填充模式和填充顏色
void
setfillstyle(intpattern,intcolor)參數(shù)說明:color填充顏色
pattern填充模式,共13種,具體如下:EMPTY_FILL背景色填充SOLID_FILL實填充LINE_FILL---線填充LTSLASH_FILL斜線填充SLASH_FILL粗斜線填充BKSLASH_FILL反粗斜線填充LTBKSLASH_FILL反斜線填充HATCH_FILL網(wǎng)格填充XHATCH_FILL斜網(wǎng)格填充INTERLEAVE_FILL間隔點線填充WIDE_DOT_FILL稀疏點填充CLOSE_DOT_FILL密集點填充USER_FILL用戶自定義填充
4/23/202320(4)畫方塊void
bar(intleft,inttop,intright,intbottom)left,top是方塊左上角的x、y坐標(biāo)right,bottom是方塊右下角的x、y坐標(biāo)方塊內(nèi)部的顏色由setfillstyle
函數(shù)設(shè)置4/23/202321(5)填充一個有邊界的區(qū)域void
floodfill(intx,inty,intborder)參數(shù)說明:x,y
要填充區(qū)域內(nèi)的任意一點坐標(biāo),border填充區(qū)域邊界的顏色(例7)在屏幕上畫實心圓(6)設(shè)置圖形模式下字符顯示底字體、方向和大小
void
settextstyle(intfont,intdirection,int
charsize)參數(shù)說明:font顯示字體
,directiom
顯示方向
,charsize
字體放大倍數(shù)(7)圖形模式下在x,y坐標(biāo)位置顯示一行字符串
void
outtextxy(int
x,int
y,char*textstring)參數(shù)說明:x,y
顯示的位置,textstring要顯示的字符串
font
顯示字體,取值如下:TRIPLEX_FONT=1三倍筆劃DEFAULT_FONT=08x8點陣SMALL_FONT=2小號字體SANS_SERIF_FONT=3無襯線字體GOTHIC_FONT=4哥特字體directiom
顯示方向,取值如下:HORIZ_DIR=0水平顯示VERT_DIR=1垂直顯示charsize
字體放大倍數(shù),取值為0-10(例8)4/23/202322(8)
獲取系統(tǒng)時間
void
gettime(structtime*t)
注:structtime{
unsinedcharti_min;
unsinedcharti_hour;
unsinedcharti_hund;
unsinedcharti_sec;};(9)
獲取系統(tǒng)日期void
getdate(structdate*d)注:structdate{
int
da_year;charda_day;charda_mon;}4/23/202323(10)延時
voiddelay(unsigned
millisconds)示例:
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- TCZSYSJLXH 002-2024 全國藝術(shù)行業(yè)職業(yè)能力水平評價團體標(biāo)準(zhǔn)
- 太原單柱式標(biāo)志桿施工方案
- 吉安市防水補漏施工方案
- 浦東新區(qū)2024學(xué)年度第一學(xué)期期末教學(xué)質(zhì)量檢測高三語文試卷
- 生態(tài)茶園修復(fù)工程施工方案
- 建筑工程竣工驗收檢測報告
- 右安門鋼結(jié)構(gòu)施工方案
- 簡支鋼箱梁橋施工方案
- 酉陽四星級酒店施工方案
- 陶鋁吸音板施工方案
- 中國女排演講ppt
- GB/T 12928-2008船用中低壓活塞空氣壓縮機
- 沖壓工藝及沖壓質(zhì)量
- PS 第7章-路徑和矢量圖形課件
- 立體構(gòu)成-線立體課件
- 住院總崗位職責(zé)
- 眼科常用藥課件
- 中藥封包療法課件
- 初中體育與健康人教7~9年級第7章 球類正面雙手墊球教學(xué)設(shè)計及教案
- 展示空間設(shè)計(案例)
- 急癥手術(shù)預(yù)見性護理
評論
0/150
提交評論