Barra de progresso em forma de "roda"

Publicado por Jean Landim (última atualização em 18/02/2011)

[ Hits: 10.839 ]

Homepage: about:blank

Download spin.c




Mostra uma barra de progresso que "roda" sem sair do lugar.

  



Esconder código-fonte

/*
   Spin - Nome auto-descritivo
   2011 (GPL) - Jean Landim <[email protected]>
*/

#include<stdio.h>
int main()
{
   int  *spin[4];
         spin[0] = '|';
         spin[1] = '/';
         spin[2] = '--';
         spin[3] = '\\';
         

   int roda = 0 ;
   for(roda; roda < 6; roda++)
   {
      printf("\r %c",spin[roda]);
      if(roda == 5)
      {
         roda = 0;
      }
   }
}
      

Scripts recomendados

Dado

Aplicações em listas dinâmicas

Calcular a série de Fibonacci

Jogo da velha melhorado

lnx.c (programa em C, simples)


  

Comentários
[1] Comentário enviado por maremotosete em 27/05/2014 - 12:52h

Teria com implementar este codigo em um comando de deump compactado em bzip dentro de um scrip.sh?

pg_dump -h localhost nomedobanco | bzip2 -c > /backup/backup_banco.sql.bz2

[2] Comentário enviado por paulo1205 em 17/09/2018 - 02:27h

Seu programa tem erros.

Tire aquele asterisco da declaração de “spin”, pois esse asterisco implica que você está declarando um array de ponteiros.

Simplifique a declaração e a atribuição de valores numa tacada só, e economize memória declarando seus elementos como caracteres, em lugar de inteiros: “const char spin[4]={'|', '/', '-', '\\'};”.

O laço de repetição está bem ferrado: a cláusula de inicialização não faz nada e, portanto, poderia (deveria) ser omitida, e a condição de repetição é meramente ilusória, pois você interfere no valor da variável de controle de modo a fazer com que o laço nunca termine. Seria melhor fazer do seguinte modo.

for(i=0; /* Vazio (repete eternamente) */; i=(i+1)&3)
    fprintf(stderr, "\r%c", spin[i]);


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts