C++ easyX小程序(介绍几个函数的使用)

        本小程序通过代码和注释,介绍了easyX窗口及控制台窗口的设置方法;还介绍了easyX中关于颜色、线型、画圆、画方、显示文字以及鼠标消息处理等函数的使用方法。为便于理解,本程序同时使用控制台和easyX窗口,由控制台控制程序运行、由easyX窗口显示效果。本程序在VS2022上运行通过(注意:需要提前安装easyX)。
#include <iostream>
#include <string>
#include <sstream> //使用stringstream对象需包含
#include <graphics.h> //使用easyX需包含
using namespace std;
int main()
{
    initgraph(640,480,1); //设置easyX窗口
         //参1、2 easyX窗口大小 
         //参3 0--仅显示easyX窗口 1--同时显示控制台窗口
    system("mode con cols=65 lines=12"); //设置控制台窗口
         //以字符串方式设置控制台窗口大小 cols为列最小值13,lines为行最小值1
    cout << "在(100,100)位置画一个背景蓝色 线宽5 线颜色红 半径50的圆" << endl;
    setbkcolor(BLUE);//设置背景颜色
    cleardevice();//清屏
    setlinecolor(RED);//设置线条颜色
    setlinestyle(0,5);//设置线型
    circle(100,100,50);//画一个半径50的圆
    system("pause");
    cout << "在(100,100)位置画一个黄色填充 半径50的圆" << endl;
    cleardevice();//清屏
    setfillcolor(YELLOW);//设置填充色
         //知识点:我们在画下面的填充圆时,仅对填充颜色进行了设置,对背景色、线宽、线颜色
         //没有设置,那么未设置的参数程序会继续使用前面的设置,也就是这里画出的圆除了中间
         //填充有黄色外,外圈仍带有一个红边。如果从开始就没有进行任何设置,那么程序会使用
         //系统的缺省设置。包括本行的填充色以及后边的字体、颜色等等都是这样。系统当前的设
         //置情况有专门的函数可以获得,无需用脑记。
    fillcircle(100,100,50);//画填充圆
    system("pause");
    cout << "在(100,100)位置输出一行颜色红色、楷体、高度50的字符串" << endl;
    cleardevice();//清屏
    settextcolor(RED);
    settextstyle(30,0,"楷体");//参2 0代表缺省
    setbkmode(TRANSPARENT);//背景透明模式
    outtextxy(100,100,TEXT("红色、楷体、高度50的字符串"));
    system("pause"); 
    cout << "在一个填充矩形框中居中显示文字" << endl;
    cleardevice();//清屏
    fillrectangle(200,50,500,100); //填充矩形框 参1、2 左上角坐标 参3、4 右下角坐标
    string str="好好学习 天天向上";
    int w=textwidth(str.c_str()); //获得字符串宽度
    int h=textheight(str.c_str()); //获得字符串高度
    outtextxy(200+(500-200)/2-w/2,50+(100-50)/2-h/2,str.c_str()); //居中计算公式
    system("pause"); 
    cout << "显示鼠标左、右键按下事件" << endl;
    stringstream s_i; 
        //stringstream包含在sstream头文件中,这是一个用于string类型与int类型互转的类,用起来
        //很方便。具体使用方法见后。
    cleardevice();//清屏
    outtextxy(50,50,TEXT("请在空白处单击鼠标左键(单击右键退出程序):"));
    settextstyle(15, 0, "宋体");//把下面要显示坐标的字号设的小一些
    while(1)
    {
        if(MouseHit()) 
        { MOUSEMSG msg=GetMouseMsg();
            switch(msg.uMsg)
            {
            case WM_LBUTTONDOWN:
                s_i << "左键在(" <<msg.x << "," << msg.y << ")被按下\n";
                    //s_i是前边声明的一个stringstream对象,是一个流对象;不仅可以传入string型,
                    //也可已传入int等其他类型;作为与string类型的中介很是方便。
                s_i>>str; //从stringstream类型传入string类型
                s_i.clear(); //stringstream类型对象用后要清空,否则影响后续使用。
                outtextxy(msg.x, msg.y, str.c_str());
                    break;
            case WM_RBUTTONDOWN:
                closegraph();//将easyX窗口关闭
                exit(0); //退出程序
            }
        }
    }
    return 0;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/653678.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

SpringBoot常见错误

SpringBoot常见错误 1、SpringBoot启动时报错 错误: 找不到或无法加载主类 com.xxx.xxx.Application springboot启动时报错错误&#xff1a;找不到或无法加载主类 com.xxx.xxx.Application。 解决方法就是打开idea的控制台&#xff0c;输入以下三行命令&#xff1a; mvn cl…

nginx安装ssl模块http_ssl_module

查看nginx安装的模块 /usr/local/nginx/sbin/nginx -V若出现“–with-http_ssl_module”说明已经安装过&#xff0c;否则继续执行下列步骤 进入nginx源文件目录 cd /usr/local/nginx/nginx-1.20.2重新编译nginx ./configure --with-http_ssl_module如果组件linux缺少&…

综合案例 - 商品列表

文章目录 需求说明1.my-tag组件封装&#xff08;完成初始化&#xff09;2.may-tag封装&#xff08;控制显示隐藏&#xff09;3.my-tag组件封装&#xff08;v-model处理&#xff1a;信息修改&#xff09;4.my-table组件封装&#xff08;整个表格&#xff09;①数据不能写死&…

《HTML 简易速速上手小册》第3章:HTML 的列表与表格(2024 最新版)

文章目录 3.1 创建无序和有序列表&#xff08;&#x1f4dd;&#x1f31f;&#x1f44d; 信息的时尚搭配师&#xff09;3.1.1 基础示例&#xff1a;创建一个简单的购物清单3.1.2 案例扩展一&#xff1a;创建一个旅行计划清单3.1.3 案例扩展二&#xff1a;创建一个混合列表 3.2 …

uniapp报错:export { render, staticRenderFns, recyclableRender, components }

uniapp vue2项目启动报错 export { render, staticRenderFns, recyclableRender, components }解决办法: 降低prettier的版本 "prettier": "^3.2.4","prettier": "2.8.8",参考 SyntaxError: /xxxx.vue: Unexpected token, expected…

【数据分享】1929-2023年全球站点的逐年平均气温数据(Shp\Excel\免费获取)

气象数据是在各项研究中都经常使用的数据&#xff0c;气象指标包括气温、风速、降水、湿度等指标&#xff0c;其中又以气温指标最为常用&#xff01;说到气温数据&#xff0c;最详细的气温数据是具体到气象监测站点的气温数据&#xff01;本次我们为大家带来的就是具体到气象监…

win11 系统 WSL2 备份与还原

win11 系统想要使用 linu 开发环境&#xff0c;除了虚拟机&#xff0c;就是 wsl 好使了。 但是 wsl 如过用了一段时间里面环境工程配置迁移麻烦如果重装系统后能直接备份还原就方便了。 确定你的版本 使用 WinR 打开输入框 输入 cmd 命令 打开命令提示符界面 wsl -l -v查看…

com.sun.jna.platform.mac.SystemB$Timeval

错误信息 Exception in thread "main" java.lang.NoClassDefFoundError: com/sun/jna/platform/mac/SystemB$Timevalat java.lang.ClassLoader.defineClass1(Native Method)at java.lang.ClassLoader.defineClass(ClassLoader.java:757)at java.security.SecureClas…

C++笔记(六)

加号运算符重载&#xff1a; 成员函数重载 person operator(person& p) { person temp; temp.m_a this->m_a p.m_a; temp.m_b this->m_b p.m_b; return temp; } 全局函数重载 Person operator(Person& p1, Person& p2) { Person temp; temp.m_A p1.m_A…

GeoHash编码在日志数据处理中的应用与优化

目录 需求说明 GeoHash编码 GeoHash编码介绍 GeoHash编码的基本原理 GeoHash的UDF函数

秀!巧用Python实现对单个文件或多个文件中的指定字符串进行批量(修改)替换

目录 1. 对单份文件 1.1 将替换后的内容保存到新文件中 1.2 直接替换当前文件中的字符 2. 对多份文件&#xff08;支持递归子目录&#xff09; 1. 对单份文件 示例&#xff1a;将文件中字符串“address”替换成“device.address” 1.1 将替换后的内容保存到新文件中 实现…

【备战蓝桥杯】——循环结构

&#x1f308;个人主页: Aileen_0v0 &#x1f525;热门专栏: 华为鸿蒙系统学习|计算机网络|数据结构与算法 ​&#x1f4ab;个人格言:“没有罗马,那就自己创造罗马~” #mermaid-svg-bFHV3Dz5xMe6d3NB {font-family:"trebuchet ms",verdana,arial,sans-serif;font-siz…

QT tcp与udp网络通信以及定时器的使用 (7)

QT tcp与udp网络通信以及定时器的使用 文章目录 QT tcp与udp网络通信以及定时器的使用1、QT网络与通信简单介绍2、QT TCP通信1、 服务器的流程2、 客户端的流程3、服务器的编写4、客户端的编写 3、QT UDP通信1、客户端流程2、客户端编写3、UDP广播4、UDP组播 4、定时器的用法1、…

【ArcGIS微课1000例】0098:查询河流流经过的格网

本实验讲述,ArcGIS中查询河流流经过的格网,如黄河流经过的格网、县城、乡镇、省份等。 文章目录 一、加载数据二、空间查询三、结果导出四、注意事项一、加载数据 加载实验配套数据0098.rar中的河流(黄河)和格网数据,如下图所示: 接下来,将查询河流流经过的格网有哪些并…

thinter聊天小工具

# 服务端 import queue import re import socket import time import tkinter as tk from threading import Threadclass ChatService():def __init__(self):# 聊天框左上角名称self.title f"马里奇聊天室"self.tk tk.Tk(classNameself.title)# 隐藏窗口# self.tk.…

社区检测(Community Detection)

如果你想进行社区检测&#xff08;Community Detection&#xff09;&#xff0c;你可以使用 NetworkX 库提供的一些算法。社区检测的目标是将图中的节点划分为若干个社区或群组&#xff0c;使得社区内的节点紧密相连而社区间的连接尽量稀疏。以下是一个使用 Louvain 方法进行社…

SpringBoot将第三方的jar中的bean对象自动注入到ioc容器中

新建一个模块&#xff0c;做自动配置 config&#xff1a;需要准备两个类&#xff0c;一个自动配置类&#xff0c;一个配置类 CommonAutoConfig&#xff1a;此类用于做自动配置类它会去读取resoutces下的META-INF.spring下的org.springframework.boot.autoconfigure.AutoConfig…

LabVIEW探测器CAN总线系统

介绍了一个基于FPGA和LabVIEW的CAN总线通信系统&#xff0c;该系统专为与各单机进行系统联调测试而设计。通过设计FPGA的CAN总线功能模块和USB功能模块&#xff0c;以及利用LabVIEW开发的上位机程序&#xff0c;系统成功实现了CAN总线信息的收发、存储、解析及显示功能。测试结…

图论第二天|695. 岛屿的最大面积 1020. 飞地的数量 130. 被围绕的区域 417. 太平洋大西洋水流问题 827.最大人工岛

目录 Leetcode695. 岛屿的最大面积Leetcode1020. 飞地的数量Leetcode130. 被围绕的区域Leetcode417. 太平洋大西洋水流问题Leetcode827.最大人工岛 Leetcode695. 岛屿的最大面积 文章链接&#xff1a;代码随想录 题目链接&#xff1a;695. 岛屿的最大面积 思路&#xff1a;dfs …

嘿嘿,vue之输出土味情话

有点好玩&#xff0c;记录一下。通过按钮调用网站接口&#xff0c;然后解构数据输出土味情话。 lovetalk.vue: <!--vue简单框架--> <template> <!-- 这是一个div容器&#xff0c;用于显示土味情话 --> <div class"talk"> <!-- 当点…