Buscar

duvida em C++ ou if(mes != 2) cout << "mes de 30 dias\n" ; else cout << "mes de 31 dias\n";

Qual dos trechos de programa escritos em C++ indica quantos dias tem em um determinado mês?

1 -

if(mes == 2)

cout << "28 ou 29 dias\n" ;
if (mes == 4 || mes == 6 || mes == 9 || mes = 11)
cout << "mes de 30 dias\n" ;
else
cout << "mes de 31 dias\n";

ou

2 - switch(mes){
case 1,3,5,6,8,10,12: cout << "mes de 31 dias\n" ;
break;
case 4,6,9,11: cout << "mes de 30 dias\n" ;
break;
case 2: cout << "28 ou 29 dias\n" ;
break;
}

ou

3 - switch(mes){
case 1||3||5||6||8||10||12: cout << "mes de 31 dias\n" ;
break;
case 4||6||9||11: cout << "mes de 30 dias\n" ;
break;
case 2: cout << "28 ou 29 dias\n" ;
break;
}

ou

 4 - if(mes == 2)

cout << "28 ou 29 dias\n" ;
if (mes == 4 && mes == 6 && mes == 9 && mes = 11)
cout << "mes de 30 dias\n" ;
else
cout << "mes de 31 dias\n";

💡 6 Respostas

User badge image

Felipe Magalhães

É melhor fazer com um comando de decisão composto e aninhado. Com o switch seriam feitos muitos testes e haveria a redundância de dados. Para fazer com um if/else você primeiro define quais os meses com 28/29, 30, 31 dias.

#include<iostream>
using namespace std;
int main(){
int mes;
// ENTRADA DO MES
cout<<"\n\tMES: ";
cin>>mes;
// MECANISMO DE VALIDACAO
while(mes < 1 || mes > 12){
cout<<"\n\tMES INVALIDO!\n\n\t";
cout<<"\n\tMES: ";
cin>>mes;
}
// EXIBIÇÃO DA INFORMAÇÃO
if(mes == 2){
cout<<"\n\t28 ou 29 dias\n\n";
}
// Agrupar todos os meses com 30 dias
else if(mes == 4 || mes == 6 || mes == 9 || mes == 11){
cout<<"\n\t30 dias\n\n";
}
// Todos os outros que passaram na validacao e não estão entre 28/29 ou 30 são automaticamente 31 dias.
else{
cout<<"\n\t31 dias\n\n";
}
system("pause");
}

5
Dislike0
User badge image

Sara Lacerda

Vou rever aqui e te ajudo

3
Dislike0
User badge image

Ivo Tabajara de Souza Paiva

Na minha opinião a opção correta é a primeira, pois contempla os meses que tem 30 dias porque está utilizando o "(||) --> OU" e não "(&&) --> E"

3
Dislike0

✏️ Responder

SetasNegritoItálicoSublinhadoTachadoCitaçãoCódigoLista numeradaLista com marcadoresSubscritoSobrescritoDiminuir recuoAumentar recuoCor da fonteCor de fundoAlinhamentoLimparInserir linkImagemFórmula

Para escrever sua resposta aqui, entre ou crie uma conta

User badge image

Outros materiais