Ir ao conteúdo
  • Cadastre-se

Camila Isabela

Membro Júnior
  • Posts

    4
  • Cadastrado em

  • Última visita

posts postados por Camila Isabela

  1. Gostaria de pedir ajuda com a seguinte questão:

    (Não pode utilizar função, nem vetor)

    
    
    int main()
    {
    	int codigo, quant, soma1, exit, soma2, soma3, soma4, soma5, soma6, soma7, somatotal;
    	do
    	{
    		printf("Insira o codigo do produto: ");
    		scanf("%d", &codigo);
    		switch(codigo)
    		{
    			case 123:
    				printf("Insira a quantidade do produto: ");
    				scanf("%d", &quant);
    				soma1=quant*0.1;
    				fflush(stdin);
    				printf("Deseja inserir mais algum produto? Insira [1] para 'SIM' ou [0] para 'SAIR'\n");
    				scanf("%d", &exit);
    				fflush(stdin);
    				break;
    			
    			case 234:
    				printf("Insira a quantidade do produto: ");
    				scanf("%d", &quant);
    				soma2=quant*0.15;
    				printf("Deseja inserir mais algum produto? Insira [1] para 'SIM' ou [0] para 'SAIR'\n");
    				scanf("%d", &exit);
    				fflush(stdin);
    				break;
    				
    			case 345:
    				printf("Insira a quantidade do produto: ");
    				scanf("%d", &quant);
    				soma3=quant*0.12;
    				printf("Deseja inserir mais algum produto? Insira [1] para 'SIM' ou [0] para 'SAIR'\n");
    				scanf("%d", &exit);
    				fflush(stdin);
    				break;
    				
    			case 456:
    				printf("Insira a quantidade do produto: ");
    				scanf("%d", &quant);
    				soma4=quant*0.1;
    				printf("Deseja inserir mais algum produto? Insira [1] para 'SIM' ou [0] para 'SAIR'\n");
    				scanf("%d", &exit);
    				fflush(stdin);
    				break;
    				
    			case 567:
    				printf("Insira a quantidade do produto: ");
    				scanf("%d", &quant);
    				soma5=quant*4.5;
    				printf("Deseja inserir mais algum produto? Insira [1] para 'SIM' ou [0] para 'SAIR'\n");
    				scanf("%d", &exit);
    				fflush(stdin);
    				break;
    				
    			case 678:
    				printf("Insira a quantidade do produto: ");
    				scanf("%d", &quant);
    				soma6=quant*30;
    				printf("Deseja inserir mais algum produto? Insira [1] para 'SIM' ou [0] para 'SAIR'\n");
    				scanf("%d", &exit);
    				fflush(stdin);
    				break;
    				
    			case 789:
    				printf("Insira a quantidade do produto: ");
    				scanf("%d", &quant);
    				soma7=quant*8.5;
    				printf("Deseja inserir mais algum produto? Insira [1] para 'SIM' ou [0] para 'SAIR'\n");
    				scanf("%d", &exit);
    				fflush(stdin);
    				break;
    				
    			default:
    				printf("Codigo invalido. Insira novamente.\n\n");
    		}
    	if(soma1>0)
    	{
    		printf("Prego - %d", soma1);
    	}
    	if(soma2>0)
    	{
    		printf("Parafuso - %d\n", soma2);
    	}
    	if(soma3>0)
    	{
    		printf("Porca - %d\n", soma3);
    	}
    	if(soma4>0)
    	{
    		printf("Arruela - %d\n", soma4);
    	}
    	if(soma5>0)
    	{
    		printf("Tijolo - %d\n", soma5);
    	}
    	if(soma6>0)
    	{
    		printf("Cimento - %d\n", soma6);
    	}
    	if(soma7>0)
    	{
    		printf("Fita Isolante - %d\n", soma7);
    	}
    	somatotal=soma1+soma2+soma3+soma4+soma5+soma6+soma7;
    	printf("O valor total da compra e: %d", somatotal);
    	}
    	while((codigo)&&(exit!=0));
    	
    }

    /*Questão 04  Uma loja de materiais de construção possui a seguinte tabela de preços:
     
      Código Descrição  Valor unitário
       123      Prego            R$   0,10
       234      Parafuso       R$   0,15
       345      Porca             R$   0,12
       456      Arruela          R$   0,10
       567      Tijolo              R$   4,50
       678      Cimento         R$ 30,00
       789      Fita isolante   R$   8,50

      Pede-se o desenvolvimento de um programa que faça o cálculo do valor total de cada compra na loja. Para isso, em cada compra o sistema deve solicitar o código
      e a quantidade de cada produto desejado até que o usuário opte por terminar a  compra. Para cada produto escolhido, o programa deve exibir o valor total,
      multiplicando o valor unitário pela quantidade desejada. Além disso, deve exibir  ao usuário o valor total da compra.

     

    Ao final da execução, o programa ainda deve apresentar:

     

    - O total arrecadado com as compras realizadas;
    - O valor da compra de valor mais alto.
    Nota: caso o código informado seja inválido, uma mensagem de erro deve ser exibida e um novo código solicitado.*/

     

    A dificuldade é que não está somando corretamente cada produto. O que posso ter feito de errado? Ele invade memória e calcula uma soma fixa para produtos alternados.  A parte em que exibe o valor de compra mais alto eu ainda não coloquei pois já estou com esse erro no início o que me travou na questão. Desde já, obrigada pela atenção ;)

     

     

     

     

    image.png

    adicionado 35 minutos depois

    Sou nova aqui no Clube do Hardware e não sei como fazer no caso de eu mesma encontrar o erro. O  post tem que ser excluído, ou informo que achei a solução?  No caso de ser a segunda opção, segue o código funcionando como deveria(claro que eu gostaria de ter uma ideia com menos linhas, ficou enorme, rsrsrs). Desde já obrigada pela atenção.

    #include<stdio.h>
    
    int main()
    {
    	int codigo, quant, exit; 
    	float soma1=0, soma2=0, soma3=0, soma4=0, soma5=0, soma6=0, soma7=0, somatotal, maior=0;
    	do
    	{
    		printf("Insira o codigo do produto: ");
    		scanf("%d", &codigo);
    		switch(codigo)
    		{
    			case 123:
    				printf("Insira a quantidade do produto: ");
    				scanf("%d", &quant);
    				soma1=quant*0.1;
    				fflush(stdin);
    				printf("Deseja inserir mais algum produto? Insira [1] para 'SIM' ou [0] para 'SAIR'\n");
    				scanf("%d", &exit);
    				fflush(stdin);
    				break;
    			
    			case 234:
    				printf("Insira a quantidade do produto: ");
    				scanf("%d", &quant);
    				soma2=quant*0.15;
    				printf("Deseja inserir mais algum produto? Insira [1] para 'SIM' ou [0] para 'SAIR'\n");
    				scanf("%d", &exit);
    				fflush(stdin);
    				break;
    				
    			case 345:
    				printf("Insira a quantidade do produto: ");
    				scanf("%d", &quant);
    				soma3=quant*0.12;
    				printf("Deseja inserir mais algum produto? Insira [1] para 'SIM' ou [0] para 'SAIR'\n");
    				scanf("%d", &exit);
    				fflush(stdin);
    				break;
    				
    			case 456:
    				printf("Insira a quantidade do produto: ");
    				scanf("%d", &quant);
    				soma4=quant*0.1;
    				printf("Deseja inserir mais algum produto? Insira [1] para 'SIM' ou [0] para 'SAIR'\n");
    				scanf("%d", &exit);
    				fflush(stdin);
    				break;
    				
    			case 567:
    				printf("Insira a quantidade do produto: ");
    				scanf("%d", &quant);
    				soma5=quant*4.5;
    				printf("Deseja inserir mais algum produto? Insira [1] para 'SIM' ou [0] para 'SAIR'\n");
    				scanf("%d", &exit);
    				fflush(stdin);
    				break;
    				
    			case 678:
    				printf("Insira a quantidade do produto: ");
    				scanf("%d", &quant);
    				soma6=quant*30;
    				printf("Deseja inserir mais algum produto? Insira [1] para 'SIM' ou [0] para 'SAIR'\n");
    				scanf("%d", &exit);
    				fflush(stdin);
    				break;
    				
    			case 789:
    				printf("Insira a quantidade do produto: ");
    				scanf("%d", &quant);
    				soma7=quant*8.5;
    				printf("Deseja inserir mais algum produto? Insira [1] para 'SIM' ou [0] para 'SAIR'\n");
    				scanf("%d", &exit);
    				fflush(stdin);
    				break;
    				
    			default:
    				printf("Codigo invalido. Insira novamente.\n\n");
    				break;
    		}
    	}
    	while((codigo)&&(exit!=0));
    	if(soma1>0)
    		{
    			printf("Prego - %.2f\n", soma1);
    		}
    		if(soma2>0)
    		{
    			printf("Parafuso - %.2f\n", soma2);
    		}
    		if(soma3>0)
    		{
    			printf("Porca - %.2f\n", soma3);
    		}
    		if(soma4>0)
    		{
    			printf("Arruela - %.2f\n", soma4);
    		}
    		if(soma5>0)
    		{
    			printf("Tijolo - %.2f\n", soma5);
    		}
    		if(soma6>0)
    		{
    			printf("Cimento - %.2f\n", soma6);
    		}
    		if(soma7>0)
    		{
    			printf("Fita Isolante - %.2f\n", soma7);
    		}
    		if(soma1>maior)
    		{
    			maior=soma1;
    		}
    		if(soma2>maior)
    		{
    			maior=soma2;
    		}
    		if(soma3>maior)
    		{
    			maior=soma3;
    		}
    		if(soma4>maior)
    		{
    			maior=soma4;
    		}
    		if(soma5>maior)
    		{
    			maior=soma5;
    		}
    		if(soma6>maior)
    		{
    			maior=soma6;
    		}
    		if(soma7>maior)
    		{
    			maior=soma7;
    		}
    	printf("O maior valor de compra foi: %.2f\n", maior);
    	somatotal=soma1+soma2+soma3+soma4+soma5+soma6+soma7;
    	printf("O valor total da compra e: %.2f\n\n", somatotal);
    }

     

    • Curtir 1
  2. #include<stdio.h>
    
    int main ()
    {
    	int A, B, C, i;
    	A = 0;
    	B = 10;
    	C = B - A;
    	i = 1;
    	while (i <= 10)
    	{
    		if (C > A)
    		{
    			C = C - 2;
    			i++;
    		}
    		else
    		{
    			i += 2;
    			B = C % i;
    		}
    	A = A + i;
    	printf ("A =  %d   ", A);
    	printf ("B = %d   ", B);
    	printf ("C = %d   ", C);
    	printf ("i = %d\n", i);
    	}
    }

    Com esse código, forneça os valores que serão exibidos
    quando o mesmo for executado.

    Consegui desenvolver a reposta corretamente até a parte em que o B deixa de ser 10 e passa a ser 4 até o fim. Como pode ser esse valor já que quando entra no "else" o B passa a ser B= C % i, ou seja, o "resto da divisão de C por i"? As variáveis A, C e i eu consegui desenvolver facilmente, a dúvida está em entender a modificação apenas do B. Desde já muito obrigada pela atenção, segue resposta abaixo:

    A = 2 B = 10 C = 8 i = 2
    A = 5 B = 10 C = 6 i = 3
    A = 9 B = 10 C = 4 i = 4
    A = 15 B = 4 C = 4 i = 6
    A = 23 B = 4 C = 4 i = 8
    A = 33 B = 4 C = 4 i = 10
    A = 45 B = 4 C = 4 i = 12

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!