Ir ao conteúdo
  • Cadastre-se

C Erro na multiplicação no promaga em c


Posts recomendados

Enunciado do exercício: Uma determinada loja comercializa 10 produtos diferentes. Escreva um programa que receba a quantidade vendida e o valor unitário de cada produto e os armazene em dois vetores. Após a leitura, o programa deve calcular o total de produtos vendidos, o faturamento total da loja e exibi-los na tela.

 

 

 

 

#include<stdio.h>
int main(){
    int unidades[10], soma1, x, y;
    float valor[10], mult[10];
    
    //calculo das unidades
    for(x=0; x < 10; x++){
        scanf("%d", &unidades[x]);
        soma1 += unidades[x];     
    }
    
    //calculo do valor
    for(y=0; y < 10; y++){
        scanf("%f", &valor[y]);
        mult[y] = unidades[x]*valor[y];
        
        printf("o lucro foi de %f e a quantidade de produtos vendidos foi de %d", mult[y], soma1);
    }

    return 0;
    
}

Link para o post
Compartilhar em outros sites

@Beatriz Ducatti    você colocou para fazer cálculos com tipos diferentes , multiplicando int com float , e pediu para o compilador escrever o resultado em float , mas o resultado é int , e por isso ele escreve que o valor é zero ,  então você precisa informar , para ele que converta esse int em float e escreva , e para isso você pode usar um " cast ", algo assim  :

int variavel_int = 4096;
printf("valor int convertido para Float .2f\n",(float)variavel_int);

e esse seu código está também  bem confuso porque você fez a leitura da Quantidade de todos os 10 produtos  e  só depois vez a leitura da valor dos dez produtos , algo estranho mesmo , pois depois você não vai conseguir saber mais qual produto foi e qual valor teve , melhor fazer isso ao mesmo tempo e deixar para fazer os cálculos depois e escrever o resultado na tela , e então seu código poderia ser assim  :

#define _CRT_SECURE_NO_WARNINGS   // para usar scanf e outras funções no visual studio
#include<stdio.h>
int main() {
    int quantidade[10], soma1{}, faturamento{};
    float valor[10]{}, mult[10] = {}; // abre e fecha chaves serv para inicialZar as variaveIs

    //calculo das Quantidades
    for (int x = 0; x < 10; x++) 
    {
        printf("a Quantidade vendida do %2d%c produto -: ",x+1,167);
        scanf("%d", &quantidade[x]);
        printf("o VaLor do %2d%c produto --------------: ", x + 1, 167);
        scanf("%f", &valor[x]);
    }

    //calculo do valor
    printf("calculo do TotaL de proDutos VendidOs -: ");
    for (int y = 0; y < 10; y++)
    {
        soma1 += quantidade[y];                  // calcula o totaL dE  ProdUtos
        faturamento += quantidade[y] * valor[y]; // calcula o valoR dos ProdUtos
    }
    printf("%d\n", soma1);
    printf("O FatUram%cntO eh ----------------------: %.2f\n\n\n",210, (float)faturamento);// o 210 é o códig ASCII do carac Ê
    printf("O FatUram%cntO com valor em int eh -----: %2d\n\n\n", 210, faturamento);       // o 210 é o códig ASCII do carac Ê
    return 0;
}

 

Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

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

Redes-Wi-Fi-capa-3d-newsletter.png

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!