freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

c語(yǔ)言課程設(shè)計(jì)指導(dǎo)書-wenkub

2023-03-14 16:42:05 本頁(yè)面
 

【正文】 式 也稱作字符顯示方式,是 Turbo C確省的顯示方式。一種顯示模式指定了相應(yīng)顯示器的工作方式、分辨率和顏色數(shù)目。 /* 鼠標(biāo)器按健狀態(tài) */ } /*等待鼠標(biāo)器的某種狀態(tài) */ void wait(int i) { do { mouseread()。r1,& r2, amp。 } /*報(bào)告鼠標(biāo)器當(dāng)前光標(biāo)位置和當(dāng)前按鍵狀態(tài) */ void mouseRead() { union REGS rl,r2。r, amp。 /* 4 號(hào)鼠標(biāo)器功能 :設(shè)置鼠標(biāo)光標(biāo)位置 */ =x。r, amp。r, amp。這些功能可以通過 INT 33H 鼠標(biāo)中斷調(diào)用來(lái)使用 。 若按了鍵盤,該函數(shù)返回值 1,否則返回值 0。rg)。它將按鍵的掃描碼存放在 AH 寄存器中; /* 讀鍵函數(shù),返回掃描碼 */ int getKeySCode() { union REGS rg。若返回值的低 8 位為 0,則高 8 位表示為擴(kuò)展的 ASCII碼,表示按下的是特殊功能鍵 cmd=1 bioskey()查詢是否有鍵按下。 掃描碼: 它不是 ASCII 碼;其 0~6 位標(biāo)識(shí)了每個(gè)鍵在鍵盤上的位置,最高位為 0 對(duì)應(yīng)該鍵是被按下; 1對(duì)應(yīng)松開;它并不能區(qū)別大小寫字母,而且一些特殊鍵不產(chǎn)生掃描碼直接引起中斷調(diào)用 2. 方法 方法一:直接使用聲明在 中的庫(kù)函數(shù) bioskey(); int bioskey ( int cmd )。接著 ROM 中 BIOS 內(nèi)的鍵盤中斷處理程序,將按鍵掃描碼翻譯成對(duì)應(yīng)的 ASCII 碼或擴(kuò)充的 ASCII碼,存放在 AX寄存器中。這樣一旦頭文件 改變時(shí),這些源文件將被重新編譯。 ... } 這樣,編譯器會(huì)根據(jù) include 預(yù)處理命令,將 文件中該預(yù)處理命令出現(xiàn)的行用 文件的內(nèi)容進(jìn)行改寫,得到一個(gè)合并的源文件再進(jìn)行編譯,最終產(chǎn)生可執(zhí)行的程序。 課程設(shè)計(jì)指導(dǎo)書 3 第二節(jié) 多文件的程序 當(dāng)一個(gè)程序較大時(shí),可將一個(gè)程序分成幾個(gè)部分,每個(gè)部分可單獨(dú)成為一個(gè)源文件,這些文件通過全局變量或函數(shù)相聯(lián)系。 ? 輸入 時(shí)能給用戶以提示,指明可使用的選擇和邊值 。 ? 盡量避免復(fù)雜條件測(cè)試 。 ? 函數(shù)的命名,最好采用動(dòng)賓結(jié)構(gòu) ,如: void ResetCounter() 。特別要注意在下列地方使用注釋: ? 一個(gè)文件文件名 ; ? 程序或函數(shù)的功能 ; ? 變量的用途; ? 特殊數(shù) 據(jù)結(jié)構(gòu)的特點(diǎn)和實(shí)現(xiàn)方法; ? 特殊技巧; ? 任何容易誤解或別人不容易看得懂的地方。 a = b。 2. 數(shù)據(jù)風(fēng)格 1)數(shù)據(jù)類型和數(shù)據(jù)結(jié)構(gòu)的使用要清晰,如要有限制地使用指針等 ; 2)采用必要的符號(hào)常量 ; 3. 算法風(fēng)格 1)算法要簡(jiǎn)潔,明了, 少使用技巧; 如 a = a + b。自頂向下要求設(shè)計(jì)者首先縱觀全局,進(jìn)行總的決策,確定最上層的模塊(即主函數(shù))。 實(shí)踐證明,系統(tǒng)部門間最有效的組織形式是層次結(jié)構(gòu)。 程序的局部化的最好實(shí)現(xiàn)方法是模塊化的程序設(shè)計(jì)。解決這一問題的方法之一是使程序的一部分不過多地、過遠(yuǎn)的影響程序的其他部分。課程設(shè)計(jì)指導(dǎo)書 1 高級(jí)語(yǔ)言課程設(shè)計(jì)指導(dǎo)書 第一章 課程設(shè)計(jì)開發(fā) 第一節(jié) 程序設(shè)計(jì)風(fēng)格 開發(fā)一個(gè)大型程序需要有良好的程序風(fēng)格。這就是程序設(shè)計(jì)的局部化準(zhǔn)則。 C語(yǔ)言用函數(shù)支持模塊化程序設(shè)計(jì)。層次結(jié)構(gòu)要求與之適應(yīng)的自頂向下、逐步細(xì)化的程序設(shè)計(jì)方法。一般說來(lái),上層模塊不涉及問題的細(xì)節(jié),只說明“做什么”,在 C 語(yǔ)言程序中用調(diào)用語(yǔ)句實(shí)現(xiàn);細(xì)節(jié)由下層,解決“怎么做”。 b = a – b。 b = temp。 ? 語(yǔ)句括號(hào)風(fēng)格 使用縮進(jìn)書寫格式,選擇統(tǒng)一的語(yǔ)句括號(hào)(花括號(hào))風(fēng)格,可以突出結(jié)構(gòu)的層次關(guān)系。 ? 當(dāng)程序中變量很多時(shí),毫無(wú)規(guī)則地命名變量名,會(huì)造成程序中混亂。 ? 語(yǔ)句和表達(dá)式要清晰、易讀,如表達(dá)式 . 三、 輸入輸出風(fēng)格 ? 提高輸入操作的堅(jiān)固性,以適當(dāng)方式對(duì)輸入數(shù)據(jù)進(jìn)行檢驗(yàn),以確認(rèn)每個(gè)輸入數(shù)據(jù)的有效性;對(duì)無(wú)效數(shù)據(jù),也能給出必要的提示,而不導(dǎo)致死機(jī)。 ? 輸出格式應(yīng)滿足用戶要求,符合使用意圖 。它們可進(jìn)行單獨(dú)編譯,形成 .OBJ 文件。 二、 Project 方法 假設(shè)一個(gè)程序分成了 和 兩個(gè) 源文件, project工程文件法生成可執(zhí)行程序的步驟如下: ( 1)用 TC編輯器建立一個(gè)文本文件,內(nèi)容為: 保存于文件 中。例如,有一主程序名為 ,它包含頭文件 ,而另一文件是 ,它也包含頭文件 ,此時(shí) project 文件的內(nèi)容應(yīng)寫成如下形式: () () 這樣,一旦 被修改,則對(duì)該 project 文件進(jìn)行編譯時(shí), 及 將被重新編譯。 由于 ASCII 碼不能將 PC鍵盤上的鍵全部包括,因此有些控制鍵如 Ctrl、 Alt、 End、 Home等用擴(kuò)充的 ASCII 碼表示,擴(kuò)充碼用兩個(gè)字節(jié)的數(shù)表示。 /*參數(shù) cmd 用來(lái)確定函數(shù)如何操作 */ cmd=0 bioskey()返回按健的鍵值,該值是 2 個(gè)字節(jié)的整型數(shù)。若返回非 0 值,則表示有鍵按下,若為 0 表示沒鍵按下。 =0。 return 。 二、 鼠標(biāo) 1.原理 DOS 操作系統(tǒng)和 Turbo C 。 2.常用功能 /* 顯示鼠標(biāo)器光標(biāo) */ void cursorOn() { union REGS r; struct SREGS s; = 1。s); } /* 關(guān)閉鼠標(biāo)器光標(biāo) */ void cursorOff() { union REGS r; struct SREGS s; = 2。s); } /*設(shè)定鼠標(biāo)光標(biāo)的初始位置 */ void cursorXY(unsigned int x, unsigned int y) { union REGS r。 /* 設(shè)定光標(biāo) x坐標(biāo) */ =y。s)。 struct SREGS s。s); mousex=。 } while(mousekey==i)。 1. 常見顯卡及其模式 課程設(shè)計(jì)指導(dǎo)書 7 2. 顯示器工作方式 顯示器有兩種工作方式,即文本顯示方式和圖形顯示方式,它們的主要差別是顯示存儲(chǔ)器 (VRAM)中存的信息不同。文本方式屏幕的最大分辨單位是單個(gè)字符,字符顯示的位置用行和列坐標(biāo)來(lái)表示。窗口定義之后,用有關(guān)窗口的輸入輸出函數(shù)就可以只在此窗口內(nèi)進(jìn)行操作而不超出窗口的邊界。 /*把光標(biāo)移到窗口 (x,y)處 */ 2)屏幕操作 清屏函數(shù): void clrscr(void)。 屏幕文本存取函數(shù) 課程設(shè)計(jì)指導(dǎo)書 9 void gettext(int x1, int y1, int x2, int y2, void *buffer)。使用 tab 鍵在左右兩個(gè)窗口中切換,每個(gè)窗口都有光標(biāo),活動(dòng)窗口光標(biāo)進(jìn)行閃爍。 /*切換時(shí)保存右窗口文本 */ char rightbuf[40*25*2]。 /*重繪右邊窗口 */ void draw_right_win()。 textbackground(0)。 cprintf(Press Esc to Quit)。 clrscr()。 textcolor(15)。 /*初始激活左窗口 */ for(。0xff。 leftx = wherex()。 } else if(turn == 1) /*切換到右窗口 */ { gettext(41,2,79,24, rightbuf)。 turn = 0。 textcolor(4)。 } /*重繪左邊窗口 */ void draw_left_win() { window(2,2,40,24)。 puttext(2,2,40,24, leftbuf)。屏幕顯示的像素大?。ǚ直媛剩┛梢酝ㄟ^設(shè)置不同的顯示方式來(lái)改變。 注意:所用系統(tǒng)的卡一定要支持所選用的顯示模式,否則將出錯(cuò)。graphmode,)。 其中 (x1, y1)為圖視口的左上角所在的原屏幕物理坐標(biāo), (x2, y2)為右下角 所在的原屏幕物理坐標(biāo)。 課程設(shè)計(jì)指導(dǎo)書 14 定義文本字型函數(shù): void far settextstyle(int font, int direction, int char size); 5. 應(yīng)用實(shí)例 在屏幕上 不同位置輸出用字體符號(hào)名作為字符串的不同字型,輸出方向?yàn)樗捷敵?,而輸出字符的點(diǎn)陣, size 參數(shù)取值為 2,為 16*16 點(diǎn)陣 源代碼: include main() { int i,graphdriver,graphmode,size,page。graphdriver,amp。 settextjustify(LEFT_TEXT,0)。 outtextxy(220,50,Triplex font)。 settextstyle(SANS_SERIF_FONT,HORIZ_DIR,2)。 settextjustify(LEFT_TEXT,0)。 } 程序輸出 ? 圖形繪制 一、 畫筆定位 void far moveto(int x, int y); 移動(dòng)畫筆到指定的 (x, y)位置,移動(dòng)過程不畫。 void far lio(int x, int y); 該函數(shù)將從現(xiàn)行畫筆位置到 (x, y)點(diǎn)畫一直線。 三、 矩形、圓和弧線 畫矩形的函數(shù): void far rectangle(int xl, int y1, int x2, int y2); 畫橢圓、圓和扇形圖函數(shù): void ellipse(int x, int y, int stangle, int endangel, int xradius, int yradius); void far circle(int x, int y, int radius); void far arc(int x, int y, int stangle, int endangle, int radius); 四、 應(yīng)用實(shí)例 問題描述 編寫程序,使用鼠標(biāo)進(jìn)行如下操作:按住鼠標(biāo)器的任意鍵并移動(dòng),十字光標(biāo)將隨鼠標(biāo)而移動(dòng),根據(jù)按鍵的不同采用不同的形狀來(lái)畫出相應(yīng)的移動(dòng)軌跡:當(dāng)僅按下左鍵時(shí)用圓圈;僅按下右鍵時(shí)用矩形;其它按鍵情況用線條。 源代碼 include include include union REGS regs。 int xmin,xmax,ymin,ymax,x_max=639,y_max=479。 int mode=VGAHI。 clrscr()。 outtextxy(3,15,move mouse using any button.)。 ymin=8。 delay(5000)。 cursor(x,y)。x,amp。amp。amp。 exit(0)。 y1=y3。 } 課程設(shè)計(jì)指導(dǎo)書 18 /*鼠標(biāo)器初始化函數(shù) init ()*/ /*該函數(shù)將通過調(diào)用 int 33H的 0號(hào)功能調(diào)用對(duì)鼠標(biāo)器進(jìn)行初始化,調(diào)用 7號(hào)和 8號(hào)功能,設(shè)置 x和 y位置的最小和最大值。 */ int init(int xmi,int xma,int ymi,int yma) { int retcode。regs)。 =xmi。regs)。 int86(51,amp。 } /*讀鼠標(biāo)的位置和按鈕狀態(tài)函數(shù) read()*/ /*該函數(shù)將通過調(diào)用 int 33H的 3號(hào)功能調(diào)用,讀鼠標(biāo)的位置和按鈕狀態(tài)。 do { =3。 xnew=。amp。 *mx=xnew。 /*左鍵按下 */ if (mb==2) return 2。 int xm,ym。 switch (ch) { case 0: cursor(xx0,yy0)。 cursor(xm,ym)。 cursor(xm,ym)。 cursor(xm,ym)。 *my=ym。 8 個(gè)字節(jié)的圖模是這樣形成的:每個(gè)字節(jié)代表一行,而每個(gè)字節(jié)的每一個(gè)二進(jìn)制位代表該行的對(duì)應(yīng)列上的像素。其中參數(shù) (x, y)為封閉圖形中的任一點(diǎn), border 是封閉圖形的邊框顏色。接著又開辟了一個(gè)窗口,又發(fā)此窗口為坐標(biāo)系,在此內(nèi)畫了一個(gè)黃色邊框的矩形框,其內(nèi)用淡紅色進(jìn)行填充,再將“ let?s study turbo c”顯示在淡紅色框內(nèi)。 initgraph(amp。 setbkcolo
點(diǎn)擊復(fù)制文檔內(nèi)容
黨政相關(guān)相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1