Ir ao conteúdo
  • Cadastre-se

C Par ou impar resultando dando errado


Trem_P3

Posts recomendados

Faça um programa que emule uma caixa registradora. O programa deve apresentar o seguinte menu:
LOJAS LTPI
(1) VENDAS À VISTA
(2) VENDAS À PRAZO
(3) RELATÓRIO DE COMPRAS
(4) FIM
Opção:
Caso o usuário escolha a opção 1 ou 2, o programa deve solicitar o valor da compra. Caso escolha a opção 3, O programa
deve apresentar a quantidade de compras à vista e à prazo.
Escolhendo a opção 4, o programa deve encerrar e apresentar a relação percentual de compras à vista e à prazo.
Caso o usuário digite outro número, o programa deve apresentar uma mensagem de erro e a oportunidade de escolher
outra vez.

 

UTILIZANDO DO WHILE!!!!

 

Meu codigo: 

<

#include <stdio.h>

int main()
{
    int i, vista, prazo, pvista, pprazo;
    
    do{
        printf("LOJAS LTPI: \n");
        printf("(1) VENDAS A VISTA \n");
        printf("(2) VENDAS A PRAZO \n");
        printf("(3) RELATORIO DE COMPRAS \n");
        printf("(4) FIM \n");
        printf("\n\n");
        
        printf("Escolha uma opcao: ");
        
        scanf("%d", &i);
        
    } while((i > 1) || (i < 4));
        if((i == 1) || (i == 2))
        {
            printf("\nDiga o valor da sua compra: ");
        }
        else{
            if(i == 3)
            {
                printf("\nDiga sua quantidade de compras a vista: ");
                scanf("%d", &vista);
                printf("\nDiga sua quantidade de compras a prazo: ");
                scanf("%d", &prazo);
            }
            else{
                if(i == 4)
                {
                    pvista = vista / (vista + prazo);
                    pprazo = prazo / (vista + prazo);
                    
                    printf("\nA % de compras a vista e de: %d", pvista);
                    printf("\nA % de compras a prazo e de: %d", pprazo);
                }
                else{
                    printf("\nOpcao invalida. Tente Novamente!");
                }
            }
        }
    
    return 0;
}

O resultado fica repetindo o menu da loja, ao invés de aparecer o case.

>image.thumb.png.bc0b23f4d819c8527f257d6155d9ca71.png

 

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

@Trem_P3     nesses casos uma imagem não ajuda em nada e não adianta nada também , e é difíciL de copiar para testar ,  melhor postar o código em formato de texto mesmo  ,  e clique nesse botão  botam.jpg.8f67bff32ff9e5f8ba04cc1db7a9f3df.jpg

você fez dois códigos diferentes , mas esse que você postou em texto , está com o comando while fora do local apropriado para ele ,

    scanf("%d", &i);
}while( i > 1 || i < 4);  //  cloque esse no fim do programa
if((i == 1) || (i == 2))  //  esses if's / switch / case , ficam dentro do while

 

Link para o comentário
Compartilhar em outros sites

@devair1010 Olá perdao, sou novo no site... Fiz o que tu mandou e o menu continua se repetindo... 

meu codigo novo: 

#include <stdio.h>

int main()
{
	int i, vista, prazo, pvista, pprazo;
	
	do{
		printf("LOJAS LTPI: \n");
		printf("(1) VENDAS A VISTA \n");
		printf("(2) VENDAS A PRAZO \n");
		printf("(3) RELATORIO DE COMPRAS \n");
		printf("(4) FIM \n");
		printf("\n\n");
		
		printf("Escolha uma opcao: ");
		
		scanf("%d", &i);
		
		if((i == 1) || (i == 2))
        {
        	printf("\nDiga o valor da sua compra: ");
		}
		else{
			if(i == 3)
			{
				printf("\nDiga sua quantidade de compras a vista: ");
                scanf("%d", &vista);
                printf("\nDiga sua quantidade de compras a prazo: ");
                scanf("%d", &prazo);
			}
			else{
				if(i == 4)
				{
					pvista = vista / (vista + prazo);
					pprazo = prazo / (vista + prazo);
					
					printf("\nA % de compras a vista e de: %d", pvista);
					printf("\nA % de compras a prazo e de: %d", pprazo);
				}
				else{
					printf("\nOpcao invalida. Tente Novamente!");
				}
			}
		}
	} while((i > 1) || (i < 4));
	
	return 0;
}

 

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