C語言課程設(shè)計.ppt_第1頁
C語言課程設(shè)計.ppt_第2頁
C語言課程設(shè)計.ppt_第3頁
C語言課程設(shè)計.ppt_第4頁
C語言課程設(shè)計.ppt_第5頁
已閱讀5頁,還剩82頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、介紹C語言課程設(shè)計的內(nèi)容、課程要求:利用C語言編程知識開發(fā)設(shè)計具有一定實用價值的計算機應(yīng)用程序。課程目標:1 .培養(yǎng)理論聯(lián)系實際的能力;2.培養(yǎng)獨立分析和解決問題的能力;3.培養(yǎng)團隊意識。圖形操作介紹,必要的頭文件,必要的系統(tǒng)變量,初始化,圖形界面初始化,錯誤處理,獲取必要的信息,關(guān)閉圖形界面,一些常用的繪圖功能,必要的頭文件,包括# include # include # include # include # include,初始化圖形界面,GraphDriver=DECT;Initgraph(,初始化錯誤處理,ERROR COde=graph result();如果(錯誤代碼!=grOk

2、)打印f(圖形系統(tǒng)錯誤: %sn,grapherrormsg(錯誤代碼);出口(1);獲取必要的參數(shù),getpalette(),關(guān)閉圖形界面,closegraph();/*將系統(tǒng)返回到文本模式*/,一些常用的繪圖功能,如outtext(緩沖區(qū))、outextxy(x,y,緩沖區(qū))行(x0,y0,x1,y1);line rel();lineto()圓(int x,int y,int半徑);arc() bar(int l,int t,int r,int b);bar3d();moveto(int x,int y);moverel(dx,dy);getx() putpixel(x,y,color);

3、getpixel(x,y)set color();setbkcolor();getcolor();在dos下,有三個功能可以處理聲音:sound (long freq):發(fā)出特定頻率的聲音nosound():停止發(fā)聲延遲():延遲特定時間,人們可以聽到的聲音頻率大約在20Hz到20000Hz之間,學習材料和方法,c程序數(shù)據(jù)匯總,書籍,文獻數(shù)據(jù)查詢,在線查詢,學習其他山石,學科要求。為每個小組選擇一個話題,并確定組長。學術(shù)委員會負責注冊和提交。在設(shè)計結(jié)束之前,演示和解釋程序的操作,并提交帶有詳細注釋的源程序和可執(zhí)行程序。提交開發(fā)文檔,說明程序的主要模塊和功能,主要數(shù)據(jù)結(jié)構(gòu)和意義,程序采用的核心算

4、法和實現(xiàn)方法,團隊成員的分工和完成情況。提交課程設(shè)計報告并參考模板。1.文本編輯器:設(shè)計界面,實現(xiàn)中英文字符輸入,實現(xiàn)中英文字符創(chuàng)建、保存、切換等功能菜單。2.鍵盤電子琴:可以通過鍵盤播放音樂,也可以通過電腦揚聲器播放音樂。能夠播放簡單的WAV文件,支持鍵盤和鼠標操作。函數(shù)聲音(long freg)處理dos.h下的聲音,主要用于發(fā)出特定頻率的聲音。Nosound()停止發(fā)音;Delay()在特定時間延遲發(fā)音。參考主題,3。簡單的圖形編輯器:它實現(xiàn)了窗口下畫筆工具的一些功能,并且可以讀寫和編輯位圖文件。實現(xiàn)一些像Photoshop濾鏡的功能,比如銳化、模糊、膨脹、扭曲、馬賽克等。并且能夠讀寫編

5、輯位圖文件。4.黑白對弈:兩人對弈,系統(tǒng)判斷輸贏或不發(fā)牌,具有計時和計分功能,保存記錄,支持鼠標和鍵盤操作,可以后悔下棋。通過繪圖功能設(shè)置棋盤,設(shè)置兩個人之間游戲的有效范圍,用鼠標或鍵盤進行游戲,根據(jù)一定的規(guī)則判斷輸贏。5.五子棋:兩個人互相對戰(zhàn),系統(tǒng)判斷輸贏,禁止手牌。它有計時和計分功能,保存記錄,支持鼠標和鍵盤操作,可以后悔下棋。通過繪圖功能設(shè)置棋盤,設(shè)置兩個人之間游戲的有效范圍,用鼠標或鍵盤進行游戲,根據(jù)一定的規(guī)則判斷輸贏。6.跳棋:兩個人下棋,具有計時計分、記錄、支持鼠標和鍵盤操作、可以后悔下棋的功能。7.中國象棋:兩個人下棋,具有計時和計分的功能。系統(tǒng)判斷是贏還是輸,并禁止手牌。它支

6、持鼠標和鍵盤操作,可以后悔下棋。8.俄羅斯方塊:你可以選擇難度,分數(shù),保持最高分數(shù)記錄,并支持鍵盤和鼠標操作。9.掃雷游戲:在Windows下實現(xiàn)掃雷游戲功能。10.行走迷宮:繪制和選擇迷宮地圖,系統(tǒng)可以自動找到出口,并支持鼠標和鍵盤操作。設(shè)置11.漢諾威塔動態(tài)演示:自動移動托盤,要求輸入托盤數(shù)量,支持鼠標和鍵盤操作。利用數(shù)據(jù)結(jié)構(gòu)知識和一些算法,實現(xiàn)了單步動態(tài)演示。12.華容道游戲:系統(tǒng)會自動提示。需要用鼠標拖動和記錄時間,支持鼠標和鍵盤操作。注:標準化編程模塊化編程制定了詳細的時間表,并嚴格遵守合理的分工。團隊合作仔細完成開發(fā)文檔和課程設(shè)計報告。鼠標介紹,鼠標系統(tǒng)實際上由兩個主要元素組成:鼠

7、標機制和稱為鼠標驅(qū)動的內(nèi)存駐留程序。鼠標驅(qū)動程序提供了與鼠標通信所需的所有底層支持。此外,它會自動保持鼠標光標的位置,并找出是否按下了某個鍵。一旦驅(qū)動程序被加載,鼠標可以被任何后續(xù)程序使用。鼠標介紹繼續(xù),你可以通過電腦中斷33H來訪問鼠標和鼠標驅(qū)動的各種功能。選擇的具體功能取決于中斷時AX寄存器的值。另外三個寄存器(BX、CX和DX)用于將各種參數(shù)傳輸?shù)绞髽顺绦?。同樣,鼠標函?shù)使用這四個寄存器將鼠標位置和按鈕狀態(tài)返回給調(diào)用函數(shù)。鼠標驅(qū)動程序的主要功能,鼠標驅(qū)動程序的主要功能,鼠標功能的調(diào)用方法,以及用INT33H中斷編譯基本功能,有三種常用的方法:嵌入?yún)R編程序,例如,用整變量清除中斷給寄存器值

8、,然后用函數(shù)調(diào)用中斷,用聯(lián)合類型REGS實現(xiàn),SREGS被函數(shù)int86()中斷,int86x()中斷,原型在dos.h中,鼠標初始化,初始化鼠標()聯(lián)合REGS regsregs . x . ax=0;Int86(0 x33),隱藏鼠標光標,HideCur(聯(lián)合REGS regs如果(視覺)regs . x . ax=2;Int86(0 x33),鼠標光標顯示,ShowCur(聯(lián)合REGS regs如果(!visual)regs . x . ax=1;Int86(0 x33),鼠標光標的顯示和隱藏,在鼠標驅(qū)動中,鼠標的顯示狀態(tài)用0值表示,隱藏用負值表示,每次調(diào)用顯示函數(shù)時增加1,每次調(diào)用隱藏

9、函數(shù)時減少1。這樣,在多次調(diào)用驅(qū)動程序的鼠標光標隱藏功能后,再次調(diào)用鼠標光標顯示功能時,鼠標光標無法正常顯示。需要添加一個可視化布爾變量來替換驅(qū)動程序中的數(shù)值。讀取鼠標的狀態(tài),狀態(tài)()結(jié)合REGS regsregs . x . ax=3;Int86(0 x33,讀取鼠標的狀態(tài),其中x和y是光標位置狀態(tài)regs . x . ax=4;regs.x.cx=x。regs . x . dx=y;Int86(0 x33,設(shè)置鼠標光標形狀需要三個方面的信息:鼠標外部邊界:8*8點陣,16整數(shù)鼠標內(nèi)部形狀:8*8點陣,16整數(shù)和鼠標熱點相對坐標:int x,y,其中外部邊界和內(nèi)部邊界連續(xù)存儲,是一個長度為3

10、2的整數(shù)數(shù)組int marks32。struct SREGS sregsregs . x . ax=9;regs.x.bx=x。regs . x . CX=y;/*熱點*/regs.x.dx=(無符號)掩碼;Segread(手動光標數(shù)據(jù),0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0 xfffff,0 xfffff,0 xfffff,/*光標掩碼*/0 x0c00,0 x1200,0 x1200,0 x13fe,0 x1249,0 x1249,0 x1249,0 x7249regs . x .

11、ax=7;regs . x . CX=x0;regs . x . dx=x1;Int86(0 x33),漢字庫簡介,三個文件HZK16,ASC16和HZK24在UCDOS中可以直接在程序中使用。HZK16存儲的是16*16點陣漢字,按行存儲,便于顯示。每個漢字的字體大小為32字節(jié),按照國家標準代碼的順序存儲,其中還包含682個純中文符號字母。在中文字庫的情況下,ASCII 16以8*16點陣格式存儲256個西方ASCII碼,以行存儲,每個ASCII碼為16個字節(jié)。HZK24X存儲24*24點陣打印字體,按列存儲,每個漢字字體占用576字節(jié)。24*24點陣漢字相對較大,所以它們是從16區(qū)存儲的1

12、位“ah”字符來減小字體的大小。x是KS,意思是楷書、曲風等。如果(位7)返回0,則獲取字節(jié)的一位的值,int獲取位(無符號字符字節(jié),int位);返回(bytebit)函數(shù)getbit用于獲取一個字節(jié)中的每個位是0還是1。顯示24個點陣漢字,void putchn24 (x,y,char * by,color) int i1,I2,i3;對于(i1=0;i124i1 ) /LINES為(I2=0;i23i2 ) /每行3字節(jié)(i3=0;i38i3 ) f(getbit(byi1*3 i2,7-i3) putpixel(x i1,y (i2*8 i3),color);顯示16個點陣漢字,void

13、 putchn16 (x,y,char * buf,color) int i1,I2,i3;對于(i1=0;i116i1)為(I2=0;i22i2)為(i3=0;i38i3 ) if(getbit(bufi1*2 i2,7-i3) putpixel(x i2*8 i3,y i1,color);在字體庫中查找字體,qu=C1-0 xa1;Wei=C2-0 xa1;漢字庫中位置碼的偏移量是通過計算得到的:長度=32長偏移量=(曲)* 94魏)*(長)長度;24*24點陣漢字的讀數(shù)相似,但偏移量的計算略有不同:lenth=72 longoffset=(qu-15) * 94魏)*(long)lent

14、h;良好的編程風格,全局變量有描述性名稱,局部變量有簡稱。該函數(shù)采用動作的名稱。保持一致性??s進顯示程序結(jié)構(gòu),使用一致的縮進和括號樣式。使用空行顯示模塊,用程序注釋充分合理地注釋功能和全局數(shù)據(jù)。不要評論糟糕的代碼,而是重寫它。不要違背守則。友好的程序界面,程序界面的便捷性和有效性。不要濫用語言技巧來使用自然的表達方式。使用括號來消除歧義。分解復雜的表達式。當心副作用。像這樣的操作有副作用。程序的健壯性:容錯模塊化編程、高級編程技術(shù)、屏幕文本輸出圖形編程、硬件驅(qū)動鍵盤和鼠標輸入法編程等高級編程技術(shù),即屏幕文本輸出、1.1文本模式控制、1.2窗口設(shè)置和文本輸出功能、1.3屏幕清除和光標操作功能、1

15、.4屏幕文本移動和訪問功能、1.5狀態(tài)查詢功能、1.1文本模式控制功能,即顯示文本的模式。它的顯示單位是字符,而不是圖形模式下的像素,屏幕上顯示的字符的位置坐標用行和列表示。默認情況下,每個屏幕有80列和25行。Turbo C規(guī)定屏幕左上角有L行和L列,屏幕右下角有25行和80列。Turbo C支持五種文本顯示模式,可通過文本顯示模式設(shè)置功能進行設(shè)置。文本顯示模式設(shè)置功能:void textmode(int newmode),其中newmode的值可以是:04025黑白顯示14025彩色顯示28025黑白顯示38025彩色顯示78025單色顯示-1最后一種顯示模式,1.1.2文本模式顏色控制功

16、能,文本顏色設(shè)置功能void textcolor(int color)控制文本顯示的前景色,即字符顯示的顏色,其參數(shù)顏色只能選擇17種顏色,即取值為000文本背景顏色設(shè)置功能void textbackground(int color)設(shè)置文本顯示的背景顏色,其參數(shù)color只能選擇8種顏色,即取值為07。文本屬性設(shè)置功能void textattr(int attr)設(shè)置字符顯示的顏色、背景顏色以及字符顯示是否閃爍。顯示屬性參數(shù)attr可以用一個字節(jié)來描述,即8位。1.1.3字符顯示亮度控制功能,void highvideo(void)以高亮度顯示字符。Void lowvideo(void)以低亮度顯示字符。Void normvideo(void)將設(shè)置顯示字符的正常亮度。1.2窗口設(shè)置和文本輸出功能。在文本模式下,當不執(zhí)行窗口設(shè)置時,即當窗口設(shè)置默認時,整個屏幕被視為顯示窗口。Turbo C提供了窗口設(shè)置功能窗口(),用戶可以根據(jù)自己的

溫馨提示

  • 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論