[Day-29] 小练习-动态进度条

综合过去所学
今天要来练习的是「动态进度条」
废话不多说直接练习吧!
/images/emoticon/emoticon42.gif

程序码:

#include<iostream>
#include<cstdlib>
#include <conio.h>
using namespace std;
int main()
{
	int brk;
	while(!kbhit()){
	    if (_kbhit()){
	        brk = _getch();
	        if (brk == 27){ 
				break; 
			}
    }
    int speed=500;
    for(int i=1; i<=12; i++){
		cout <<"→当前进度";
		if(i==1){
			cout << " ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ";}
		if(i==2){
			cout << " ● ○ ○ ○ ○ ○ ○ ○ ○ ○ ";}
		if(i==3){
			cout << " ● ● ○ ○ ○ ○ ○ ○ ○ ○ ";}
		if(i==4){
			cout << " ● ● ● ○ ○ ○ ○ ○ ○ ○ ";}
		if(i==5){
			cout << " ● ● ● ● ○ ○ ○ ○ ○ ○ ";}
		if(i==6){
			cout << " ● ● ● ● ● ○ ○ ○ ○ ○ ";}
		if(i==7){
			cout << " ● ● ● ● ● ● ○ ○ ○ ○ ";}
		if(i==8){
			cout << " ● ● ● ● ● ● ● ○ ○ ○ ";}
		if(i==9){
			cout << " ● ● ● ● ● ● ● ● ○ ○ ";}
		if(i==10){
			cout << " ● ● ● ● ● ● ● ● ● ○ ";}
		if(i==11){
			cout << " ● ● ● ● ● ● ● ● ● ● ";}
		if(i==12){
			cout << " ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ";}
            
        _sleep(speed);
        system("cls");
        } 
	}
	cout << "\n→END" ;
    return 0;
}

执行结果:
(由於不太会用录影
无法呈现动态进度条的感觉
所以就一个一个展示出来)
/images/emoticon/emoticon04.gif

→ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ˍ
→ ● ○ ○ ○ ○ ○ ○ ○ ○ ○ˍ
→ ● ● ○ ○ ○ ○ ○ ○ ○ ○ˍ
→ ● ● ● ○ ○ ○ ○ ○ ○ ○ˍ
→ ● ● ● ● ○ ○ ○ ○ ○ ○ˍ
→ ● ● ● ● ● ○ ○ ○ ○ ○ˍ
→ ● ● ● ● ● ● ○ ○ ○ ○ˍ
→ ● ● ● ● ● ● ● ○ ○ ○ˍ
→ ● ● ● ● ● ● ● ● ○ ○ˍ
→ ● ● ● ● ● ● ● ● ● ○ˍ
→ ● ● ● ● ● ● ● ● ● ●ˍ
→ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ˍ

按下空白键後执行(程序一定会跑完for回圈才会结束)

→END
--------------------------------
Process exited after 0.08787 seconds with return value 0
请按任意键继续...

程序码解释:
◆键盘输入跳出回圈
宣告int型态的变数brk
当作keycode的存入值
之後再用while回圈去判断键盘有无按下
kbhit就是

#include<conio.h>

里面所使用的函式
那这边空白键的keycode我没有设定值
所以按任意键就可以跳出回圈
◆动态进度条
这边就简单的使用for回圈去写进度条
比较需要理解的是

_sleep()

这段函式它是包含在
#include<cstdlib>里面
功能类似delay
我这边是给它变数speed=500的值
所以就是delay500毫秒的意思
那今天就练习到这边~
/images/emoticon/emoticon08.gif

-End-


<<:  Day 25 [Python ML、资料清理] 处理遗失值

>>:  学习JavaScript第四天--字串型别、「赋值运算子+=、-=」「a++」「a--」

D05 - 准备前端环境

接下来开始建立前端专案,接下来依序介绍预期使用的工具与套件。 工具与套件 Vue、Vuex 图片来源...

DAY15 - 处理/读取档案不可或缺的FileReader

前几天,我们已经认识了跟档案相关的物件,包含:Blob, File, FileList, arryB...

Day 21 - Vue Router基本概念(1)

如同我们前面几天提到的,Vue的核心是用来处理状态、版面、以及元件的逻辑。 但是当整个网站逐渐发展成...

Day 24 - Watch os 开发学习1

接下来我们来学开发Watch os的开发 正文 开启一个新的watch专案 更改App图标 更改Ap...

CMoney菁英软件工程师战斗营_Week 7

Hi again 本周大部分时间都是在准备游戏专题 在专题中也会需要上周所提及的图片切个制作动画 由...