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

下載本文檔

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

文檔簡(jiǎn)介

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

2、)打印f(圖形系統(tǒng)錯(cuò)誤: %sn,grapherrormsg(錯(cuò)誤代碼);出口(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下,有三個(gè)功能可以處理聲音:sound (long freq):發(fā)出特定頻率的聲音nosound():停止發(fā)聲延遲():延遲特定時(shí)間,人們可以聽(tīng)到的聲音頻率大約在20Hz到20000Hz之間,學(xué)習(xí)材料和方法,c程序數(shù)據(jù)匯總,書籍,文獻(xiàn)數(shù)據(jù)查詢,在線查詢,學(xué)習(xí)其他山石,學(xué)科要求。為每個(gè)小組選擇一個(gè)話題,并確定組長(zhǎng)。學(xué)術(shù)委員會(huì)負(fù)責(zé)注冊(cè)和提交。在設(shè)計(jì)結(jié)束之前,演示和解釋程序的操作,并提交帶有詳細(xì)注釋的源程序和可執(zhí)行程序。提交開(kāi)發(fā)文檔,說(shuō)明程序的主要模塊和功能,主要數(shù)據(jù)結(jié)構(gòu)和意義,程序采用的核心算

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

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

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

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

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

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

10、2的整數(shù)數(shù)組int marks32。struct SREGS sregsregs . x . ax=9;regs.x.bx=x。regs . x . CX=y;/*熱點(diǎn)*/regs.x.dx=(無(wú)符號(hào))掩碼;Segread(手動(dòng)光標(biāo)數(shù)據(jù),0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0 xfffff,0 xfffff,0 xfffff,/*光標(biāo)掩碼*/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),漢字庫(kù)簡(jiǎn)介,三個(gè)文件HZK16,ASC16和HZK24在UCDOS中可以直接在程序中使用。HZK16存儲(chǔ)的是16*16點(diǎn)陣漢字,按行存儲(chǔ),便于顯示。每個(gè)漢字的字體大小為32字節(jié),按照國(guó)家標(biāo)準(zhǔn)代碼的順序存儲(chǔ),其中還包含682個(gè)純中文符號(hào)字母。在中文字庫(kù)的情況下,ASCII 16以8*16點(diǎn)陣格式存儲(chǔ)256個(gè)西方ASCII碼,以行存儲(chǔ),每個(gè)ASCII碼為16個(gè)字節(jié)。HZK24X存儲(chǔ)24*24點(diǎn)陣打印字體,按列存儲(chǔ),每個(gè)漢字字體占用576字節(jié)。24*24點(diǎn)陣漢字相對(duì)較大,所以它們是從16區(qū)存儲(chǔ)的1

12、位“ah”字符來(lái)減小字體的大小。x是KS,意思是楷書、曲風(fēng)等。如果(位7)返回0,則獲取字節(jié)的一位的值,int獲取位(無(wú)符號(hào)字符字節(jié),int位);返回(bytebit)函數(shù)getbit用于獲取一個(gè)字節(jié)中的每個(gè)位是0還是1。顯示24個(gè)點(diǎn)陣漢字,void putchn24 (x,y,char * by,color) int i1,I2,i3;對(duì)于(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個(gè)點(diǎn)陣漢字,void

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

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

15、.4屏幕文本移動(dòng)和訪問(wèn)功能、1.5狀態(tài)查詢功能、1.1文本模式控制功能,即顯示文本的模式。它的顯示單位是字符,而不是圖形模式下的像素,屏幕上顯示的字符的位置坐標(biāo)用行和列表示。默認(rèn)情況下,每個(gè)屏幕有80列和25行。Turbo C規(guī)定屏幕左上角有L行和L列,屏幕右下角有25行和80列。Turbo C支持五種文本顯示模式,可通過(guò)文本顯示模式設(shè)置功能進(jìn)行設(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可以用一個(gè)字節(jié)來(lái)描述,即8位。1.1.3字符顯示亮度控制功能,void highvideo(void)以高亮度顯示字符。Void lowvideo(void)以低亮度顯示字符。Void normvideo(void)將設(shè)置顯示字符的正常亮度。1.2窗口設(shè)置和文本輸出功能。在文本模式下,當(dāng)不執(zhí)行窗口設(shè)置時(shí),即當(dāng)窗口設(shè)置默認(rèn)時(shí),整個(gè)屏幕被視為顯示窗口。Turbo C提供了窗口設(shè)置功能窗口(),用戶可以根據(jù)自己的

溫馨提示

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

評(píng)論

0/150

提交評(píng)論