Ir para conteúdo
Fórum Script Brasil

Durub

Moderadores
  • Total de itens

    788
  • Registro em

  • Última visita

Posts postados por Durub

  1. O que você tentou?
     

    struct produto {
        int cod_prod;
        double prec_unit;
        int qtde_vend;
        double valor_compra;
        double val_desc;
        double valor_pagar;
    }
    
    struct produto produtos[5];
    
    Depois, é necessário ler os dados para a variável produtos. Para processar os dados, é necessário apenas fazer os cálculos:
    
    double soma = 0.0;
    double media;
    for(int i = 0; i < 5; i++) {
        produtos[i].valor_compra = produtos[i].prec_unit * produtos[i].qtde_vend;
        if(produtos[i].valor_compra < 500.0) {
            produtos[i].val_desc = 0.0;
        } else if(produtos[i].valor_compra < 1000.0) {
            produtos.val_desc = 0.10 * produtos.valor_compra; // não seria de 500 até 1000? ali diz 500 - 850, mas aí 850 - 1000 ficaria sem desconto...
        } else {
            produtos.val_desc = 0.15 * produtos.valor_compra;
        }
        produtos[i].valor_pagar = produtos[i].valor_compra - produtos[i].val_desc;
        soma += produtos[i].valor_pagar;
    }
    media = soma / 5;
    

    Basicamente, é isso.

    Abraços.

  2. Não entendi qual o problema. Sem a especificação do que é necessário implementar, não dá para auxiliar na solução. Por exemplo, retirando a chamada à stringParaInt, o código deveria, ao menos, funcionar.

    Outra coisa: ler da entrada padrão (stdin) utilizando a função gets não é muito seguro. Veja as seguintes referências, especialmente os exemplos da fgets:
    http://www.cmaismais.com.br/referencia/cstdio/gets/
    http://www.cmaismais.com.br/referencia/cstdio/fgets/

    Abraços.

  3. Excluir o primeiro usuário da fila é tranquilo: fila->inicio = fila->inicio->prox;
    Antes de "excluir" o usuário, guardar ele em uma variável auxiliar e inseri-lo na estrutura de dados desejada, olhando o código por cima, a função insert faz isso.

    Caso não tenha ficado claro, tente explicar um pouco mais a origem da dúvida: tem alguma parte em específico qual você não entende, se você domina a teoria dessas estruturas de dados, etc., que podemos auxiliar melhor!

    Abraços.

  4. O problema está no while: há um ponto e vírgula, ";", antes do {. O código é equivalente a este:

            fahr = inicio;
            while (fahr <= fim) {
            }
    
             {
              celsius = (5.0/9.0) * (fahr - 32.0);
              printf("%4.0f %6.1f\n",fahr, celsius);
              fahr = fahr + incr;
             }

    O fahr nunca é incrementado, portanto o programa fica preso no loop do while indefinidamente. Para resolver, só tirar o ; antes do { após o while.

    Abraços.

  5. 1) Exemplo:

    #include <stdio.h>
    #include <math.h>
    
    struct ponto {
        int x, y;
    };
    
    void distanciaEntreDoisPontos(struct ponto a, struct ponto b, struct ponto *distancia);
    
    int main() {
        struct ponto a, struct ponto b;
        a.x = 2;
        a.y = 4;
        b.x = 3;
        b.y = 3;
    
        struct ponto resultado;
        distanciaEntreDoisPontos(a, b, &resultado);
    
        printf("Distancia entre o ponto a e b:\nx: %d\ny: %d\n", resultado.x, resultado.y);
    
        return 0;
    }
    
    void distanciaEntreDoisPontos(struct ponto a, struct ponto b, struct ponto *distancia) {
        distancia->x = abs(a.x - b.x);
        distancia->y = abs(a.y - b.y);
    }
    

    2) Primeiro, você precisa abrir o arquivo com fopen.

    Depois, precisa lê-lo com fscanf, fgets, fread, o que preferir. Se for só um número em um linha, fscanf seria o modo mais fácil.

    Após finalizar as operações com o arquivo, fechá-lo com fclose.

    Abraços.

  6. Faltou o else. Código completo:

    #include <stdio.h> 
    
    int main() {
        int n, i, x, y, result = 0;
    
        scanf("%d", &n);
    
        for (i = 0; i < n; i++) {
            scanf("%d %d", &x, &y);
            result = y - x;
            if (x < 0 && y > 0) {
                printf("%d", result - 1);
            } else {
                printf("%d", result);
            }
        }
    
        return 0;
    }
    

    Talvez você queira adicionar um \n no fim da string do printf, pois o printf não adiciona uma nova linha automaticamente como o puts faz.

    Abraços.

  7. Tire o & do scanf("%s", &nome) e coloque o & no scanf("%f", salbrut);

    Logo:

    #include <stdio.h>
    #include <stdlib.h>
    #include <strings.h>
    
    
    int main () {
        char nome[20];
        float salbrut,inss,irrf,saliq,total=0;
        int x,depend;
        for (x=0; x&lt;=5; x++){
            printf ("Entre com nome do Funcionario: ");
            //gets (nome);
            scanf("%s",nome);
            printf("Entre com salario bruto do funcionario: ");
            scanf("%f",&salbrut);   // apos ser compilado o programa trava quando eu insiro valores nessa variavel
            
            
            printf("entre com a quantidade de dependentes: ");
            scanf("%d",&depend);
            total= depend+10;
            if (salbrut &lt;= 300) {
                saliq=salbrut-(salbrut*0.08);
                printf("salario bruto com desconto INSS 8%%:....",saliq);
                
                
            }
        }
        printf("\n\n");
        system("pause");
    }

  8. Faça uma procura na array/matriz inteira.

    Exemplo:

    int number_index(int number, int* array, int length)
    {
      int i;
    
      for(i = 0; i < length; ++i)
      {
        if(array[i] == number)
        {
          return i;
        }
      }
    
      return -1;
    }
    
    // number_index(2, A, 3); -> 1

    Não testei, mas acho que deve funcionar.

    Abraços!

×
×
  • Criar Novo...