练习C++的一些小项目:
1、学生信息管理系统; (C++基础)
2、俄罗斯方块(控制台); (C++基础)
3、证券资产管理分析软件; (C++在windows的应用)
4、单机版坦克大战;(windows版) (C++在windows的应用)
5、网络版坦克大战;(含游戏大厅) (C++在windows的应用)
6、游戏对战运营平台;(实战项目) (C++在windows的应用)
7、Linux开发环境架设; (C++在linux的应用)
8、Linux收银机; (C++在linux的应用)
9、Base_Web服务器或证券交易中间件; (C++在linux的应用)
10、3G视频语音 即时通讯平台和软件; (实战项目)(C++在windows和linux的综合应用)
功能描述,源码,运行图
参考资料:[学生信息管理系统]https://blog.csdn.net/gl620321/article/details/106985511
[俄罗斯方块]https://blog.csdn.net/qq_45849888/article/details/117386139?spm=1001.2014.3001.5502
对其中的COORD pos ,SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE),pos),_kbhit(),_getch()进行解释
void SetPos(int i, int j) //控制光标位置, 列, 行
{
COORD pos = { i,j };
HANDLE hConsole=GetStdHandle(STD_OUT_HANDLE);
SetConsoleCursorPosition(hConsole, pos);
}
1,COORD 是window API中定义的一种结构体,表示一个字符在控制台屏幕上的坐标。定义为:
typedef struct_COORD{
SHORT X; 横坐标
SHORT Y; 纵坐标
}COORD;
2,SetConsoleCursorPosition(GetStdHandle(hConsole, pos);是一个计算机函数,如果定义了COORD pos ,那么pos是一个结构体变量。通过修改pos.x和pos.y值就可以实现控制台上光标的位置了。
HANDLE hConsole=GetStdHandle(STD_OUT_HANDLE):表示从一个特定的标准设备(标准输出)中取出一个句柄(用来标识不同设备的数据),其中STD_OUTPUT_HANDLE表示标准输出的句柄。GetStdHandle是Windows API函数,hConsole 只是一个句柄变量。HABDLE是Windows用来标识对象的(不是c++对象),HWND是其中一种,HWND是HANDLE,但不只是HWND,HANDLE是一个通用句柄表示。
3,_kbhit()和_getch()函数
while (1)
{
while (1)
{
if (_kbhit())
{
temp = _getch();
break;
}
}
if (temp == 32)
break;
}
_khbit()函数:
头文件:conio.h
格式:int _kbhit(void);
功能:检测当前是否有键盘输入
返回值:如果在调用函数时,有按键被按下,则返回一个非0的值,否则返回0;
_kbhit()函数是非阻塞函数;
_kbhit()函数通常与getch()函数组合使用获取按键信息;
_getch()函数
头文件:conio.h
格式:int _getch(void);
功能:从控制台上能够获取输入的字符,在获取输入的字符后,并不会在控制台中显示该字符。
返回值:获取到的字符值。
_getch()函数是一个阻塞函数,直到有字符输入时才会返回,所以该函数不会返回错误值;
扩展资料:
GetStdHandle函数的用法:
头文件:windows.h
语法:HANDLE GetStdHandle(DWORD nStdHandle);
GetStdHandle()返回标准的输入,输出或错误的设备的句柄,也就是得到输入、输出或错误的屏幕缓冲区的句柄。
参数值的几种类型:STD_INPUT_HANDLE标准输入的句柄,STD_OUTPUT_HANDLE标准输出的句柄,STD_ERROR_HANDLE标准错误的句柄。
参考资料来源:百度百科-GetStdHandle
参考资料来源:https://baike.baidu.com/item/kbhit/3921261