Calcular tempo de download
Publicado por Frank Junior (última atualização em 31/07/2010)
[ Hits: 14.550 ]
Homepage: http://twitter.com/frankjuniorr
Download Velocidade de Download.c
Um exemplo: eu tenho um arquivo de 700mb pra baixar em uma taxa de transferência a 100kbps por exemplo... quanto tempo vai levar? É isso que o script calcula. ^^
#include <stdio.h>
#include <stdlib.h>
int main(){
    
    float tamanho,velocidade,tempo;
    char caractere1,caractere2,resposta;
    do{
    system("cls");    
    printf("Legenda Tamanho --> bits=b - Byte=B - KByte=k - Mega=m - Giga=g - Thera=t\n");
    printf("Legenda Velocidade --> KByte=k - MegaByte=m = GigaByte=g\n\n");
    printf("Digite o Tamanho do Arquivo: ");
    scanf("%f",&tamanho);
    scanf("%c",&caractere1);
    printf("Digite a taxa de Tranferencia da Internet: ");
    scanf("%f",&velocidade);
    scanf("%c",&caractere2);
    
        
    if(caractere1 == 'b' && caractere2 == 'k'){
    tempo=tamanho/(velocidade*1024*8);
    }
    if(caractere1 == 'b' && caractere2 == 'm'){
    tempo=tamanho/(velocidade*pow(1024,2)*8);
    }
    if(caractere1 == 'b' && caractere2 == 'g'){
    tempo=tamanho/(velocidade*pow(1024,3)*8);
    }
    
    
    
    if(caractere1 == 'B' && caractere2 == 'k'){
    tempo=tamanho/(velocidade*1024);
    }
    if(caractere1 == 'B' && caractere2 == 'm'){
    tempo=tamanho/(velocidade*pow(1024,2));
    }
    if(caractere1 == 'B' && caractere2 == 'g'){
    tempo=tamanho/(velocidade*pow(1024,3));
    }
                  
    
    if(caractere1 == 'k' && caractere2 == 'k'){
    tempo=tamanho/velocidade;
    }
    if(caractere1 == 'k' && caractere2 == 'm'){
    tempo=tamanho/velocidade*1024;
    }
    if(caractere1 == 'k' && caractere2 == 'g'){
    tempo=tamanho/velocidade*pow(1024,2);
    }
    
    
    if(caractere1 == 'm' && caractere2 == 'k'){
    tempo=tamanho*1024/velocidade;
    }
    if(caractere1 == 'm' && caractere2 == 'm'){
    tempo=tamanho/velocidade;
    }
    if(caractere1 == 'm' && caractere2 == 'g'){
    tempo=tamanho/velocidade*1024;
    }
                  
    
    if(caractere1 == 'g' && caractere2 == 'k'){
    tempo=tamanho*pow(1024,2)/velocidade;
    }
    if(caractere1 == 'g' && caractere2 == 'm'){
    tempo=tamanho*1024/velocidade;                  
    }
    if(caractere1 == 'g' && caractere2 == 'g'){
    tempo=tamanho/velocidade;                                
    }
    
    
    if(caractere1 == 't' && caractere2 == 'k'){
    tempo=tamanho*pow(1024,3)/velocidade;
    }
    if(caractere1 == 't' && caractere2 == 'm'){
    tempo=tamanho*pow(1024,2)/velocidade;
    }
    if(caractere1 == 't' && caractere2 == 'g'){
    tempo=tamanho*1024/velocidade; 
    }
    
    
    if(tempo>=3600){
    printf("\nO tempo estimado eh %f Horas\n\n",tempo/3600);
    }else{
    if(tempo>=60){
    printf("\nO Tempo estimado eh %f Minutos\n\n",tempo/60);
    }else{
    printf("\nO Tempo estimado eh %f Segundos\n\n",tempo);
    }
}
printf("Deseja fazer outro calculo? [s/n] ");
resposta = getch();
}while(resposta == 's');
  
  return 1;
}
Converte Farenheit para Celsius
Criptografar e Descriptografar
Calcula o raio de um objeto cilindrico
Parte 6 - Sessão de estudo sobre VETORES
IA Turbina o Desktop Linux enquanto distros renovam forças
Como extrair chaves TOTP 2FA a partir de QRCODE (Google Authenticator)
Linux em 2025: Segurança prática para o usuário
Desktop Linux em alta: novos apps, distros e privacidade marcam o sábado
IA chega ao desktop e impulsiona produtividade no mundo Linux
Atualizando o Fedora 42 para 43
Como saber se o seu e-mail já teve a senha vazada?
Como descobrir se a sua senha já foi vazada na internet?
Instalação dualboot Windows 11 e Debian 13 (6)
Mint Xfce não mantém a conexão no wi-fi (0)
Programa fora de escala na tela do pc (36)
Eu queria adicionar a incon do wifi e deixa transparente no fluxbox no... (0)









