Solicite ao usuário que digite quatro valores inteiros e guarde-os em variáveis distintas A, B, C
e D, imprima os valores identificando-os. Crie uma função chamada calcula, e dentro desta função apenas calcule: A+B, CD, A*D, B/C, os resultados das operações deverão ser armazenados nas variáveis ‘add’, ‘sub’, ‘multi’ e ‘div’, EXTERNAS À FUNÇÃO calcula, E DEVERÃO SER IMPRESSOS FORA DA FUNÇÃO, para isso utilize passagem de parâmetros por referência. (Dica1, se quiser pode usar um vetor! Dica2, pelo menos a variável ‘div’ deve ser declarada como de ponto flutuante, float, pois receberá o resultado de uma operação de divisão e, portanto, pode armazenar um valor decimal.)
1 Resposta
Clique aqui para adicionar a sua resposta.
XXXTh
→→→
#include
//função
void calcula(int A, int B, int C, int D, int *add, int *sub, int *multi, float *div){
*add = A + B;
*sub = C - D;
*multi = A * D;
*div = (B + 0.0) / C; // B é somado a 0.0 para virar float pois se B fosse dividido por C inteiros iria resultar sempre numa divisão inteira (em vez de B, C também poderia ser somado a 0.0, também daria certo)
}
int main(){
//variáveis
int A, B, C, D, add, sub, multi;
float div;
//leitura de valores
printf("Digite o valor de A: ");
scanf("%d", &A);
printf("Digite o valor de B: ");
scanf("%d", &B);
printf("Digite o valor de C: ");
scanf("%d", &C);
printf("Digite o valor de D: ");
scanf("%d", &D);
calcula(A, B, C, D, &add, &sub, &multi, &div); //chamando a função utilizando a passagem de parâmetros por referência
//imprimindo os valores
printf("A + B = %d ", add);
printf("C - D = %d ", sub);
printf("A * D = %d ", multi);
printf("B / C = %f ", div);
}
Explicação:
passagem de parâmetros por referência consiste em passar uma variável como parâmetro para uma função, não uma cópia dela, ou seja se alterarmos ela na função a própria variável será alterada.
Podemos fazer isso passando a variável que queremos como parâmetro por referência, para isso utilizamos o "&" antes da variável quando chamarmos a função. E para que a função aceite essa variável toda vez que ela for usada ela terá que ter o " * " antes dela.
espero ter ajudado
→→→