Ir ao conteúdo

C Codigo não funciona da maneira correta


Ir à solução Resolvido por JorgeGus,

Posts recomendados

Postado

Um vendedor ambulante utiliza concentrado de uva para produzir suco e refresco de uva. Ele utiliza as
seguintes proporções para o preparo do suco e do refresco:
suco: 1L de concentrado para 2 de água;
refresco: 1L de concentrado para 4 de água.
O vendedor utiliza copos de 100 ml.
Faça um programa que leia a litragem do concentrado que o vendedor irá comprar e o preço pago por
este concentrado e informe ao vendedor ambulante:
quantos litros de refresco de uva podem ser produzidos com todo o concentrado;
quantos litros de suco uva podem ser produzidos com todo o concentrado;
quanto ele irá receber transformando o concentrado em suco de uva, considerando R$2,00 por
copo de suco;
quanto ele irá receber transformando o concentrado em refresco de uva, considerando R$1,00
por copo de refresco;
o percentual de lucro do suco; (valor recebido-custo)/valor recebido
o percentual de lucro do refresco (valor recebido-custo)/valor recebido

#include <stdio.h>
int main() {
int s;
int c;
int r;
int L;
int v;
int l2;
int vs;
int vr;
int vh;

printf("qual a quantidade de concetrado que voce tem? \n"); scanf("%d", &c); printf("qual valor pago pelo concentrado? \n"); scanf("%d", &v); printf("podem ser feitos %d litros de suco \n", c * 2); scanf("%d", &s); printf("podem ser feitos %d litros de refresco \n", c * 4); scanf("%d", &r); printf("voce ira receber %d pelo suco \n", ((s * 1000) / 100) * 2); scanf("%d", &vs); printf("voce ira receber %d pelo refresco \n", ((r * 1000) / 100) * 1); scanf("%d", &vh); L = vs - v; printf("o seu lucro é: %d", L);

}

EXIBE DA SEGUINTE FORMA:
Pergunta todas vezes e na 2 mensagem não pergunta o valor do concentra.
qual a quantidade de concetrado que voce tem?
1
qual valor pago pelo concentrado?podem ser feitos 2 litros de suco
1
podem ser feitos 4 litros de refresco
1
voce ira receber 20 pelo suco
1
voce ira receber 10 pelo refresco
1
o seu lucro Ú: 1
Process returned 0 (0x0) execution time : 3.681 s
Press any key to continue.

  • Curtir 1
Postado

@alan.modesto Troque

scanf("%d", &c);

por

scanf("%d%*c", &c);

para eliminar o caractere que sobra quando você pressiona Enter.

 

Mas eu não entendi o resto do seu programa, e não entendi também para que servem essas outras leituras.

  • Curtir 1
Postado
34 minutos atrás, alan.modesto disse:
#include <stdio.h>
int main() {
    int s;
    int c;
    int r;
    int L;
    int v;
    int l2;
    int vs;
    int vr;
    int vh;

	printf("qual a quantidade de concetrado que voce tem? \n"); 
	scanf("%d", &c); 
  	printf("qual valor pago pelo concentrado? \n"); 
  	scanf("%d", &v); 
  	printf("podem ser feitos %d litros de suco \n", c * 2); 
  	scanf("%d", &s); 
  	printf("podem ser feitos %d litros de refresco \n", c * 4); 
  	scanf("%d", &r); 
  	printf("voce ira receber %d pelo suco \n", ((s * 1000) / 100) * 2); 
  	scanf("%d", &vs); 
  	printf("voce ira receber %d pelo refresco \n", ((r * 1000) / 100) * 1); 
  	scanf("%d", &vh); L = vs - v; 
  	printf("o seu lucro é: %d", L);

}

 

Oi Alan, procure usar a diretiva Code para inserir blocos de código, fica mais fácil para analisar. Na sua definição de variáveis, você poderia ter escrito apenas uma linha:

int s,c,r,L,v,l2,vs,vr,ivh; 

Fica mais legível também, e ocupa menos espaço, menos linhas, menos manutenção.

Para mim rodaram todas as mensagens.

  • Curtir 2
Postado

Galera agora que eu vi como ficou, ta horrivel mesmo vou consertar

@Denis Bopp rodou porém a cada mensagem ele pede pra voce inserir algo.

@JorgeGus

#include <stdio.h>
int main() {
    int s,c,r,L,v,l2,vs,vr,vh;
    
    printf("qual a quantidade de concetrado que voce tem? \n");
    scanf("%d%*c", &c);
      printf("qual valor pago pelo concentrado? \n");
      scanf("%d%*v", &v);
      printf("podem ser feitos %d litros de suco \n", c * 2);
      scanf("%d%*s", &s);
      printf("podem ser feitos %d litros de refresco \n", c * 4);
      scanf("%d%*r", &r);
      printf("voce ira receber %d pelo suco \n", ((s * 1000) / 100) * 2);
      scanf("%d%*vs", &vs);
      printf("voce ira receber %d pelo refresco \n", ((r * 1000) / 100) * 1);
      scanf("%d%*vh", &vh); L = vs - v;
      printf("o seu lucro é: %d", L);
}

 

quando fica assim galera, tenho que inserir sempre algo pra ele prosseguir

8 minutos atrás, alan.modesto disse:

Galera agora que eu vi como ficou, ta horrivel mesmo vou consertar

@Denis Bopp rodou porém a cada mensagem ele pede pra voce inserir algo.

 

2021-10-25.png

  • Curtir 1
  • Solução
Postado
7 minutos atrás, alan.modesto disse:

@JorgeGus como faço pra rodar sem o scanf? porque no caso ele serve pra guardar o valor da variavel também não?

 

suco = concentrado * 2;
refresco = concentrado * 4;
printf("Quantidade de suco %f\n", suco);
printf("Quantidade de refresco %f", refresco);

 

E seria melhor usar float, pelo menos no preço.

  • Curtir 1
Postado

***** consegui cara, to a umas 2 horas pensando nisso. obrigado!!!

#include <stdio.h>
 int main() {
     int suco, c, refresco,L,v,l2,vs,vr,vh;
     printf("qual a quantidade de concetrado que voce tem? \n");
     scanf("%d", &c);
     printf("qual valor pago pelo concentrado \n? ");
     scanf("%d", &v);
     suco = c * 2;
     refresco = c *4;
     printf("podem ser feitos %d litros de suco \n", suco);
     printf("podem ser feitos %d litros de refresco \n", refresco);
     printf("voce ira receber %d pelo suco \n", ((suco * 1000) / 100) * 2);
     printf("voce ira receber %d pelo refresco \n", ((refresco * 1000) / 100) * 1);

     return 0;

 }

  • Curtir 1
Postado

Vamos do começo Alan, o que o seu programa tem de fazer? Faça um diagrama em blocos do que ele deveria fazer, quais as entradas devem ser fornecidas e quais os resultados devem ser obtidos. Algo do tipo:

 

 

								
								  inicio 
									|
						   entra com qtde de laranjas
                                    |
							calcula quanto suco pode fazer
									|
							calcula o custo do suco
									|
						calcula o valor de venda
									|
							apresenta o valor do suco
									|
								   fim

 

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

LANÇAMENTO!

eletronica2025-popup.jpg


CLIQUE AQUI E BAIXE AGORA MESMO!