制图课件计算机实习c_第1页
制图课件计算机实习c_第2页
制图课件计算机实习c_第3页
制图课件计算机实习c_第4页
制图课件计算机实习c_第5页
已阅读5页,还剩48页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、计算机实习指导教师:丘广晖实习目的n熟悉Visual C+ 6.0的集成开发环境;n学习完整的C+程序开发过程,理解简单的C+程序结构;n学习C+程序的建立、编译、调试和执行的方法与步骤。 实习安排n时间8月22日9月8日n安排8月22日、 8月28日上午9:00教3-437上课 其他时间上机,具体安排见教二楼三层计算机房或者是附件中的计算机实习安排计算机实习安排最后一次上机进行验收成绩说明n总成绩 五分制平时10%(8次上机)源程序70% 实验报告20%提交说明nFTP服务器:服务器:ftp:/n用户名用户名:jsjsxn密密 码:码:stn作业上传要求:作业上传要求:将实验报告(Word电

2、子版)放入你整个工程的文件夹中,压缩成.rar包提交,名称为学号+工程名称,例如:n注:注:学生帐号只有上传和浏览目录的权限,作业一旦上传文件无法删改、下载。 源代码评分标准n1、代码风格n2、程序运行效果 界面是否美观、 用户操作是否顺畅、是否存在Bug等n3、程序结构 模块化结构、存储方式、程序扩展性等等n4、回答问题是否正确n5、程序特色或创新点控制台编程主要内容n1、系统资源n2、技巧n3、实例演示n4、实例讲解1、系统资源n程序模式 1、Character_mode: 例如:控制台编程 n限制 只能按照行列来规划界面,一行80列,每个英文字符占一个位置,每个中文字符占两个位置。 基本

3、控制方式是键盘,很难用鼠标控制 1、系统资源n控制台程序 1、库文件 包括windows常用的数据结构,宏和其他数据类型。 2、库文件 包括控制台的键盘输入输出操作。1、系统资源n相关数据结构 1 1、HANDLEHANDLE:句柄:句柄 实际上是一个无符号的整型数,作为窗口的唯一标识ID,控制台的黑屏也是一个窗口,也需要这样的一个HANDLE来标识。1、系统资源n相关数据结构 2、BOOL typedef int BOOL; 3、 WORD typedef unsigned short WORD; 4、DWORD typedef unsigned long DWORD;1、系统资源n位操作

4、& | 按位与 按位或 按位取反 按位异或 例如: a=11110000 b=00001111 a&b = 00000000 a | b = 11111111 a = 00001111 a b= 111111111、系统资源n颜色标识(常量) 数据结构:WORD FOREGROUND_RED 红色红色 FOREGROUND_GREEN 绿色绿色 FOREGROUND_BLUE 蓝色蓝色 FOREGROUND_INTENSITY 加重加重 BACKGROUND_ RED 红色红色 BACKGROUND_GREEN 绿色绿色 BACKGROUND_ BLUE 蓝色蓝色 BACKGR

5、OUND_INTENSITY 加重加重文本背景1、系统资源n文本颜色的组合1、黄色? FOREGROUND_RED | FOREGROUND_GREEN2、青色? FOREGROUND_BLUE | FOREGROUND_GREEN3、紫色? FOREGROUND_BLUE | FOREGROUND_RED4、白色? FOREGROUND_RED|FOREGROUND_BLUE |FOREGROUND_GREEN1、系统资源n背景颜色的组合1、黄色? BACKGROUND_RED | BACKGROUND _GREEN2、青色? BACKGROUND _BLUE | BACKGROUND _G

6、REEN3、紫色? BACKGROUND _BLUE | BACKGROUND _RED4、白色? BACKGROUND _RED| BACKGROUND _BLUE | BACKGROUND _GREEN2、教师和学生协作n1、教师的前期工作 头文件 colorConsole.h 源文件 colorConsole.cppcolorConsole.hcolorConsole.cpp2、教师和学生协作n2、教师封装的函数 1)HANDLE initiate(); 初始化控制台窗口,并获取该窗口的句柄;该函数只在程序初始化时执行一次。 2、教师和学生协作2)BOOL textout( HANDLE

7、 hOutput, /窗口句柄窗口句柄 int x, int y, /窗口横纵坐标窗口横纵坐标 WORD wColors, /指定文本和背景色序列指定文本和背景色序列 int nColors, /指定颜色序列的数目指定颜色序列的数目 LPTSTR lpszString ); /指定输出字符串指定输出字符串 在控制台窗口指定位置输出指定颜色的字符串。 2、教师和学生协作n3、常用的系统函数 1)bool _kbhit() 检测是否有按键按下,系统函数直接调用。该函数是非阻塞函数。 2、教师和学生协作n3、常用的系统函数 2)int _getch() 获取按键的值,但不在屏幕回显,系统函数直接调用

8、,是阻塞函数。 3)int _getche() 获取按键的值,但在屏幕回显,系统函数直接调用,是阻塞函数。 2、教师和学生协作 4)Sleep(DWORD n) 使程序休眠n毫秒,系统函数直接调用。 5) void srand(unsigned int seed ) 随机数的种子函数。 6) int rand() 产生伪随机数序列。 如何产生随机数?#include #include #include void main()srand(time(NULL);for (int i=0; i10; i+) /产生10个随机数coutrand()endl;2、技巧编程准备n1、新建工程工程类别:Wi

9、n32 Console Application应用程序:An Empty Project其他:默认选项n2、添加文件将ColorConsole.h ColorConsole.cpp文件拷贝到工程当前目录添加到当前工程n3、新建.cpp文件,编写main()函数 1、新建工程工程类别1、新建工程应用程序类别2、添加文件2、添加文件n将ColorConsole.h ColorConsole.cpp拷贝到工程当前目录,然后添加到当前工程2、添加文件n添加完毕,结果如下图所示。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、投骰子游戏 关键函数: rolldice(): 打印打印骰子的形状 主函数: main():检测按键,根据用户输入随机显示骰子1、投骰子游戏n关键函数void rolldice ( HANDLE hOutput, int n, int col , int row, WORD wColors);输入参数:输出屏幕:hOutput筛子点数:n屏幕位置:列col行row文字颜色:wColors功能:在屏幕指定位置输出指定点数和指定颜色的 筛子1、投骰子游戏nmain()函数 执行

16、结果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; /产生产生5行行40列随机字符列随机字符2、指法练习n1、void init (HANDLE handle)功 能:初始化界面n2、void randCharacter (HANDLE handle)功 能:产生5行40列随机的字符n3、void stat (HANDLE handle) 功 能:统计正确的字符数,并计时n4、void clearScreem (HANDLE handle)功 能:清屏

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论