我用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函数实现文字的滚动效果。

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

运行结果

图片

写在后面

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

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

丽晶酒店及度假村打造绮丽之境“美食实验室”中国市场首秀

于重庆丽晶酒店以艺术与美食的碰撞演绎“对比之美”&#xff0c;感官之华 2023年11月28日&#xff0c;中国上海 ——基于对当下消费趋势的敏锐洞察&#xff0c;洲际酒店集团旗下奢华品牌丽晶酒店及度假村近年来不断焕新&#xff0c;以崭新形象缔造现代奢华的旅居体验。作为丽晶…

Linux内存回收:LRU算法

linux操作系统再内存不足时会使用Swap机制&#xff0c;将一些不经常使用的匿名内存页放到磁盘当中&#xff0c;等下次需要时再读取到内存当中&#xff0c;而这个LRU算法就是用来选择把哪些不常使用的匿名内存页放到磁盘当中的。 LRU&#xff08;Least Recently Used&#xff09…

【运维知识大神篇】超详细的ELFK日志分析教程5(Logstash中Filter常用插件详解+实战练习)

本篇文章主要讲解logstash的有关内容&#xff0c;包括filter的grok、date、user_agent、geoip、mutate插件&#xff0c;多个输入输出方案&#xff08;多实例if多分支语句&#xff09;&#xff0c;每个知识点都涉及实战练习&#xff0c;在实战中学习&#xff0c;事半功倍&#x…

Mysql 高级日志binlog、undoLog、redoLog 详解

数据更新流程与日志记录&#xff1a; undoLog&#xff1a; binLog&#xff1a; redoLog&#xff1a;

Leetcode—160.相交链表【简单】

2023每日刷题&#xff08;四十一&#xff09; Leetcode—160.相交链表 算法思想 两个链表的节点之和是相等的 如果两个链表相交&#xff0c;那么相交点之后的长度是相同的 我们需要做的事情是&#xff0c;让两个链表从同距离末尾同等距离的位置开始遍历。这个位置只能是较短…

建筑红模板尺寸规格

红模板是建筑施工中常用的一种模板材料&#xff0c;具有较好的承重能力和稳定性。在建筑工程中&#xff0c;正确选择合适的红模板尺寸规格对于施工质量和效率至关重要。本文将介绍一些关于红模板尺寸规格的信息&#xff0c;帮助您更好地了解和选择适合的红模板。 以下是关于红模…

论如何让Spring Boot在高压力环境下依然与众不同

文章目录 &#x1f50a;博主介绍&#x1f964;本文内容调优线程池优化线程池配置多样化设备支持分布式控制同步编程 &#x1f4e2;文章总结&#x1f4e5;博主目标 &#x1f50a;博主介绍 &#x1f31f;我是廖志伟&#xff0c;一名Java开发工程师、Java领域优质创作者、CSDN博客…

FlowJo 10 v10.4(流式细胞分析软件)

FlowJo是一款广泛应用的流式细胞数据分析软件&#xff0c;它功能强大&#xff0c;简单易用&#xff0c;是流式领域最受推荐的一款专业分析软件&#xff0c;也是各高影响力科学期刊使用最多的软件&#xff0c;已经成了行业的一个标准。 FlowJo具有全面专业的分析功能&#xff0…

《数据结构、算法与应用C++语言描述》-线索二叉树的定义与C++实现

_23Threaded BinaryTree 可编译运行代码见&#xff1a;GIithub::Data-Structures-Algorithms-and-Applications/_24Threaded_BinaryTree 线索二叉树定义 在普通二叉树中&#xff0c;有很多nullptr指针被浪费了&#xff0c;可以将其利用起来。 首先我们要来看看这空指针有多少…

分享一套MES源码,可以直接拿来搞钱的好项目

目前国内智能制造如火如荼&#xff0c;工厂信息化、数字化是大趋势。如果找到一个工厂&#xff0c;搞定一个老板&#xff0c;搞软件的朋友就能吃几年。 中国制造业发达&#xff0c;工厂林立&#xff0c;但是普遍效率不高&#xff0c;需要信息化提高效率。但是矛盾的地方在于&a…

pdf文件能扫码查看吗?一键做文本二维码

pdf格式是常用的一种文件格式&#xff0c;很多资料、展示性的内容都会选择这种格式&#xff0c;现在很多人都需要将文件生成二维码图片后分享给他人&#xff0c;那么文件存入二维码展示的方法有哪些呢&#xff1f;下面给大家分享一招使用二维码生成器来生成二维码图片的操作方法…

skywalking告警UI界面有告警信息,webhook接口没有回调,400错误

400错误就是回调接口返回数据的属性对应不上 PostMapping(“/webhook”) public void webhook(RequestBody List alarmMessageList) 自定义的实体类AlarmMessage有问题 只能去官网找了 告警实体类官网 Getter EqualsAndHashCode RequiredArgsConstructor NoArgsConstructor(fo…

系列二十一、Spring中bean的创建顺序

一、概述 我们知道启动IOC容器时&#xff0c;Spring会为我们创建各种各样的bean&#xff0c;那么思考一个问题&#xff0c;bean的创建顺序是由什么决定的呢&#xff1f;答&#xff1a;bean的创建顺序是由BeanDefinition的注册信息决定的&#xff0c;这个其实很好理解&#xff0…

解析d3dcompiler_47.dll缺失怎么修复,4种方法修复d3dcompiler_47.dll文件

d3dcompiler_47.dll缺失怎么修复&#xff1f;其实在我们使用计算机操作的过程中&#xff0c;有时会遇到一些由dll文件错误导致的问题&#xff0c;其中d3dcompiler_47.dll丢失就是这样一种。那么究竟d3dcompiler_47.dll缺失是什么意思&#xff0c;为何它会发生丢失&#xff0c;以…

Unity WebGL通过URL的形式接收参数执行初始化

参考博客&#xff1a; http://t.csdnimg.cn/QnfhK 问题背景&#xff1a; 需要在外面的网页指定WebGL的打开初始化逻辑。 步骤&#xff1a; 1.配置jslib&#xff0c;用文本文件创建即可&#xff0c;"__Internal.jslib"。 2.加入一段代码&#xff1a; mergeInto(…

2023-简单点-机器学习中常用的特殊函数,激活函数[sigmoid tanh ]

机器学习中的特殊函数 Sigmoidsoftplus函数tanhReLu(x)Leaky-ReluELUSiLu/ SwishMish伽玛函数beta函数Ref Sigmoid 值域: 【0,1】 定义域&#xff1a;【负无穷,正无穷】 特殊点记忆&#xff1a; 经过 [0 , 0.5] 关键点[0,0.5]处的导数是 0.025 相关导数&#xff1a; softplu…

鹅厂终于开始收割韭菜了!!!获取手机号需要收费 ,吃相难看~

微信于2023年8月26日起对手机号验证能力收费&#xff0c;在规则生效时会给予每个小程序1000次免费验证&#xff0c;超出次数则需要到微信小程序官方后台进行充值&#xff0c;费用由微信官方收取。 这一做法&#xff0c;现在让越来越多的老板很头疼了&#xff0c; 如果你要修…

ArkUI开发进阶—@Builder函数@BuilderParam装饰器的妙用与场景应用【鸿蒙专栏-05】

ArkUI开发进阶—@Builder函数@BuilderParam装饰器的妙用与场景应用 HarmonyOS,作为一款全场景分布式操作系统,为了推动更广泛的应用开发,采用了一种先进而灵活的编程语言——ArkTS。ArkTS是在TypeScript(TS)的基础上发展而来,为HarmonyOS提供了丰富的应用开发工具,使开…

ELK高级搜索,深度详解ElasticStack技术栈-上篇

前言 1、黑马视频地址&#xff1a;java中级教程-ELK高级搜索&#xff0c;深度详解ElasticStack技术栈 2、本内容仅用于个人学习笔记&#xff0c;如有侵扰&#xff0c;联系删除 1. 课程简介 1.1 课程内容 ELK是包含但不限于Elasticsearch&#xff08;简称es&#xff09;、Lo…

嵌入式常见协议---IIC协议

1.IIC&#xff08;IC&#xff09;协议是什么&#xff1f; 全称 Inter-Integrated Circuit ,字面意思是集成电路之间&#xff0c;是IC BUS简称&#xff0c;中文应该叫集成电路总线&#xff0c;是一种串行通信总线&#xff08;同步串行半双工&#xff09;&#xff0c;使用多主从…