Ir ao conteúdo
  • Cadastre-se

C++ Fazer programa em dev C++


Posts recomendados

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)    ;
}

 

Link para o comentário
Compartilhar em outros sites

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
Link para o comentário
Compartilhar em outros sites

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
Link para o comentário
Compartilhar em outros sites

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
Link para o comentário
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...