制圖課件計算機實習c_第1頁
制圖課件計算機實習c_第2頁
制圖課件計算機實習c_第3頁
制圖課件計算機實習c_第4頁
制圖課件計算機實習c_第5頁
已閱讀5頁,還剩48頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、計算機實習指導教師:丘廣暉實習目的n熟悉Visual C+ 6.0的集成開發(fā)環(huán)境;n學習完整的C+程序開發(fā)過程,理解簡單的C+程序結(jié)構(gòu);n學習C+程序的建立、編譯、調(diào)試和執(zhí)行的方法與步驟。 實習安排n時間8月22日9月8日n安排8月22日、 8月28日上午9:00教3-437上課 其他時間上機,具體安排見教二樓三層計算機房或者是附件中的計算機實習安排計算機實習安排最后一次上機進行驗收成績說明n總成績 五分制平時10%(8次上機)源程序70% 實驗報告20%提交說明nFTP服務器:服務器:ftp:/n用戶名用戶名:jsjsxn密密 碼:碼:stn作業(yè)上傳要求:作業(yè)上傳要求:將實驗報告(Word電

2、子版)放入你整個工程的文件夾中,壓縮成.rar包提交,名稱為學號+工程名稱,例如:n注:注:學生帳號只有上傳和瀏覽目錄的權(quán)限,作業(yè)一旦上傳文件無法刪改、下載。 源代碼評分標準n1、代碼風格n2、程序運行效果 界面是否美觀、 用戶操作是否順暢、是否存在Bug等n3、程序結(jié)構(gòu) 模塊化結(jié)構(gòu)、存儲方式、程序擴展性等等n4、回答問題是否正確n5、程序特色或創(chuàng)新點控制臺編程主要內(nèi)容n1、系統(tǒng)資源n2、技巧n3、實例演示n4、實例講解1、系統(tǒng)資源n程序模式 1、Character_mode: 例如:控制臺編程 n限制 只能按照行列來規(guī)劃界面,一行80列,每個英文字符占一個位置,每個中文字符占兩個位置。 基本

3、控制方式是鍵盤,很難用鼠標控制 1、系統(tǒng)資源n控制臺程序 1、庫文件 包括windows常用的數(shù)據(jù)結(jié)構(gòu),宏和其他數(shù)據(jù)類型。 2、庫文件 包括控制臺的鍵盤輸入輸出操作。1、系統(tǒng)資源n相關數(shù)據(jù)結(jié)構(gòu) 1 1、HANDLEHANDLE:句柄:句柄 實際上是一個無符號的整型數(shù),作為窗口的唯一標識ID,控制臺的黑屏也是一個窗口,也需要這樣的一個HANDLE來標識。1、系統(tǒng)資源n相關數(shù)據(jù)結(jié)構(gòu) 2、BOOL typedef int BOOL; 3、 WORD typedef unsigned short WORD; 4、DWORD typedef unsigned long DWORD;1、系統(tǒng)資源n位操作

4、& | 按位與 按位或 按位取反 按位異或 例如: a=11110000 b=00001111 a&b = 00000000 a | b = 11111111 a = 00001111 a b= 111111111、系統(tǒng)資源n顏色標識(常量) 數(shù)據(jù)結(jié)構(gòu):WORD FOREGROUND_RED 紅色紅色 FOREGROUND_GREEN 綠色綠色 FOREGROUND_BLUE 藍色藍色 FOREGROUND_INTENSITY 加重加重 BACKGROUND_ RED 紅色紅色 BACKGROUND_GREEN 綠色綠色 BACKGROUND_ BLUE 藍色藍色 BACKGR

5、OUND_INTENSITY 加重加重文本背景1、系統(tǒng)資源n文本顏色的組合1、黃色? FOREGROUND_RED | FOREGROUND_GREEN2、青色? FOREGROUND_BLUE | FOREGROUND_GREEN3、紫色? FOREGROUND_BLUE | FOREGROUND_RED4、白色? FOREGROUND_RED|FOREGROUND_BLUE |FOREGROUND_GREEN1、系統(tǒng)資源n背景顏色的組合1、黃色? BACKGROUND_RED | BACKGROUND _GREEN2、青色? BACKGROUND _BLUE | BACKGROUND _G

6、REEN3、紫色? BACKGROUND _BLUE | BACKGROUND _RED4、白色? BACKGROUND _RED| BACKGROUND _BLUE | BACKGROUND _GREEN2、教師和學生協(xié)作n1、教師的前期工作 頭文件 colorConsole.h 源文件 colorConsole.cppcolorConsole.hcolorConsole.cpp2、教師和學生協(xié)作n2、教師封裝的函數(shù) 1)HANDLE initiate(); 初始化控制臺窗口,并獲取該窗口的句柄;該函數(shù)只在程序初始化時執(zhí)行一次。 2、教師和學生協(xié)作2)BOOL textout( HANDLE

7、 hOutput, /窗口句柄窗口句柄 int x, int y, /窗口橫縱坐標窗口橫縱坐標 WORD wColors, /指定文本和背景色序列指定文本和背景色序列 int nColors, /指定顏色序列的數(shù)目指定顏色序列的數(shù)目 LPTSTR lpszString ); /指定輸出字符串指定輸出字符串 在控制臺窗口指定位置輸出指定顏色的字符串。 2、教師和學生協(xié)作n3、常用的系統(tǒng)函數(shù) 1)bool _kbhit() 檢測是否有按鍵按下,系統(tǒng)函數(shù)直接調(diào)用。該函數(shù)是非阻塞函數(shù)。 2、教師和學生協(xié)作n3、常用的系統(tǒng)函數(shù) 2)int _getch() 獲取按鍵的值,但不在屏幕回顯,系統(tǒng)函數(shù)直接調(diào)用

8、,是阻塞函數(shù)。 3)int _getche() 獲取按鍵的值,但在屏幕回顯,系統(tǒng)函數(shù)直接調(diào)用,是阻塞函數(shù)。 2、教師和學生協(xié)作 4)Sleep(DWORD n) 使程序休眠n毫秒,系統(tǒng)函數(shù)直接調(diào)用。 5) void srand(unsigned int seed ) 隨機數(shù)的種子函數(shù)。 6) int rand() 產(chǎn)生偽隨機數(shù)序列。 如何產(chǎn)生隨機數(shù)?#include #include #include void main()srand(time(NULL);for (int i=0; i10; i+) /產(chǎn)生10個隨機數(shù)coutrand()endl;2、技巧編程準備n1、新建工程工程類別:Wi

9、n32 Console Application應用程序:An Empty Project其他:默認選項n2、添加文件將ColorConsole.h ColorConsole.cpp文件拷貝到工程當前目錄添加到當前工程n3、新建.cpp文件,編寫main()函數(shù) 1、新建工程工程類別1、新建工程應用程序類別2、添加文件2、添加文件n將ColorConsole.h ColorConsole.cpp拷貝到工程當前目錄,然后添加到當前工程2、添加文件n添加完畢,結(jié)果如下圖所示。3、新建.cpp文件n點擊“file”new”,彈出下面的窗口3、新建文件下面,就可以開始編程了需要解決的問題?n如果要作一個

10、俄羅斯方塊,需要先解決哪些基本問題? 1 如何輸出任意形狀和顏色的方塊? 2 如何移動這些方塊? 3 如何用鍵盤控制移動方式?2、技巧n1、簡單彩色字符串 編程步驟: 1)初始化獲取窗口句柄 2)設置顏色 3)設置坐標 4)輸出指定字符串#include colorconsole.hvoid main(void) HANDLE handle;handle = initiate(); /屏幕初始化屏幕初始化 WORD wColors2;wColors0=FOREGROUND_RED| FOREGROUND_INTENSITY; wColors1=FOREGROUND_BLUE|FOREGROUN

11、D_GREEN| FOREGROUND_INTENSITY; /設置顏色設置顏色 textout(handle,10,10,wColors,2, Happy Birthday!); /輸輸出出2、技巧n2、閃爍的彩色文字 閃爍原理: 1)寫一遍彩色文字 2)延時200ms 3)寫一遍空文字 4)延時100ms 反復該過程,則文字不斷閃爍。void main(void) HANDLE handle;handle = initiate(); WORD wColors2;wColors0=FOREGROUND_RED| FOREGROUND_INTENSITY; wColors1=FOREGROUN

12、D_BLUE|FOREGROUND_GREEN| FOREGROUND_INTENSITY; while (1) textout(handle,10,10,wColors,2,Happy Birthday!); Sleep(200); /延時延時 textout(handle,10,10,wColors,2, ); Sleep(100); 2、技巧n3、移動的彩色文字 移動原理: 1)寫一遍彩色文字 2)延時100ms 3)寫一遍空文字 4)改變坐標位置 反復該過程,則文字不斷移動。void main(void) HANDLE handle;handle = initiate(); WORD

13、wColors2;wColors0=FOREGROUND_RED| FOREGROUND_INTENSITY; wColors1=FOREGROUND_BLUE | FOREGROUND_GREEN | FOREGROUND_INTENSITY; for(int x=0; x65 ; x+) textout(handle,x,10,wColors,2,Happy Birthday!); Sleep(100); textout(handle,x,10,wColors,2, ); 2、技巧n4、用鍵盤控制文字移動 控制原理: 1)檢測是否有按鍵 2)有:鍵盤處理 3)無:屏幕處理 反復該過程,則文

14、字不斷移動。#include void main(void) int x=0; bool flag=false; while(x65) if (_kbhit() _getch(); flag=!flag; textout(handle,x,10,wColors,2,Happy Birthday!); if (flag)textout(handle,x,10,wColors,2,Happy Birthday!);Sleep(100);textout(handle,x,10,wColors,2, );x+; 2、技巧n5、輸入特殊字符 在屏幕輸入下面的特殊字符,可以使用word中的插入特殊字符的功

15、能。也可以使用中文輸入法的軟鍵盤功能。 n篩子 n俄羅斯方塊 3、實例演示n1、投骰子游戲n2、指法練習4、實例講解n1、投骰子游戲 關鍵函數(shù): rolldice(): 打印打印骰子的形狀 主函數(shù): main():檢測按鍵,根據(jù)用戶輸入隨機顯示骰子1、投骰子游戲n關鍵函數(shù)void rolldice ( HANDLE hOutput, int n, int col , int row, WORD wColors);輸入?yún)?shù):輸出屏幕:hOutput篩子點數(shù):n屏幕位置:列col行row文字顏色:wColors功能:在屏幕指定位置輸出指定點數(shù)和指定顏色的 篩子1、投骰子游戲nmain()函數(shù) 執(zhí)行

16、結(jié)果4、實例講解n2、指法練習2、指法練習n全局變量const int TOP = 4;const int LEFT = 10;const int RIGHT = 62;const int BOTTOM = 20;const int TIME = 60;char ch540=0; /產(chǎn)生產(chǎn)生5行行40列隨機字符列隨機字符2、指法練習n1、void init (HANDLE handle)功 能:初始化界面n2、void randCharacter (HANDLE handle)功 能:產(chǎn)生5行40列隨機的字符n3、void stat (HANDLE handle) 功 能:統(tǒng)計正確的字符數(shù),并計時n4、void clearScreem (HANDLE handle)功 能:清屏

溫馨提示

  • 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

提交評論