我用C语言实现的文字跑马灯,简直是程序员的表白神器!

图片

系列文章

Python百宝箱

C语言百宝箱

目录

系列文章

写在前面

C语言简介

EasyX简介

EasyX下载安装

文字跑马灯

写在后面


写在前面

教你用C语言实现文字跑马灯效果,简直是C语言表白神器!

环境:C语言/C++

软件:Visual Studio 2022

C语言简介

C语言是一种通用的高级编程语言,由丹尼斯·里奇在20世纪70年代初开发。C语言的设计目的是为了提供一种简洁、高效、可移植的编程语言,适用于不同平台和操作系统。

C语言之所以成为一种重要的编程语言,是因为它具有以下几个优点:

  1. 简洁高效:C语言的语法简洁,代码执行效率高。同时,C语言可以直接访问计算机硬件,使得程序员可以更加精细地控制程序的运行。

  2. 可移植性强:C语言的语法和标准库是跨平台的,可以在不同操作系统和计算机上编写和运行程序。这种跨平台特性使得C语言成为了许多操作系统和软件的主要开发语言。

  3.  丰富的库函数:C标准库提供了丰富的函数,这些函数可以帮助程序员完成各种任务,如文件处理、字符串处理和数学计算等。这些函数是C程序员必备的工具之一。

  4.  应用广泛:由于C语言具有高效、可移植和丰富的库函数等优点,它被广泛应用于系统软件、嵌入式系统、游戏开发、科学计算、互联网应用和金融行业等领域。

总体来说,C语言是一种简洁、高效、可移植的编程语言,具有广泛的应用领域。学习C语言可以帮助程序员掌握编程基本原理和技术,为其未来的编程生涯奠定坚实的基础。

EasyX简介

EasyX是一款基于C++语言的简单易用的图形界面库,可以轻松实现窗口、绘图、动画等功能。它是对Windows GDI和GDI+的封装,使得程序员能够更加方便地进行二维图形绘制和窗口控制。

EasyX提供了丰富多彩的绘图函数,包括绘制线段、矩形、圆形、曲线、文字等,同时还支持多种颜色和渐变效果。此外,EasyX还提供了一些窗口控制函数,使得程序员可以轻松地创建、打开、关闭窗口、设置窗口大小等。

EasyX对于初学者来说非常友好,它的函数名和参数都比较易懂,而且在官方网站上也提供了详细的使用说明和示例代码,帮助用户更快地上手使用。此外,EasyX还提供了一些常用的功能模块,如游戏引擎、音乐播放器等,使得程序员可以更快地开发出功能完备的应用程序。

EasyX支持多种编译器,包括Visual Studio、Code::Blocks、Dev-C++等,用户可以根据自己的喜好选择不同的编译器进行开发。其内置了一些常用的头文件和库文件,使得程序员可以更加方便地编写代码,减少了繁琐的配置工作。

总体来说,EasyX是一款非常实用、易用的图形界面库,适用于想要快速开发二维图形应用程序的C++初学者和开发者。它简洁易懂的函数调用方式和丰富多彩的绘图效果,可以让程序员在短时间内快速实现自己的创意。

EasyX下载安装

1.进入EasyX官网,点击下载按钮开始下载

图片

2.下载完成后进入下载目录,双击.exe文件开始安装

图片

3.按如下步骤进行安装即可

图片

图片

图片

文字跑马灯

程序设计

#include <graphics.h>
#include <time.h>
#include <stdio.h>
#include <conio.h>
#include <vector>
using namespace std;
#define MAX_TEXT_SIZE 20        // 最小文字大小
#define MAX_TEXT_COUNT 15       // 最大同时显示的文字数量
#define MAX_TEXT_COUNT 15    // 最大句子数量
#define MAX_TEXT_BUFFER 255     // 每一句文字的最大字符个数
int main()
……(文末公众号免费领取完整代码哦)

具体分析

本程序是一个基于C语言的文字跑马灯程序,可在Windows平台上运行。

程序中主要使用了Windows.h头文件下的相关API函数和graphics.h头文件下的相关绘图函数来实现文字的滚动效果。

程序中定义了一个TextContent结构体,用于存储文字的相关信息,如横坐标、纵坐标、大小、颜色、内容等。同时,还定义了一些常量,如最小文字大小、最大同时显示的文字数量、句子数量等。

在InitText函数中,程序通过随机生成一些文字的相关信息,如大小、速度、方向等,并将其存储到TextContent结构体中。在InitTexts函数中,程序初始化了所有文字的相关信息。

在MoveText函数中,程序通过循环遍历所有已经存在的TextContent结构体,实现文字的滚动效果。具体实现方式为:首先计算出文字的新位置,然后删除原来的文字,最后在新位置上绘制出新的文字。

在主函数中,程序通过获取系统屏幕的宽度和高度来确定绘图窗口的大小,然后调用initgraph函数创建绘图窗口。接着使用GetHWnd函数获取绘图窗口句柄,并使用SetWindowPos函数设置窗口位置。最后,在循环中调用MoveText函数实现文字的滚动效果。

小伙伴们学会了吗,赶紧写一个文字走马灯送给她吧!

运行结果

图片

写在后面

⭐我是一只有趣的兔子,感谢你的喜欢!⭐

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

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

相关文章

中科大蒋彬课题组开发 FIREANN,分析原子对外界场的响应

内容一览&#xff1a; 使用传统方法分析化学系统与外场的相互作用&#xff0c;具有效率低、成本高等劣势。中国科学技术大学的蒋彬课题组&#xff0c;在原子环境的描述中引入了场相关特征&#xff0c;开发了 FIREANN&#xff0c;借助机器学习对系统的场相关性进行了很好的描述。…

NX二次开发UF_CURVE_convert_conic_to_gen 函数介绍

文章作者&#xff1a;里海 来源网站&#xff1a;https://blog.csdn.net/WangPaiFeiXingYuan UF_CURVE_convert_conic_to_gen Defined in: uf_curve.h int UF_CURVE_convert_conic_to_gen(UF_CURVE_conic_p_t conic_data, UF_CURVE_genconic_t * gen_conic_data ) overview 概…

第二十章——多线程

Windows操作系统是多任务操作系统&#xff0c;它以进程为单位。一个进程是一个包含有自身地址的程序&#xff0c;每个独立执行的程序都称为进程。也就是说每个正在执行的程序都是一个进程。系统可以分配给每一个进程有一段有限的使用CPU的时间&#xff08;也可以称为CPU时间片&…

中非市场开发攻略,走进非洲唯一废除死刑的国家

中非共和国是位于非洲中部的一个国家&#xff0c;是世界最不发达国家之一&#xff0c;经济以农业为主&#xff0c;工业基础薄弱&#xff0c;80%以上的工业品靠进口&#xff0c;中国是其重要的贸易伙伴之一。今天就来跟大家聊聊中非市场的开发攻略。文章略长&#xff0c;大家点赞…

E云管家微信群聊机器人开发

请求URL&#xff1a; http://域名地址/modifyGroupRemark 请求方式&#xff1a; POST 请求头Headers&#xff1a; Content-Type&#xff1a;application/jsonAuthorization&#xff1a;login接口返回 参数&#xff1a; 参数名必选类型说明wId是String登录实例标识chatRo…

Docker Swarm总结+service创建和部署、overlay网络以及Raft算法(2/5)

博主介绍&#xff1a;Java领域优质创作者,博客之星城市赛道TOP20、专注于前端流行技术框架、Java后端技术领域、项目实战运维以及GIS地理信息领域。 &#x1f345;文末获取源码下载地址&#x1f345; &#x1f447;&#x1f3fb; 精彩专栏推荐订阅&#x1f447;&#x1f3fb;…

全新爱蜗影视优码双端影视源码v9.1/影视视频APP源码+支持代理/在线支付+支持对应苹果CMS

源码简介&#xff1a; 这个是最新爱蜗影视优码双端影视源码&#xff0c;作为实用方便的影视视频APP源码&#xff0c;它不仅支持代理/在线支付&#xff0c;而且也支持对应苹果CMS。 爱蜗影视优码双端影视支持对应苹果CMS支持代理在线支付 带图文教程&#xff0c;全新美化多功能…

统信UOS上使用localsend传输文件

原文链接&#xff1a;统信UOS上使用localsend传输文件及文件夹方法 hello&#xff0c;大家好&#xff0c;今天带给大家一个全新的主题&#xff1a;在统信UOS上如何高效使用 localsend 软件进行文件和文件夹的传输。这篇文章将为您提供详细的指导和操作步骤&#xff0c;让您能够…

Couchdb 命令执行漏洞复现 (CVE-2017-12636)

Couchdb 命令执行漏洞复现 &#xff08;CVE-2017-12636&#xff09; 1、下载couchdb.py 2、修改目标和反弹地址 3、Python3调用执行即可 couchdb.py文件下载地址: https://github.com/vulhub/vulhub/blob/master/couchdb/CVE-2017-12636/exp.py ‍ 在VULFocus上开启环境 …

Java之面向对象《ATM自动取款机》

一、前言&#xff1a; 关于上次我写的博客文章中"Java之《ATM自动取款机》(面向对象)"&#xff0c;里面还不够完善&#xff0c;因为在各个服务功能相互跳转时&#xff0c;会出现混乱问题。这次我对其进行了修改和改进&#xff0c;若还有其它在大家测试时出现的bug请及…

HarmonyOS-Service服务开发(一)

文章目录 创建新项目启动Serviceets获取service的bundleName DataAbility开发指导开发Data步骤创建Data 创建新项目 ServiceAbility开发指导 在config.json中也有配置出现 启动Service ets获取service的bundleName 项目的bundleName service的bundleName 这里serviceAbil…

vs2019 - MFC对话框程序的工程名称不支持下划线命名法

文章目录 vs2019 - MFC对话框程序的工程名称不支持下划线命名法概述笔记备注END vs2019 - MFC对话框程序的工程名称不支持下划线命名法 概述 正在写账单分析程序, 用MFC 对话框. 因为比较习惯下划线命名法, 就在向导中给工程名称起了一个my_test这样的名称(下划线命名法, 小…

车载通信架构 —— 传统车内通信网络CAN(可靠性为王)

车载通信架构 —— 传统车内通信网络CAN(可靠性为王) 我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师。 老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 屏蔽力是信息过载时代一个人的特殊竞争力,任何消耗你的人和事,多看一眼都是你的不对。非…

antv/g6的学习总结

新建一个简单实例 1、使用命令行在项目目录下执行以下命令 cnpm install --save antv/g6 2、创建容器 <div id"mountNode"></div> 3、在需要用的 G6 的 JS 文件中导入 import G6 from antv/g6; 4、 数据准备 引入 G6 的数据源为 JSON 格式的对象。…

mysql 计算同比、环比,查询结果拼接成列、行、

一、理论 国家统计局同比、环比计算公式 增长速度是反映经济社会某一领域发展变化情况的重要数据&#xff0c;而同比和环比是反映增长速度最基础、最核心的数据指标&#xff0c;也是国际上通用的指标。在统计中&#xff0c; 同比和环比通常是同比变化率和环比变化率的简称&…

手把手教会你--渗透实战--最开始的靶机演示--项目二:Lampiao

有什么问题&#xff0c;请尽情问博主&#xff0c;QQ群796141573 前言。。。知识1.1 开头介绍1.2 22/80端口1.3 nmap1.4 IP地址1.5 开启靶机--网络模式1.6 信息收集(1) 查看源代码(2) 查看常见漏洞(3) 随便点一点\改一改 1.7 robots.txt。。。实战1.1 确定目标(1) 查看自己的ip地…

UData+StarRocks在京东物流的实践 | 京东物流技术团队

1 背景 数据服务与数据分析场景是数据团队在数据应用上两个大的方向&#xff0c;行业内大家有可能会遇到下面的问题&#xff1a; 1.1 数据服务 烟囱式开发模式&#xff1a;每来一个需求开发一个数据服务&#xff0c;数据服务无法复用&#xff0c;难以平台化&#xff0c;技术…

1146:吃糖果(C语言)

题目描述 HOHO&#xff0c;终于从Speakless手上赢走了所有的糖果&#xff0c;是Gardon吃糖果时有个特殊的癖好&#xff0c;就是不喜欢连续两次吃一样的糖果&#xff0c;喜欢先吃一颗A种类的糖果&#xff0c;下一次换一种口味&#xff0c;吃一颗B种类的糖果&#xff0c;这样&…

【电路笔记】-快速了解电阻

快速了解电阻 文章目录 快速了解电阻1、概述2、电阻器的组成类型2.1 碳电阻器2.2 薄膜电阻器2.3 绕线电阻器 3、总结 电阻器是所有电子元件中最基本、最常用的元件&#xff0c;人们几乎认为电阻器是理所当然的&#xff0c;但它们在电路中起着至关重要的作用。 1、概述 有许多不…

pycharm安装PyQt5及其工具

PyCharm安装PyQt5及其工具&#xff08;Qt Designer、PyUIC、PyRcc&#xff09;详细教程_pycharm pyqt5-CSDN博客 上面是原文链接&#xff0c;根据原文链接&#xff0c;我重新记录一下。IDE&#xff1a;pycharm 2023.2.5 一共需要安装5个。 在PyCharm中如何完整优雅地安装配置…