使用c程序easyx实现从1到300中随机抽取一个数,根据用户点击重新生成,需要包含ui界面
时间: 2024-03-21 20:41:46 浏览: 71
用c语言产生随机数
5星 · 资源好评率100%
好的,我可以帮您解答这个问题。根据您的要求,我们需要在 EasyX 窗口中实现一个按钮,当用户点击该按钮时,会重新生成一个随机数并将其显示在窗口中。
下面是一个示例代码,可以帮助您实现这个功能:
```c
#include <graphics.h>
#include <stdlib.h>
#include <time.h>
// 定义窗口宽度和高度
#define WINDOW_WIDTH 640
#define WINDOW_HEIGHT 480
// 定义生成随机数的函数
int generateRandomNum()
{
return rand() % 300 + 1;
}
int main()
{
// 初始化随机数种子
srand(time(NULL));
// 初始化 EasyX 窗口
initgraph(WINDOW_WIDTH, WINDOW_HEIGHT);
// 显示初始的随机数
int num = generateRandomNum();
TCHAR str[10];
_stprintf_s(str, _T("%d"), num);
settextcolor(YELLOW);
settextstyle(30, 0, _T("Arial"));
outtextxy(280, 200, str);
// 显示重新生成按钮
setfillcolor(LIGHTGRAY);
fillrectangle(50, 50, 200, 100);
settextcolor(BLACK);
settextstyle(20, 0, _T("Arial"));
outtextxy(75, 65, _T("重新生成"));
// 处理用户点击事件
MOUSEMSG mouseMsg;
while (true)
{
// 等待用户点击
mouseMsg = GetMouseMsg();
if (mouseMsg.uMsg == WM_LBUTTONDOWN)
{
// 如果用户点击了重新生成按钮,则重新生成随机数并将其显示在窗口中
if (mouseMsg.x >= 50 && mouseMsg.x <= 200 && mouseMsg.y >= 50 && mouseMsg.y <= 100)
{
// 清空原来的随机数
setfillcolor(BLACK);
solidrectangle(270, 180, 370, 220);
// 生成新的随机数并显示在窗口中
num = generateRandomNum();
_stprintf_s(str, _T("%d"), num);
settextcolor(YELLOW);
settextstyle(30, 0, _T("Arial"));
outtextxy(280, 200, str);
}
}
else if (mouseMsg.uMsg == WM_QUIT)
{
// 如果用户关闭窗口,则退出程序
break;
}
}
// 关闭 EasyX 窗口
closegraph();
return 0;
}
```
运行示例代码后,您将看到一个 EasyX 窗口,其中随机生成了一个 1 到 300 之间的数,并将其显示在窗口中。同时,窗口中还有一个名为“重新生成”的按钮,当用户点击该按钮时,会重新生成一个随机数并将其显示在窗口中。
希望这个示例代码能够帮助您实现您所需的功能。如果您有任何问题或疑问,请随时在评论区留言。
阅读全文