用c语言使用EasyX写一个七巧板

该篇文章介绍了如何使用C++EasyX图形库进行编程,展示了如何绘制一系列几何形状,包括三角形和平行四边形,并使用`floodfill`函数进行填充。
摘要由CSDN通过智能技术生成

下面是代码,你的编译器上要配置EasyX才可以运行,如果不太了解可以进入EasyX官网,上面有教程EasyX Graphics Library for C++

#include<stdio.h>
#include<graphics.h>
#include<math.h>
#include<conio.h>
#include<stdlib.h>
int main(void){
	initgraph(640,480);
	setlinecolor(RED);
	//最上边左边第一个三角 
	line(300,50,300,50+50*sqrt(2));
	line(300,50,300+25*sqrt(2),50+25*sqrt(2));
	line(300,50+50*sqrt(2),300+25*sqrt(2),50+25*sqrt(2));
	setfillcolor(YELLOW);
	floodfill(300+3,50+10,RED,0);//填充为黄色 
	//右边第一个三角
	line(300+25*sqrt(2),50+25*sqrt(2),300+50*sqrt(2),50);
	line(300+50*sqrt(2),50,300+50*sqrt(2),50+50*sqrt(2));
	line(300+25*sqrt(2),50+25*sqrt(2),300+50*sqrt(2),50+50*sqrt(2));
	setfillcolor(LIGHTMAGENTA);
	floodfill(300+30*sqrt(2),50+25*sqrt(2),RED,0);//填充颜色为亮紫色 
	//上边的正方形
	line(300,50+50*sqrt(2),300+25*sqrt(2),50+75*sqrt(2));
	line(300+50*sqrt(2),50+50*sqrt(2),300+25*sqrt(2),50+75*sqrt(2));
	setfillcolor(GREEN);//设置填充颜色为绿色 
	floodfill(300+25*sqrt(2),50+30*sqrt(2),RED,0);
	//第一个最大的三角形
	line(300+25*sqrt(2),50+75*sqrt(2),300+25*sqrt(2),50+175*sqrt(2));
	line(300-25*sqrt(2),50+125*sqrt(2),300+25*sqrt(2),50+75*sqrt(2));
	line(300+25*sqrt(2),50+175*sqrt(2),300-25*sqrt(2),50+125*sqrt(2));
	setfillcolor(BLUE);//设置填充颜色为蓝色 
	floodfill(300,50+125*sqrt(2),RED,0);
	//最大的右边的中等三角形
	line(300+25*sqrt(2),50+75*sqrt(2),300+65*sqrt(2),50+115*sqrt(2));
	line(300+25*sqrt(2),50+155*sqrt(2),300+65*sqrt(2),50+115*sqrt(2));
	setfillcolor(LIGHTCYAN);//设置填充颜色为亮青色 
	floodfill(300+30*sqrt(2),50+125*sqrt(2),RED,0);
	//画最后一个最大的三角形
	line(300-25*sqrt(2),50+125*sqrt(2),300-25*sqrt(2),150+125*sqrt(2));
	line(300-25*sqrt(2),50+125*sqrt(2),400-25*sqrt(2),150+125*sqrt(2));
	line(300-25*sqrt(2),150+125*sqrt(2),400-25*sqrt(2),150+125*sqrt(2));
	setfillcolor(RED);
	floodfill(300,140+125*sqrt(2),RED,0);
	//画平行四边形 
	line(300-25*sqrt(2),150+125*sqrt(2),240-25*sqrt(2),150+125*sqrt(2));
	line(300-25*sqrt(2),150+125*sqrt(2),270-25*sqrt(2),150+125*sqrt(2)-30*sqrt(3));
	line(210-25*sqrt(2),150+125*sqrt(2)-30*sqrt(3),270-25*sqrt(2),150+125*sqrt(2)-30*sqrt(3));
	line(210-25*sqrt(2),150+125*sqrt(2)-30*sqrt(3),240-25*sqrt(2),150+125*sqrt(2));
	setfillcolor(BROWN);
	floodfill(300-30*sqrt(2),145+125*sqrt(2),RED,0);
	system("pause");
	closegraph();
	return 0;
}

下面是程序运行结果:

 

  • 8
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: C语言可以使用EasyX来编一个简单的登录界面。首先,需要在程序中引入EasyX,并使用initgraph函数初始化绘图窗口。之后,可以使用line、rectangle等函数来绘制各种界面元素,并通过setbkcolor、settextstyle等函数设置背景颜色、文本样式等。 登录界面一般包括用户名、密码的输入框,以及登录按钮。可以使用outtextxy函数在指定位置输出文本,用inputbox函数获取用户输入的内容。 首先,需要绘制一个矩形作为登录框,可以使用rectangle函数绘制,然后使用outtextxy输出提示文字,使用inputbox获取用户输入的用户名和密码。 接下来,绘制登录按钮,可以使用rectangle函数绘制矩形按钮,并在按钮中间输出"登录"文字,设置按钮的点击事件。 在点击登录按钮之后,可以使用strcmp函数判断输入的用户名和密码是否正确,如果正确,则显示登录成功的弹窗,可以使用MessageBox函数实现,否则显示登录失败的弹窗。 最后,可以使用closegraph函数关闭绘图窗口,完成登录界面的编。 需要注意的是,EasyX使用需要在支持BGI图形的编译器下进行,例如Dev-C++、Code::Blocks等。而且,此方法只是实现了简单的登录界面,如需实现更完整、实用的登录功能,还需要结合数据等相关知识进行设计和开发。 ### 回答2: 使用C语言一个登录界面,可以结合EasyX图形实现图形化界面。以下是一个简单的示例代码: ```c #include <stdio.h> #include <stdlib.h> #include <graphics.h> #include <conio.h> #include <string.h> #define MAX_USERNAME 20 // 最大用户名长度 #define MAX_PASSWORD 20 // 最大密码长度 // 用于存储输入的用户名和密码 char username[MAX_USERNAME]; char password[MAX_PASSWORD]; // 验证用户名和密码是否正确的函数 int verifyLogin(char *username, char *password) { // 这里可以根据实际需求编验证逻辑,比如判断用户名密码是否匹配 // 返回1表示验证通过,0表示验证失败 // 示例代码直接将用户名和密码都设置为admin if (strcmp(username, "admin") == 0 && strcmp(password, "admin") == 0) { return 1; } else { return 0; } } int main() { // 初始化图形界面 initgraph(400, 300); // 设置图形窗口大小 // 绘制登录界面 setbkcolor(WHITE); // 设置背景色为白色 cleardevice(); // 清屏 // 绘制输入框 setfillcolor(LIGHTGRAY); // 设置输入框背景色为浅灰色 bar(100, 100, 300, 130); // 绘制输入框矩形 rectangle(100, 100, 300, 130); // 绘制输入框边框 // 绘制登录按钮 setfillcolor(LIGHTBLUE); // 设置按钮颜色为浅蓝色 bar(140, 160, 260, 190); // 绘制按钮矩形 rectangle(140, 160, 260, 190); // 绘制按钮边框 settextcolor(BLACK); // 设置文字颜色为黑色 outtextxy(190, 170, "登录"); // 绘制按钮上的文字 // 循环接受用户的输入 while (1) { // 检查鼠标是否点击了登录按钮 if (MouseHit()) { MOUSEMSG msg = GetMouseMsg(); if (msg.x >= 140 && msg.x <= 260 && msg.y >= 160 && msg.y <= 190) { // 用户点击了登录按钮,则进行验证 if (verifyLogin(username, password)) { // 验证通过,提示登录成功并退出循环 outtextxy(150, 220, "登录成功!"); break; } else { // 验证失败,提示登录失败 outtextxy(150, 220, "登录失败,请重新输入!"); } } } // 读取键盘输入的用户名和密码 if (_kbhit()) { char ch = _getch(); if (ch == '\r') { // 用户输入回车表示输入结束 break; } else if (ch == '\b') { // 用户输入退格删除上一个字符 if (strlen(username) > 0) { username[strlen(username) - 1] = '\0'; // 清除输入框 setfillcolor(WHITE); bar(101, 101, 299, 129); } } else if (strlen(username) < MAX_USERNAME - 1) { strncat(username, &ch, 1); // 显示输入的字符到输入框上 settextcolor(BLACK); outtextxy(110 + 8 * strlen(username), 110, "*"); } } } // 关闭图形界面 closegraph(); return 0; } ``` 这个示例代码实现了一个简单的登录界面,用户可以点击登录按钮进行验证,用户名和密码默认设置为"admin"。 ### 回答3: C语言使用EasyX一个登录界面可以通过以下步骤实现: 1. 首先,自行安装EasyX图形,并在代码中引入EasyX的头文件。 2. 在主函数main()中,设置窗口的大小、标题等属性,并调用initgraph()函数初始化绘图环境。 3. 在窗口上绘制登录界面的各个元素,例如用户名、密码文本框、登录按钮等。可以使用图形提供的绘图函数,如outtext()、rectangle()等。 4. 使用inputbox()函数获取用户输入的用户名和密码。该函数可以在登录界面中的文本框处显示一个输入框,用户输入的内容即为返回值。 5. 给登录按钮添加鼠标点击事件的监听器,当用户点击登录按钮时,触发相应的事件处理函数。 6. 在事件处理函数中,可以进行用户名和密码的验证。可以使用strcmp()函数比较输入的用户名和密码与预设的正确值是否一致,或者将用户输入的用户名密码与数据中的值进行对比。 7. 根据验证的结果,可以在界面上显示相应的提示信息,例如登录成功或者登录失败。 8. 最后,使用closegraph()函数关闭图形绘制环境,释放资源。 需要注意的是,由于C语言本身对图形操作的支持有限,使用EasyX的图形能够更加方便地实现图形界面的绘制和交互,使得界面更加美观和友好。同时,登录界面的实现还涉及到用户输入的获取、事件处理等细节,需要细心设计和编
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值