terça-feira, 7 de maio de 2013

Simular barra "LOADING"


#include <stdio.h>
#include <conio.h>

main()
{
      int loaded = 0, num, i;
      char str_load[200];
     
      srand ( time(NULL) );
     
      strcpy(str_load,"");
      do{
           system("cls");
           num =0;
           num += rand() % 10 + 1; // escolher aleatoriamente quantos sinais serão carregados no próximo bloco
         
           loaded += num;
         
           if(loaded > 200) loaded = 200; //se o valor final for maior que 200,
                                          //igualamos a 200 para que não apareça um valor superior a 100% na saída
         
           for(i=0; i < num; i++) ; //ciclo para inserir mais um bloco "#"
               strcat(str_load,"#"); //concatenamos a string "#" ao valor a ser imprimido
             
           printf("a carregar :: %s [ %d %%] ",str_load,(int)(loaded/2));
      }while(loaded != 200);
     
      _getch();
};


by Johnny Pina

Cronómetro simples


#include <stdio.h>
#include <time.h>
#include <conio.h>
#include <dos.h>

void espera(long sec)
{
long inicio, actual;
time(&inicio) ;
time(&actual) ;
while((actual-inicio)<sec)
{
time(&actual) ;
}
};

int main(int argc, char *argv[])
{
    int i=0,segundo=0, minuto=0, hora=0;
    printf("");
    do{
           printf("\n\t%.2d : %.2d : %.2d",hora, minuto, segundo);
           segundo++;
           espera(1);
           system("cls");
           if(segundo == 60)
           {
           minuto++;
           segundo=0;
           }
           if(minuto==60)
           {
           hora++;
           segundo=0;
           minuto=0;
           }
    }while(hora!=1);
    getch();
};

by Johnny Pina

domingo, 14 de abril de 2013

Script para procura de produto mais vendido - MiniProj1 AED

Mais vendido?? A minha ideia::

Consideremos a lista de encomendas. Nesta lista temos "prodEnc" (código do produto), "quantEnc" (quantidade da encomenda).



Primeiramente, vamos criar uma estrutura ao qual vamos chamar maisVendido, no qual existem apenas três campos:: 1º - [ int codProduto ] e o 2º - [ int quantProduto ]. Entao teremos::

typedef struct maisV
{
       int codProduto;
       int quantProduto;
       struct maisV * prox;
} maisVendido;

maisVendido * M;

Como usar esta lista??
Aqui começa a magia.

Percorremos a lista de encomendas do primeiro ao último elemento (o apontador "prox" de encomendas != NULL)

Criamos uma lista M dentro da função/procedimento que é do tipo da lista de maisVendido.

-- # ------------------------------------------------------------------------------------
dentro da função/procedimento criamos duas varáveis::


int maior = 0;
int codProduto = 0;
-- # ------------------------------------------------------------------------------------

while(enc->prox != NULL)//percorremos a lista de encomendas
{
        if(M == NULL) //verificamos se a lista de maisVendido está preenchida
        { //Se não estiver, inserimos o primeiro elemento
                M->codProduto = enc->prodEnc;
                M->quantProduto = enc->quantEnc;
                M->prox = NULL;
        }
        else
        { //se estiver preenchida, vamos "actualizar", digamos assim
              while(M->prox != NULL) //enquanto não chegarmos ao fim dessa lista M
              {
                      if(M->codProduto == enc->prodEnc) //Se o produto já existir na lista
                      {
                            M->quantProduto = M->quantProduto + enc->quantEnc; //actualizamos a quantidade vendida deste produto
                      }
                      else //Se não existir na lista, então vamos inseri-lo
                      {
                            M->codProduto = enc->prodEnc;
                            M->quantProduto = enc->quantEnc;
                            M->prox = NULL;
                      }
              }//fim do while(M->prox != NULL)
        }//fim do if (M == NULL)
}//fim do while(enc->prox != NULL)
-- # ------------------------------------------------------------------------------------

Acredito, salvo erro, que este código funcione, pois nunca o testei.

A ideia é criar uma lista suplente M, onde vou inserir todos os produtos existentes na lista de encomendas uma vez só, actualizando apenas a sua quantidade se o produto estiver repetido na lista de encomendas.

Assim no final só terei de percorrer a lista M e verificar qual o produto com maior número de vendas (ver código seguinte)::

while(M->prox != NULL)
{
       if(maior < M->quantProduto)
       {
             maior = M->quantProduto;
             codProduto = M->codProduto;
       }//fim do if (maior < M->quantProduto)
}//fim do while(M->prox != NULL)

printf("O produto mais vendido tem o codigo [ %d ]. Ja foram vendidas [ %d ] unidades desse produto\n",codProduto, maior);

-- # ---------------------------------------------------------------------------------------

Espero ter ajudado alguém, pelo menos com a ideia. Se estiver errado a nível do código, por favor deixem o vosso comentário com a correcção. :)

by Johnny Pina

sábado, 6 de abril de 2013

Cores diferentes nas consolas de programas em C

Eis uma lista para quem queira dar cor à sua consola
no projecto.
Como funciona??
Muito simples. Nos códigos do programa escreve-se algo assim:

system("COLOR 0F");

O valor 0F dentro do system, a seguir ao COLOR , produz a cor desejada, em que o primeiro símbolo irá tonificar o fundo da consola e o segundo irá dar cor às letras impressas na consola.

Se não perceberam, leiam o exemplo a seguir:

Se eu quiser um fundo vermelho e letras azuis, irei usar o código:

system("COLOR 41");

Divirtam-se :)

segunda-feira, 4 de março de 2013

Horário


Horário di grupo B! kenha ki é di grupo A é midjoe troka pa grupo B pamodi el é maz fixe ^^.