c语言电量百分比程序,C语言实现的百分比加进度条的显示程序
项目中需要设计一个远程设备升级程序,程序优化时想在数字显示升级进度的同时用类似wget的进度条的形式显示升级进度,于是写了一个简单的数字+进度条显示升级进度的程序,以下为程序的核心部分,以达到抛砖引玉的效果。
/* The progress bar like this:
xx% [=======> ]
*/
int dlbytes_size = 1 + MAX (size_grouped_len, 11);
int progress_size = bp->width - (4 + 2 + dlbytes_size + 8 + 14);
/* The difference between the number of bytes used,
and the number of columns used. */
int bytes_cols_diff = 0;
if (progress_size < 5)
progress_size = 0;
/* "xx% " */
if (bp->total_length > 0)
{
int percentage = 100.0 * size / bp->total_length;
assert (percentage <= 100);
if (percentage < 100)
sprintf (p, "%2d%% ", percentage);
else
strcpy (p, "100%");
p += 4;
}
else
APPEND_LITERAL (" ");
/* The progress bar: "[====> ]" or "[++==> ]". */
if (progress_size && bp->total_length > 0)
{
/* Size of the initial portion. */
int insz = (double)bp->initial_length / bp->total_length * progress_size;
/* Size of the downloaded portion. */
int dlsz = (double)size / bp->total_length * progress_size;
char *begin;
int i;
assert (dlsz <= progress_size);
assert (insz <= dlsz);
*p++ = '[';
begin = p;
/* Print the initial portion of the download with '+' chars, the
rest with '=' and one '>'. */
for (i = 0; i < insz; i++)
*p++ = '+';
dlsz -= insz;
if (dlsz > 0)
{
for (i = 0; i < dlsz - 1; i++)
*p++ = '=';
*p++ = '>';
}
while (p - begin < progress_size)
*p++ = ' ';
*p++ = ']';
}
else if (progress_size)
{
/* If we can't draw a real progress bar, then at least show
*something* to the user. */
int ind = bp->tick % (progress_size * 2 - 6);
int i, pos;
/* Make the star move in two directions. */
if (ind < progress_size - 2)
pos = ind + 1;
else
pos = progress_size - (ind - progress_size + 5);
*p++ = '[';
for (i = 0; i < progress_size; i++)
{
if (i == pos - 1) *p++ = '';
else
*p++ = ' ';
}
*p++ = ']';
++bp->tick;
}
c语言电量百分比程序,C语言实现的百分比加进度条的显示程序相关推荐
- 创建自绘进度条,并在进度条上显示当前进度的百分比
平台:VS2005: 资料参考:来源于网络: 内容介绍:创建自绘进度条,并在进度条上显示当前进度的百分比. 第一步:创建基于对话框的工程,在对话框中放置一个进度条控件, 把进度条控件的属性Smooth ...
- html的canvas显示数字,HTML5效果:Canvas 实现圆形进度条并显示数字百分比
实现效果 1.首先创建html代码 2.创建canvas环境 var canvas = document.getElementById('canvas'), //获取canvas元素 context ...
- 微信小程序下载视频到相册(带进度条)
微信小程序下载视频到相册,并带进度条 <button class="desc-note my-button u-font-32" @click="toUpload( ...
- 完成度百分比用计算机怎么算,excel表格以进度条显示百分比的教程
在Excel中经常需要统计数据,有些有百分比项目的,如果以进度条方式显示百分比,数值大概是多少也都一目了然了,如果学会了这一做法,相信你的工作效率会提升得很快.接下来是学习啦小编为大家带来的excel ...
- html数字显示百分比,扣丁学堂html5 教程之Canvas实现圆形进度条并显示数字百分比效果...
今天扣丁学堂html5培训小编和大家分享一下Canvas实现圆形进度条并显示数字百分比效果示例,对html5感兴趣的小伙伴或者是参加学习的小伙伴可以了解一下. Canvas实现圆形进度条并显示数字百分 ...
- android加载百分比功能,android进度条怎么显示百分比
android布局文件里的ProgressBar长形进度条怎么自 在windows操作系统下Android studio按照如下步骤自动义ProgressBar长形进度条的样式. 首先创建一个andr ...
- python 进度条_Python小程序系列——动态进度条(1)
Python动态进度条I 开始我们的第一个Python程序. 显示一个动态进度条,在同一个位置显示从1%到100% 源代码附上来: import sys #有关Python运行环境的变量和函数impo ...
- 微信小程序 MinUI 组件库系列之 progress 进度条组件
MinUI 是基于微信小程序自定义组件特性开发而成的一套简洁.易用.高效的组件库,适用场景广,覆盖小程序原生框架.各种小程序组件主流框架等,并且提供了高效的命令行工具.MinUI 组件库包含了很多基础 ...
- 【微信小程序】简易音乐播放器,进度条拖拉、音乐的播放与暂停
小程序简易音乐播放器实现 粗糙的页面设计: wxml部分: <view class="test"><view class="img">& ...
最新文章
- 迈向智慧化 物联网规模应用不断拓展
- 一步一步学Silverlight 2系列(34):使用Silverlight Streaming托管Silverlight应用程序_转载...
- 年终福利 | 京东虚拟平台团队问答专场
- JDBC(二)——使用IDEA连接数据库、数据库连接池
- .net core 中的经典设计模式的应用
- JavaScript的求模、取整、小数的取舍
- 程序人生:女程序员的求职奋斗史
- SpringBoot - 多Profile使用与切换
- Spring Security Oauth2 之密码模式
- feign 多个参数放对象_feign架构 原理解析
- java求1~20阶乘之和
- fedora14安装
- CentOS安装微软雅黑字体
- 《你要如何衡量你的人生》书籍读后感
- 内存颗粒位宽和容量_DDR4内存颗粒--美光篇
- bugku~图穷匕见
- 中国恐慌指数VIX(基于沪深300的)
- 多版本opencv管理 --pkg-config
- Python爬虫框架Scrapy豌豆荚应用市场爬虫
- Excel如何在整个工作簿中批量替换指定数据
热门文章
- 基于java的抑郁症患者发现与治疗系统
- c和e语言,e-c c-e(英汉语言对比).ppt
- html按钮设置动作,ppt设置动作按钮在哪 PPT中怎么添加动作按钮?
- u-boot-2010.03分析(二)
- 视频抽帧及将图片合成视频
- 牛客网[编程题] DNA合成(Java实现)
- 宏任务和微任务的总结(js队列执行顺序)+ 一点琐事(善待自己)
- c语言 单词变复数_DEV-C++中编写了一段C程序,其中设置了用文件进行... 请编一个程序,可以将英语规则名词由单数变成复数......
- 向HTML中添加节点的几种方法
- 用PS给图标添加外发光效果