命令行模拟进度条

每次看到别人的黑框程序在安装什么包,或者操作某个东西的时候,都有个动态的进度条,感觉很逼真的样子。

这次咱们也模拟一个简易的进度条。运行效果图如下。

完整代码:

#include<iostream>
#include<Windows.h>//Sleep调用
using namespace std;

void processbar(int iMaxValue, int iCurrentValue)
{
	char chArr[] = "[....................] ";
	int iIndex = (float)iCurrentValue / (float)iMaxValue * 20;

	for (int i = 1; i <= iIndex; ++i)
	{
		chArr[i] = ‘#‘;
	}

	cout << "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b";	//回删所有
	cout << chArr << (int)((float)iCurrentValue / (float)iMaxValue * 100) << "%";	// 输出进度条
}

int main()
{
	for (int i=0; i <= 100; i++)
	{
		Sleep(100);
		processbar(100, i);
	}

	return 0;
}

  

原文地址:https://www.cnblogs.com/hjsstudio/p/9210516.html

时间: 2024-10-11 11:47:41

命令行模拟进度条的相关文章

模拟进度条

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" > <head> <title>进度条</title> &l

python中模拟进度条

文件的write方法并不是直接将文件写入硬盘,而是先写入缓存,等缓存写满等条件满足时再写入磁盘. 有时为了保证数据安全性,需要调用flush来强制数据落盘.同理在标准输出sys.stdout中也有flsuh方法,例如使用sys.stdout来模拟进度条: import sys,time for i in range(20): sys.stdout.write("#") sys.stdout.flush() time.sleep(0.5)

模拟进度条发现的彩蛋

在模拟实现一个进度条的时候,首先想到的方法是控制width(横着的进度条),height(竖着的进度条). 我在这么做的时候遇到了一个问题.高度总是从下到上变换的.如果是倒着来的进度条就不好实现.宽度总是从左到右变话的.如果从右到左也遇到了问题. 解决方法如下,设定一个relative的框,内部设定一个 absolute的框来实现进度条,进度条的初始位置根据top,left,bottom,right四个值来确定. <div class="cont"> <div cla

[Java]命令行模拟TCP客户端与服务端的简单小程序遇到的问题(基础不牢!扎实和亲手实践比什么都重要!)

简单得不能再简单的需求: 简单模拟TCP客户端与服务端的一次连接和通信,客户端发出一个消息,服务端回馈一个消息 自己第一次编写的代码: Client: class TcpClient1 { public static void main(String[] args) throws Exception { Socket s=new Socket("127.0.0.1",10010); OutputStream out=s.getOutputStream(); out.write(&quo

java在window下用cmd (javac、jar)命令行模拟Intellij IDEA软件生成jar包

@@首先最重要的cmd命令: javac ,jar :使用如下(注意[.]不要输错): 1. javac编译: D:\MyWorkSet\idea_hadoop>javac -d .\out\production -cp .;.\lib\* -encoding utf-8 src\com\it18zhang\hadoop\*.java 2.jar打包: D:\MyWorkSet\idea_hadoop>jar cvfm .\out\artifacts\idea_hadoop.jar .\out

hive在命令行消除进度等错误信息

大家在使用shell脚本调用hive命令的时候,发现hive的中间过程竟然打印到错误输出流里面,这样在查看错误日志的时候,需要过滤这些没用的信息,那么可以使用如下的配置参数. set hive.session.silent=true; (默认是false) 例如: hive> select from_original,pv from tableName where rpt_date='2014-12-08' order by pv desc limit 4; Total MapReduce jo

python模拟进度条打印

def jindu(per,width=50): if per>100: per=100 showstr=('[%%-%ds]' % width) % (int(per/100*width) * '#') print('\r%s %d%%' %(showstr,per), end='', flush=True) totalsize=102500recive=0while recive<totalsize: time.sleep(0.5) recive+=1024 percent=100*rec

package.json(node)中,多个命令行合并一条

1. '&' 并行执行顺序,同时执行 "dev":"node test.js & webpack" 2.'&&'继发顺序,执行前面之后才可以执行后面 "dev":"node test.js && webpack" 原文地址:https://www.cnblogs.com/wxsloveyou/p/10348038.html

C#使用进度条,并用线程模拟真实数据 ProgressBar用法(转)

using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading; using System.Windows.Forms; namespace jmyd.form { public partial class