Ola pessoal , bom , estou estudando C++ faz pouco tempo , e estou tendo dificuldades com a seguinte situação.
O exercicio que estou a fazer diz o seguinte:
"Efetuar a leitura de um nome (variável NOME) e o sexo (variável SEXO) de uma pessoa e apresentar como saída uma das seguintes mensagens: "llmo Sr.", caso seja informado o sexo masculino (utilizar como valor o caractere "M"), ou "llma Sra.", caso seja informado o sexo feminino (utilizar como valor o caractere "F"). Após a mensagem de saudação, apresentar o nome informado. O programa deve, após a entrada do sexo , verificar primeiramente se o sexo fornecido é realmente válido, ou seja, se é igual a "M" ou "F". Não sendo essa condição verdadeira, o programa deve apresentar a mensagem "Sexo informado inválido".
bom, tentei fazer isso no seguinte código:
//C04EX12.CPP
#include <iostream>
using namespace std;
int main(void)
{
char SEXO[1], NOME [30];
cout << "Insira seu nome: "; cin >> NOME;
cout << "Insira seu sexo: "; cin >> SEXO;
if (SEXO == "M" and SEXO == "F")
if (SEXO == "M")
cout << "llmo Sr." << NOME;
else
cout << "llma Sra." << NOME;
else
cout << "Sexo invalido";
return 0;
}
Bom , é isso , é bem simples mas está quebrando minha cabeça pois não sei outro formato de solucionar isso. (Estou em exercicios de decisão, por isso não busquei soluções utilizando laços ou outros modos).
Edit:
Tudo bem , acho que fui um pouco precipitado em publicar isso aqui hahahaha. Consegui resolver o problema trocando If pelo Switch tranquilamente.
//C04EX12.CPP
#include <iostream>
using namespace std;
int main(void)
{
char SEXO[1], NOME [30];
char opcao;
opcao = 'M', 'F';
cout << "Insira seu nome: "; cin >> NOME;
cout << "Insira seu sexo (M = Masculino, F= Feminino): "; cin >> opcao;
switch (opcao)
{
case 'M':
cout << "llmo Sr. " << NOME;
break;
case 'F':
cout << "llma Sra. " << NOME;
break;
default:
cout << "Sexo invalido.";
}
return 0;
}