Ir ao conteúdo
  • Cadastre-se

afmliguori

Membro Júnior
  • Posts

    6
  • Cadastrado em

  • Última visita

  1. @AdrianoSiqueira poxa, bastante diferente! eu estou no início do curso e tem algumas coisas que ainda não aprendi, como esse "double". Mas deixei esse código salvo aqui nos meus arquivos para futuras consultas! Muito obrigada!
  2. @Simon Viegas Nossa, suas explicações foram excelentes... eu mudei conforme sua sugestão e também coloquei o printf pra cima, direto na função... e aí na main só deixei pra puxar as duas funções, e o cálculo deu certinho!! Muito obrigada mesmo #include<stdio.h> #include<stdlib.h> #include<locale.h> float calcMedia(float vet[], int tam) { float media, soma = 0; int i; for (i=0; i<tam; i++) { soma = soma + vet[i]; } media = (float)soma/tam; return media; } float exibeDifMedia (float mediasal, int vInsc[], float vSal[], int num) { float dif_media; int i; for (i=0; i<num; i++) { printf("\nsalário do funcionário [%d] = %.1f\n",vInsc[i], vSal[i]); dif_media = mediasal - vSal[i]; printf("\nDiferença de salário do funcionário [%d] para a média = %.1f\n",vInsc[i], dif_media); } return dif_media; } int main(void){ int vInsc[6] = {1010,1020,1030,1040,1050,1060}; float vSal[6] = {1000.00,4020.00,900.00,10400.00,20000.00,1000.00}; float mediasal, media; int i; mediasal = calcMedia(vSal, 6); printf("A media dos salários é de %.2f\n", mediasal); exibeDifMedia (mediasal, vInsc, vSal, 6); return 0; }
  3. @Simon Viegas ajudou bastante! Vou fazer as alterações e os testes conforme você sugeriu, obrigada! @Simon Viegas Refiz com as alterações que você sugeriu e incluí uma linha para me informar o salário de cada funcionário antes de informar a diferença (só mesmo pra checar se os valores estão corretos) Porém ainda falta algo, pois esse cálculo da diferença salarial está me retornando "-nan" #include<stdio.h> #include<stdlib.h> #include<locale.h> float calcMedia(float vet[], int tam) { float media, soma = 0; int i; for (i=0; i<tam; i++) { soma = soma + vet[i]; } media = (float)soma/tam; return media; } float exibeDifMedia (int vInsc[], float vSal[], int num) { float difmedia, mediasal; int i; for (i=0; i<num; i++) { difmedia = mediasal - vSal[i]; } return difmedia; } int main(void){ int vInsc[6] = {1010,1020,1030,1040,1050,1060}; float vSal[6] = {1000.00,4020.00,900.00,10400.00,20000.00,1000.00}; float mediasal, difsal; int i; mediasal = calcMedia(vSal, 6); printf("A media dos salários é de %.2f\n", mediasal); for (i = 0 ; i <= 5; i++) { printf("\nsalário do funcionário [%d] = %.1f\n",vInsc[i], vSal[i]); difsal = exibeDifMedia(vInsc, vSal, 5); printf("\nDiferença de salário do funcionário [%d] para a média = %.1f\n",vInsc[i], difsal); } return 0; } Repare que quando eu faço o mesmo cálculo direto na MAIN, ele funciona corretamente... mas quando eu tento fazer esse cálculo chamando a função "exibeDifMedia" é que ele dá o erro "NAN"... deve ser algum erro na construção da função que eu ainda não encontrei! #include<stdio.h> #include<stdlib.h> #include<locale.h> float calcMedia(float vet[], int tam) { float media, soma = 0; int i; for (i=0; i<tam; i++) { soma = soma + vet[i]; } media = (float)soma/tam; return media; } float exibeDifMedia (int vInsc[], float vSal[], int num) { float difmedia, mediasal; int i; for (i=0; i<num; i++) { difmedia = mediasal - vSal[i]; } return difmedia; } int main(void){ int vInsc[6] = {1010,1020,1030,1040,1050,1060}; float vSal[6] = {1000.00,4020.00,900.00,10400.00,20000.00,1000.00}; float mediasal, difsal; int i; mediasal = calcMedia(vSal, 6); printf("A media dos salários é de %.2f\n", mediasal); for (i = 0 ; i <= 5; i++) { printf("\nsalário do funcionário [%d] = %.1f\n",vInsc[i], vSal[i]); difsal = mediasal - vSal[i]; printf("\nDiferença de salário do funcionário [%d] para a média = %.1f\n",vInsc[i], difsal); } return 0; }
  4. @Math.Pi, ficou dessa forma..., mas função exibeDifMedia não tá funcionando corretamente. #include <stdio.h> float calcMedia(float vet[], int tam){ float media, soma = 0; int i; for(i=0; i<tam; i++){ soma = soma + vet[i]; } media = (float) soma/tam; return media; } float exibeDifMedia (int vInsc[], float vSal[], int num){ float difmedia, soma=0, salario, media; int x,i; for (i=0; i<num; i++){ calcMedia(vSal, 6); difmedia=vSal[x]-calcMedia(vSal,x); } return difmedia ; } int main(void){ int vInsc[6]={1010,1020,1030,1040,1050,1060}; float vSal[6]={1000.00,4020.00,900.00,10400.00,20000.00,1000.00}; float mediasal, difsal; int i; mediasal = calcMedia(vSal, 6); printf("A media dos salários é de %.2f\n", mediasal); for( i = 0 ; i <= 7; i++) { difsal = exibeDifMedia(vInsc, vSal, i); printf("\nDiferença de salário do funcionário [%d] para a média = %.1f\n",vInsc[i], difsal); } return 0; }
  5. é, faz sentido... vou tentar fazer essa mudança! @Math.Pi realmente houve uma modificação! agora, o que não tô conseguindo é chamar corretamente os valores do salário pra dentro do cálculo, você sabe dizer como eu faço para apontar esses valores?
  6. #include <stdio.h> float calcMedia(float vet[], int tam){ float media, soma = 0; int i; for(i=0; i<tam; i++){ soma = soma + vet[i]; } media = (float) soma/tam; return media; } float exibeDifMedia (int vInsc[], float vSal[], int num){ float difmedia, soma=0, salario, media; int x,i; for (i=0; i<num; i++){ calcMedia(vSal, 6); difmedia=vSal[x]-calcMedia(vSal,x); } return difmedia ; ; return difmedia; } int main(void){ int vInsc[6]={1010,1020,1030,1040,1050,1060}; float vSal[6]={1000.00,4020.00,900.00,10400.00,20000.00,1000.00}; float mediasal, difsal; int i; mediasal = calcMedia(vSal, 6); printf("A media dos salários é de %.2f\n", mediasal); difsal = exibeDifMedia(vInsc, vSal, i); for( i = 0 ; i <= 7; i++) { printf("\nDiferença de salário do funcionário [%d] para a média = %.1f\n",vInsc[i], difsal); } return 0; } Boa noite... Eu estou tentando fazer um código em linguagem C, mas esbarrei em uma dificuldade... fiz o primeiro vetor calculando a média dos valores dos salários de uma empresa... até aí tudo bem..., mas agora preciso calcular a diferença entre o salário de cada empregado e essa média... a minha dúvida é: como fazer para conseguir selecionar cada valor (que tá dentro do vetor) e fazer esse cálculo individualmente? Agraço a quem puder me dar uma luz!

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...