Validando dados
Boa tarde pessoal, sou novo no ramo da programação. Tenho dúvidas referente à uma validação dados no sexo do usuário solicitado pelo sistema. Estou utilizando %s para fazer o scanf do char digitado. Utilizo aspas duplas para fazer a verificação se o usuário não digitou nada e utilizando aspas simples para caso o usuário tenha digitado algum caractere diferente de 'M', 'm', 'f' ou 'F', mas mesmo assim na hora de compilar ele informa sexo inválido, mesmo digitando as duas opções de sexo, porém, ao fazer um contador de sexo masculino consigo utilizar aspas simples. Alguém poderia me ajudar nesse procedimento? Desde já agradeço.
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char *argv[]) {
int i =0, contHomem =0;
float alt = 0, menorAlt = 0;
char sexo;
for(i=0; i<10; i++){
printf("\tPESSOA#%d\n",i+1);
do{
printf("Digite altura: ");
scanf("%f",&alt);
if(alt < 0){
printf("Valor invalido!\n");
}
}while(alt < 0);
do{
printf("Digite o sexo: ");
scanf("%s",&sexo);
if((sexo =="") ||(sexo != 'm') || (sexo !='M') || (sexo !='f') || (sexo !='F')){
printf("Valor invalido!\n");
}
}while((sexo =="") || (sexo != 'm') || (sexo !='M') || (sexo !='f') || (sexo !='F') );
//contagem de homens
if((sexo == 'm') || (sexo == 'M')){
contHomem++;
}
}
printf("O numero de homens eh: %d", contHomem);
return 0;
}Discussão (2)
Carregando comentários...