Ir ao conteúdo
  • Comunicados

    • Gabriel Torres

      Seja um moderador do Clube do Hardware!   12-02-2016

      Prezados membros do Clube do Hardware, Está aberto o processo de seleção de novos moderadores para diversos setores ou áreas do Clube do Hardware. Os requisitos são:   Pelo menos 500 posts e um ano de cadastro; Boa frequência de participação; Ser respeitoso, cordial e educado com os demais membros; Ter bom nível de português; Ter razoável conhecimento da área em que pretende atuar; Saber trabalhar em equipe (com os moderadores, coordenadores e administradores).   Os interessados deverão enviar uma mensagem privada para o usuário @Equipe Clube do Hardware com o título "Candidato a moderador". A mensagem deverá conter respostas às perguntas abaixo:   Qual o seu nome completo? Qual sua data de nascimento? Qual sua formação/profissão? Já atuou como moderador em algo outro fórum, se sim, qual? De forma sucinta, explique o porquê de querer ser moderador do fórum e conte-nos um pouco sobre você.   OBS: Não se trata de função remunerada. Todos que fazem parte do staff são voluntários.
    • DiF

      Poste seus códigos corretamente!   21-05-2016

      Prezados membros do Fórum do Clube do Hardware, O Fórum oferece um recurso chamado CODE, onde o ícone no painel do editor é  <>     O uso deste recurso é  imprescindível para uma melhor leitura, manter a organização, diferenciar de texto comum e principalmente evitar que os compiladores e IDEs acusem erro ao colar um código copiado daqui. Portanto convido-lhes para ler as instruções de como usar este recurso CODE neste tópico:  
Almeida Souza

C++ Fazer programa em dev C++

Recommended Posts

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

 

Editado por DiF
Botão CODE <>

Compartilhar este post


Link para o post
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;

 

Editado por PédePano
  • Curtir 1

Compartilhar este post


Link para o post
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

Compartilhar este post


Link para o post
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

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário






Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações 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

×