彩色进度条(C语言版本)

news2025/1/16 18:06:11

.h文件

#include<stdio.h>
#include<windows.h>

#define NUM 101
#define LOAD_UP 50
#define LOAD_DOWN 60
#define SLEEP_SLOW 300
#define SLEEP_FAST 70

版本1:(初始版)

//v1
#include "progress.h"
int main()
{
	char bar[NUM] = { '\0' };
	int time = 0;//次数
	const char* load = "-\\|/";
	int len = strlen(load);

	while (time<NUM-1)
	{	

		bar[time] = '=';
		if(time==99)
			bar[time] = '>';
		printf("[%-100s][%d%%][%c]\r", bar,time+1,load[time%len]);//time+1保证百分比从
		time++;
		Sleep(SLEEP_FAST);
		if (time>= LOAD_UP &&time<= LOAD_DOWN)
		{
			Sleep(SLEEP_SLOW);
		}
	}
 printf("\n");

	return 0;
}

版本2:(最终版)

#include "progress.h"
void progress()//time次数
{
	char bar[NUM] ;
	memset(bar, '\0',NUM);
	int time = 0;//次数
	const char* load = "-\\|/";
	int len_load = strlen(load);
	const char* ani = "=>";
	int len_ani = strlen(ani);

	while (time <NUM)
	{
		if (time >= LOAD_UP && time <= LOAD_DOWN)
		{
			Sleep(SLEEP_SLOW);
			printf("\033[1;33m[%-100s]\033[0m\033[1;91m[%d%%]\033[0m\033[1;91m[%c]\033[0m\r", bar, time, load[time % len_load]);//time+1保证百分比从
		}
		else
		{
			printf("\033[1;33m[%-100s]\033[0m\033[1;94m[%d%%]\033[0m\033[1;92m[%c]\033[0m\r", bar, time, load[time % len_load]);//time+1保证百分比从
		}
		bar[time] = ani[time % len_ani];
		time++;
		Sleep(SLEEP_FAST);

	}
	printf("\n");
}

int main()
{
	progress();
	return 0;
}

为什么在最后有printf("\n");原因:关于C的\r回车在不同平台的问题-CSDN博客

效果:

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

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

相关文章

使用 Sonatype Nexus Repository Manager 如何安装npm.md

1. 安装与启动 Nexus2. 登录 Nexus Web UI3. 创建 npm 仓库4. &#xff08;可选&#xff09;配置 npm 代理仓库5. 创建 npm 仓库组6. 配置 npm 客户端7. 测试和使用 Sonatype Nexus Repository Manager (通常简称 Nexus) 是一个强大的二进制管理系统&#xff0c;用于存储和管理…

北京大学肖臻老师《区块链技术与应用》P20(挖矿难度调整)和P21(权益证明)

1️⃣ 参考 北京大学肖臻老师《区块链技术与应用》 P20 - ETH挖矿难度调整篇P21 - ETH权益证明篇 2️⃣0️⃣ ETH挖矿难度调整 在ETH中最长合法链也是最难合法链&#xff08;Total Difficulty&#xff09; 比特币与以太坊难度的宏观比较 比特币以太坊调整难度隔2016个区块…

LiveGBS流媒体平台GB/T28181用户手册-版本信息:查看机器码、切换查看流媒体服务

LiveGBS流媒体平台GB/T28181用户手册--版本信息:查看机器码、切换查看流媒体服务 1、版本信息1.1、查看机器码1.2、多个流媒体服务1.3、提交激活 2、搭建GB28181视频直播平台 1、版本信息 版本信息页面&#xff0c;可以查看到信令服务 流媒体服务相关信息&#xff0c;包含硬件…

MySQL5个查询

# 总查询 EXPLAIN SELECT * FROM city; # 范围查询 EXPLAIN SELECT * from city where ID>5 and ID<20; #主键查询 EXPLAIN SELECT * from city where ID5; # 索引查询 EXPLAIN SELECT * from city where CountryCodeNLD; # 普通索引 EXPLAIn SELECT * from cit…

鸿蒙OS开发:【一次开发,多端部署】(多设备自适应能力)实例

多设备自适应能力 介绍 此Demo展示在JS中的多设备自适应能力&#xff0c;包括资源限定词、原子布局和响应式布局。 效果预览 使用说明 1.本示例中的资源限定词和响应式布局针对常见设备类型做了适配&#xff0c;可以在预览器中开启"Multi-profile preview"进行多…

创建桌面快捷方式

①点击桌面任务栏中的【开始图标】>点击【所有应用】 ②将【EndNote】图标拖到电脑桌面。

用kimi一键绘制《庆余年》人物关系图谱

《庆余年》里面人物关系复杂&#xff0c;如果能画出一个人物关系图谱&#xff0c;可以直观的理解其中人物关系&#xff0c;更好的追剧。 首先&#xff0c;用kimi下载庆余年的分集剧情&#xff0c;常见文章《AI网络爬虫&#xff1a;批量爬取电视猫上面的《庆余年》分集剧情》&am…

【WebGIS实例】(15)GeoServer 备份地图服务器

笔者GeoServer版本号&#xff1a;2.23.4 官方教程文档&#xff1a;Backup and Restore Documentation — GeoServer 2.26.x User Manual 一、下载社区插件 选择对应的版本&#xff1a;Index of /geoserver/进入插件列表&#xff1a;Index of /geoserver/2.23.x/community-late…

无人机监测系统:天空之眼,精准掌握地球脉动

在当今信息化快速发展的时代&#xff0c;无人机技术以其独特的优势&#xff0c;正在成为资源调查、环境监测和规划支持的重要工具。无人机监测系统通过搭载多种传感器和设备&#xff0c;能够快速、高效地获取地表信息&#xff0c;为决策提供科学依据。 项目背景 随着全球环境…

如何在Mac上恢复未保存的Excel文件

您是否不小心关闭了 Excel&#xff0c;而没有将工作保存在 Mac 上&#xff1f;不要惊慌&#xff01;本指南概述了帮助您在 Mac 上恢复未保存的 Excel 文件的简单方法。 由于断电、系统崩溃或关闭它而不保存而意外丢失您的 Excel 文件可能会造成挫败感&#xff0c;因为您可能在…

创建型模式之单例

文章目录 概述定义场景小结 概述 设计模式包括创建型模式&#xff0c;结构型模式&#xff0c;行为型模式。 今天先看看创建型模式&#xff0c;而单例是创建型模式中的第一个而且是常用的&#xff0c;就从它开始吧。 定义 单例模式用来创建全局唯一的对象。一个类只允许创建一…

GNU Radio之OFDM Divide和Matrix Transpose底层C++实现

文章目录 前言一、OFDM Divide 模块1、简介2、模块作用3、参数意义4、C 具体实现 二、Matrix Transpose 模块1、简介2、参数意义3、C 具体实现 前言 gr-radar 中的 OFDM Divide 模块是GNU Radio中的一个组件&#xff0c;专门用于处理正交频分复用&#xff08;OFDM&#xff09;…

防火墙技术基础篇:配置基本转发策略(安全策略)

防火墙基础基础篇&#xff1a;配置基本转发策略&#xff08;安全策略&#xff09; 1 什么是安全策略&#xff1f; 安全策略指的是用于保护网络的规则。它是由管理员在系统中配置&#xff0c;决定了哪些流量可以通过&#xff0c;哪些流量应该被阻断。安全策略是防火墙产品的一…

智能科技的新风潮:探索Web3与物联网结合

引言 随着科技的不断进步和创新&#xff0c;智能科技正成为新时代的主旋律。在这个充满活力和变革的时代&#xff0c;Web3技术与物联网的结合成为了一股新的风潮。本文将深入探讨这一新趋势&#xff0c;揭示Web3与物联网结合的意义、挑战和前景。 Web3技术的特点与优势 区块链…

Git系列:git init 深入理解及其使用技巧

&#x1f49d;&#x1f49d;&#x1f49d;欢迎莅临我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您的想法和见解。 推荐:「stormsha的主页」…

好的架构是进化来的,不是设计来的

很多年前&#xff0c;读了子柳老师的《淘宝技术这十年》。这本书成为了我的架构启蒙书&#xff0c;书中的一句话像种子一样深埋在我的脑海里&#xff1a;“好的架构是进化来的&#xff0c;不是设计来的”。 2015 年&#xff0c;我加入神州专车订单研发团队&#xff0c;亲历了专…

抄表:现代生活中的数据采集关键

1.界定与发源 抄表&#xff0c;简单的说&#xff0c;指从各种各样计量机器设备(如智能水表、电度表、天然气表等)载入做好记录使用量的全过程。这一概念自工业化时代至今就出现了&#xff0c;最初由人工进行&#xff0c;伴随着科技创新&#xff0c;如今已经演化出自动化和远程…

保研面试408复习 5——操作系统(死锁)、计网(TCP和UDP)

文章目录 1、操作系统一、死锁的定义、原因和必要条件a.死锁的定义b.死锁的原因c.死锁产生的必要条件 二、如何预防死锁&#xff1f; 2、计算机网络一、TCP和UDP的相同点二、TCP和UDP的区别 标记文字记忆&#xff0c;加粗文字注意&#xff0c;普通文字理解。 1、操作系统 一、…

深度学习之基于Matlab的BP神经网络交通标志识别

欢迎大家点赞、收藏、关注、评论啦 &#xff0c;由于篇幅有限&#xff0c;只展示了部分核心代码。 文章目录 一项目简介 二、功能三、系统四. 总结 一项目简介 一、项目背景与意义 随着智能交通系统&#xff08;ITS&#xff09;的快速发展&#xff0c;交通标志识别&#xff0…

【DevOps】深入浅出:Jenkins 性能监控全解析

目录 一、监控指标&#xff1a;把握系统健康状况 1、资源利用率&#xff1a; 2、 任务执行效率&#xff1a; 3、系统稳定性&#xff1a; 二、监控工具&#xff1a;选择合适的利器 1、Jenkins 内置监控 1.1、Jenkins Performance Plugin&#xff1a;系统性能指标的直观展…