Ir ao conteúdo

Posts recomendados

Postado

Bom dia.

Compilação sem erros mas, ao executar o código, entra no bloco de comandos do primeiro if mesmo quando a condição if não é atendida. Quem descobre o que há de errado com meu código? Obrigado.

 

#include <stdio.h>
#include <math.h>
#include <locale>
#include <stdlib.h>

int main(){
	char  sexo, nome[50];
	int pront;
	float alt, peso, PBW;
	setlocale(LC_ALL, "Portuguese"); 

/*inserção de dados do paciente para gerar os cálculos*/
	printf("INSIRA OS DADOS DO PACIENTE\n");
	printf("\nNome:");
	gets(nome);
	printf("\nNúmero do prontuário:");
	scanf("%d", &pront);
	printf("\nSexo (M para masculino; F para feminino:\n");
	scanf("%s", &sexo);
	if(sexo!='M'||sexo!='m'||sexo!='F'||sexo!='f'){
		printf("\nValor incorreto. Digite M para masculino ou F para feminino:");
		scanf("%c", &sexo);
	}
	printf("\nPeso:");
	scanf("%f", &peso);
	printf("\nAltura (cm):");
	scanf("%f", &alt);
	
/*cálcular o peso predito*/
	if (sexo=='M'||sexo=='m'){
		PBW=0.91*(alt-152.4) + 50;
	}else{
		PBW=45.5+0.91*(alt-152.4);
	}
	printf("\nPeso Predito(PBW):%.2f", PBW);
	return(0);
}

 

  • Curtir 1
Postado

Acredito que o || seja o operador lógico pra "ou". Ou seja, se o valor inserido for diferente de PELO MENOS UMA das letras, já vai entrar no if. Se usar o operador "e", que eu acredito ser &&, deve funcionar, pois só vai entrar no if se o valor inserido for DIFERENTE DE TODAS as letras.

  • Curtir 1
Postado
7 minutos atrás, Pedro Capixaba disse:

mesmo quando a condição if não é atendida

 

🤔Será?

 

Essa seria para o forum de lógica. A igualdade é reflexiva, simétrica e transitiva. Duas coisas iguais a uma terceira são iguais entre si. Ou vendo de outro modo uma coisa sempre é diferente de duas coisas diferentes...

 

image.png.f3953db6f3b6399dbdeba5a764af680b.png

 

então sua condição não é o que você queria que fosse... Essa condição é sempre verdadeira. Escreva uma tabela. voce queria usar AND

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