Ir ao conteúdo

Posts recomendados

Postado

Boa noite, estou com dificuldades para completar o meu programa em c++, quando coloco a formula para calcular a media da um valor errado. Gostaria de saber como faço para colocar o preço que foi dado para o livro mais vendido, e ql formula usar para calcular a media conforme pede na letra b e onde devo coloca-la. Segue a baixo a parte do codigo que eu consegui fazer e o enunciado.

Agredeço se puderem me ajudar

 

/* Deseja-se efetuar uma análise estatística a respeito dos livros vendidos por uma livraria 
em um determinado mês. 
Para cada livro são fornecidas as seguintes informações:
código de referência, tipo (1=Ficção / 2=Não-Ficção / 3= Técnico-Científico),
preço e quantidade de exemplares vendidos no mês. 
Elabore um programa em que leia as informações sobre os livros e ao final mostre o seguinte relatório:
 a) quantidade de exemplares de cada tipo (Ficção, Não-Ficção, Técnico-Científico) vendidos no mês;

b ) média de venda de livros por tipo ao mês;

c) referência do livro mais vendido com seu preço de venda.*/

#include <stdlib.h>
#include <stdio.h>
#include <math.h>

float precof, preconf, precotc, medf, mednf, medtc, maisv;
int  ficcao, naoficcao, teccient, qntf, qntnf, qnttc,codref, totvend,qntfv, qntnfv,qnttcv;

int main()
{
codref>0>4;
           //Loop 
            for(totvend=1;totvend<=1000;totvend++)
    {    
    
        
    printf("\n\nCodigo de referencia...\n Ficcao=1, \n Nao-Ficcao=2, \n Tecnico-Cientifico=3\n Digite o codigo de referencia do livro ou -1 para finalizar:\t ");
    scanf("%d",&codref);
    
    
    switch(codref)
    {
        case 1:
                printf("\nA referencia escolhida foi 'Ficcao' ");
                
                printf("\nDigite o valor do livro:");
                scanf("%f",&precof);
                qntf++;
                
                if(qntf>maisv)
                {
                    maisv=1;
                }
                
                break;
        
        case 2:     
                
                printf("\nA referencia escolhida foi Nao Ficcao");
                
                printf("\nDigite o valor do livro:\t");
                scanf("%f",&preconf);
                qntnf++;
                
                if(qntnf>maisv)
                {
                    maisv=2;
                }
                
                break;
                
        case 3:
            
                printf("\nA referencia escolhida foi Tecnico Cientifico");
                
                printf("\nDigite o valor do livro:\t");
                scanf("%f",&precotc);
                qnttc++;
                
                if(qnttc>maisv)
                {
                    maisv=3;
                }
                
                break;
                
        case -1:
                codref=5;
                totvend=1001;
                
                break;
                
            default:
            
            printf("Escolha uma opcao valida, entre: 1, 2, 3 ou -1.\n\n");
            
                break;
    }
    
            
    
    
}

        printf("\nA quantidade de exemplares de 'Ficcao' vendidos no mes e:%d", qntf);
        printf("\nA quantidade de exemplares 'Nao Ficcao' vendidos no mes e:%d", qntnf);
        printf("\nA quantidade de exemplares 'Tecnico Cientifico' vendidos no mes e:%d", qnttc);
        

        printf("\n\n\nA Media de venda de Ficcao e:%f",medf);
        printf("\nA Media de venda de Nao Ficcao e:%f",mednf);
        printf("\nA Media de venda de Tecnico Cientifico e:%f",medtc);
        
        printf("\n\nO livro mais vendido foi o com codigo de referencia: %f",maisv);
        
        
return(0)    ;
}

 

Postado

E aí cara tudo bom contigo. Então a fórmula para calcular a média de preços é o somatório dos livros dividido pelo número de livros de cada tipo. Então você vai ter que criar um variável flutuante tipo sumprecof, sumpreconf e sumprecotc e vai coloca-las dentro de cada case respectivo.


case 1:
                printf("\nA referencia escolhida foi 'Ficcao' ");
                
                printf("\nDigite o valor do livro:");
                scanf("%f",&precof);
                qntf++;
                sumprecof=sumprecof+precof;
                if(qntf>maisv)
                {
                    maisv=1;
                }
                
                break;

E a média que tá faltando aí você vai coloca-la fora do switch-case da seguinte forma:

Medf=sumprecof/quantf;

 

  • Curtir 1
Postado

obgdo amigo pela ajuda!

E você sabe como me orientar pra completar a letra C eu nao consigo colocar o valor do livro junto com a referência do livro mais vendido.

adicionado 2 minutos depois

@PédePano  

obgdo amigo pela ajuda!

E você sabe como me orientar para completar a letra C eu nao consigo colocar o valor do livro junto com a referência do livro mais vendido

  • Curtir 1
Postado

Amigo se eu fosse você eu tiraria esses if de dentro dos switch-case. E então eu colocaria um IFELSE fora que relacionaria as quantidades de cada livro com operadores lógicos tipo && e ||.

if(qntf>qntnf && qntf>>qnttc){
	//Aqui tu coloca o printf
}

	elseif(qntnf>qntf && qntnf>qnttc){
		//Aqui tu coloca o printf
	}

else{
	//Aqui tu coloca o printf
}

No printf tu podes colocar o tipo do livro e se quiser tu podes colocar o somatório dos preços também, tem muito tempo que não programo em C e confundo ele na minha mente de vez em quando com javascript, então pode ter algum erro de sintaxe mas a lógica de programação é essa:hehehe:

  • Curtir 1

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

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

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!