伯乐创业网、一个为创业者提供创业好项目和创业资讯的网站!
  • 微信客服微信客服
  • 微信公众号微信公众号
您现在的位置是:首页 > 专栏

c进度条(c 进度条)

用户投稿 2023年02月02日 18:46:09

大家好,如果您还对c进度条不太了解,没有关系,今天就由本站为大家分享c进度条的知识,包括c 进度条的问题都会给大家分析到,还望可以解决大家的问题,下面我们就开始吧!

1本文目录一览

2C语言做一个百分比进度条

p您好,sa团队给出的答案/p p(由于本人不用做百分比进度条,所以从网上找了一个,不知道对不对,仅供参考)/p p#!/bin/shbroff (){brecho -e "\e[?25l"br}bron (){brecho -e "\e[?25h"br}brgotoxy (){brecho -ne "\e[$1;$2h"br}brcharacter (){brgotoxy 0 0brecho "["brgotoxy 0 44brecho "]"brn=2brnum=0brwhile [ $n != 44 ]brdobrsleep 0.07brgotoxy 0 $nbrecho -en "\e[1;44m \e[0m"brgotoxy 0 45brecho -n "$num%"brnum=$(echo "$n * 2.3 + 1" | bc )br(( n++ ))brdonebrgotoxy 0 45brecho -n "100.0%"br}brclearbroffbrcharacter bron/p p /p p /p p这里有一个网址,提供给您(cfm补丁0.2版,增加了进度条,百分比等内容的显示 /p p): a href="" target="_blank";/a/p

3如何用C语言实现进度条

第一种,用printf模拟输出百分比,在控制台输出,实现进度监控。

代码:

#includestdio.h

#define N 20

void mBar(float fBar){

 

    int i,j,k,m;

    for ( i=0;iN+6;i++ ) printf("\b");

    k=N*fBar; m=fBar*100; printf("[");

    for ( i=0;ik;i++ ) printf("=");

    for ( j=0;jN-k;j++ ) printf(" ");

    printf("]%3d%%",m); 

}

void delay(int n) { int i,j,k; for ( i=0;in;i++ ) for ( j=0;j0x07fff;j++ ) k++; }

void main()

{

    float x;

    int i;

    for ( i=0,x=0;i100;i++,x+=0.01 ) { mBar(x); delay(1024); }

    mBar(1);

}

第二种,使用窗口组件。这个要看程序工作环境,纯粹的c语言是无法实现的。可以使VC++。Visual C++中的MFC类提供了标准的进度指示器控件(CProgressCtrl)。

m_progress-GetPos(); //获取进度条的当前位置

m_progress-GetRange(int min,int max); //获取进度条控件的范围的下限和上限

m_progress-OffsetPos(int nPos); //用指定的增量推进进度条控件的当前位置,重绘进度条反映新位置

m_progress-SetBkColor(COLORREF clrNew); //设定进度条的背景颜色

m_progress-SerPos(int nPos); //设定进度条控件的当前位置,重绘进度条反映新位置

m_progress-SetRange(int min,int max); //设定进度条控件的范围的下限和上限

m_progress-SetRange32(int min,int max); //设定进度条控件的范围的下限和上限

m_progress-SetStep(int nStep); //指定进度条控件的步进增量

m_progress-StepIt(); //通过步进增量,推进进度条控件的当前位置,重绘进度条反映新位置

应用:

CProgressCtrl *m_progress; //头文件中声明

在OnInitDialog初始化

   {

   m_progress = (CProgressCtrl*)GetDlgItem(IDC_PROGRESS1);

   m_progress-SetRange(0,1000);

   m_progress-SetPos(0);

   UINT m_timer =(UINT) SetTimer(1,200,NULL);

   }

采用在定时器的消息处理函数WM_TIMER内添加不断更新进度条界面的方法

OnTimer (nIDEvent)

{

   pos = pos + 50;

   if(pos500)

   pos = 0;

   m_Progress-SetPos(pos);

}

或者采用在某种循环体内添加不断更新进展条界面的方法

4C语言进度条

程序1:#include "stdio.h"

#include dos.h

#include conio.h

/*去光标函数*/

void no_text_cursor(void)

{

union REGS r;

r.h.ah=1;

r.h.ch=32;

int86(0x10,r,r);

}

main()

{

int i;

int bfb;

char b=219;

char c='%';

for(i=1;i=60;i++)

{ gotoxy(i,1); /*为了能在进度条和百分比之间变动*/

no_text_cursor();

delay(45000);/*前后两个delay是为了让滚动更好看,流畅*/

printf("%c",b);

delay(45000);

gotoxy(31,2); /*为了能在进度条和百分比之间变动*/

bfb=((i*10)/6);

printf("%d",bfb);

gotoxy(34,2);

printf("%");

}

printf("\nLoading Successful!");

getch();

}程序2:#includegraphics.h

main()

{

int gdriver=DETECT,gmod,i;

/*registerbgidriver(EGAVGA_driver);*/

initgraph(gdriver,gmod,"");

setlinestyle(0,0,2);

rectangle(3,215,637,250);

setcolor(RED);

sleep(3);

for(i=0;i632;++i)

{

if(i==631)break;

line(5+i,216,5+i,249);

delay(2888);

}

getch();

closegraph();

} 以上程序均在TC2.0下通过

文章分享结束,c进度条和c 进度条的答案你都知道了吗?欢迎再次光临本站哦!

版权声明:
本文内容由互联网用户自发贡献,该文观点仅代表作者本人,因此内容不代表本站观点、本站不对文章中的任何观点负责,内容版权归原作者所有、内容只用于提供信息阅读,无任何商业用途。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站(文章、图片、音频、视频)有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至3245813932@qq.com举报,一经查实,本站将立刻删除、维护您的正当权益。