Ir ao conteúdo
  • Cadastre-se

bvianaro

Membro Pleno
  • Posts

    24
  • Cadastrado em

  • Última visita

posts postados por bvianaro

  1. @faller @Isadora Ferraz  Consegui resolver o problema, coloquei um botão no PL mesmo e aterrei o pino de reset, agora o PL ao ser pressionado é como se fosse um reset para o valor setado. Muito obrigado pela ajuda.

     

    Só mais uma coisa, quais seriam bons valores para o capacitor no Debouncing dos botões? Para evitar ruído.

    Esses valores que coloquei estão bons pros capacitores e resistores nos botões?

    E na entrada de alimentação do display de 7 segmentos é necessário colocar alguma coisa? Ou somente ligar no 5v?

    contador1.jpg

  2. Preciso ordenar o programa abaixo em ordem crescente somente pelos codigos dos produtos. alguém da um help?

    #include<stdio.h>
    #include<stdlib.h>
    struct matel
    {
        int codigo;
        char descricao[40];
        float custo;
        struct matel *prox;
    };
    typedef struct matel MATEL;
    MATEL *inicio, *fim;
    int contador;

    void mostra_lista();

    int main()
    {
        int k,quant;
        MATEL *p,*aux;
        contador=0;
        printf("\nQuantas pecas serao registradas? ");
        scanf("%d",&quant);
        while (quant < 1)
        {
            printf("\nInforme valor maior que zero ");
            scanf("%d",&quant);
        }
        for(k=0;k<quant;k++)
        {
            aux=(MATEL *)malloc(sizeof(MATEL));
           if(aux==NULL)
           {
            printf("\nImpossivel alocar espaco. Tecle algo");
            getch();
            return 0;
           }
        //Preeenche o vetor
            printf("\nDigite codigo do material[%d] : ",k+1);
            scanf("%d",&(*aux).codigo);
            fflush(stdin);
            printf("\nDigite descricao do material[%d] ",k+1);
            gets((*aux).descricao);
            printf("\nDigite custo do material[%d] ",k+1);
            scanf("%f",&(*aux).custo);
            if(contador==0)
            {
             inicio=fim=aux;
             contador++;
             aux->prox=NULL;
            }
            else
            {
            fim->prox=aux;
            fim=aux;
            aux->prox=NULL;
            contador++;
            }
        }
        mostra_lista();
        printf("\n");
        system("pause");
        return 0;
    }
       void mostra_lista()
        {
         MATEL *aux;
         aux=inicio;
         while(aux)
         {
            printf("\nCodigo: %d",(*aux).codigo);
            printf("\nDescricao: %s",(*aux).descricao);
            printf("\nCusto: %.2f\n",(*aux).custo);
            aux=aux->prox;
         }
        }

  3. Preciso de ajuda para fazer o seguinte programa em C:

     
    Escrever um programa C, estruturado com funções que apresente o menu abaixo e opere com o TAD fila encadeada com ponteiros para processar os dados de produto (código –inteiro- , descrição - 40 caracteres-, custo – real com2 decimais-). Os itens do menu são:
    1. Inserir produto na fila por ordem de chegada não permitindo códigos repetidos
    2. Mostrar os produtos presentes na fila
    3. Excluir um produto da fila mantendo-a ordenada por ordem de chegada
    4. Pesquisar um produto na fila indicando qual a sua posição na fila ou informando que não está presente
    5. Gravar a fila em disco com o nome produto.dat
    6. Sair

    O programa inicial é esse:
     
    struct matel
    {
        int codigo;
        char descricao[40];
        float custo;
        struct matel *prox;
    };
    typedef struct matel MATEL;
    MATEL *inicio, *fim;
    int contador;
     
    void mostra_lista();
     
    int main()
    {
        int k,quant;
        MATEL *p,*aux;
        contador=0;
        printf("\nQuantas pecas serao registradas? ");
        scanf("%d",&quant);
        while (quant < 1)
        {
            printf("\nInforme valor maior que zero ");
            scanf("%d",&quant);
        }
        for(k=0;k<quant;k++)
        {
            aux=(MATEL *)malloc(sizeof(MATEL));
           if(aux==NULL)
           {
            printf("\nImpossivel alocar espaco. Tecle algo");
            getch();
            return 0;
           }
        //Preeenche o vetor
            printf("\nDigite codigo do material[%d] : ",k+1);
            scanf("%d",&(*aux).codigo);
            fflush(stdin);
            printf("\nDigite descricao do material[%d] ",k+1);
            gets((*aux).descricao);
            printf("\nDigite custo do material[%d] ",k+1);
            scanf("%f",&(*aux).custo);
            if(contador==0)
            {
             inicio=fim=aux;
             contador++;
             aux->prox=NULL;
            }
            else
            {
            fim->prox=aux;
            fim=aux;
            aux->prox=NULL;
            contador++;
            }
        }
        mostra_lista();
        printf("\n");
        system("pause");
        return 0;
    }
       void mostra_lista()
        {
         MATEL *aux;
         aux=inicio;
         while(aux)
         {
            printf("\nCodigo: %d",(*aux).codigo);
            printf("\nDescricao: %s",(*aux).descricao);
            printf("\nCusto: %.2f\n",(*aux).custo);
            aux=aux->prox;
         }
        }

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!