Fórum Meu Do/While funciona, porém, é o ideal? #607747
26/01/2020
0
Estou tentando aplicar uma repetição utilizando o WHILE utilizando também da condição IF, que retorna uma mensagem para o usuário caso o mesmo digite um valor inválido. Apesar de estar funcionando, eu gostaria de saber se essa é a maneira mais adequada e se existe uma forma mais prática de se resolver situações como essa. Obrigado desde já!!!
string dia;
string mes;
do
{
Console.WriteLine("Em que dia você nasceu?");
dia = Console.ReadLine();
if (Convert.ToInt32(dia) > 31)
{
Console.WriteLine("Digite dia válido");
}
}
while (Convert.ToInt32(dia) > 31);
{
//repare que aqui eu não escrevo nada
}
do
{
Console.WriteLine("Em que mês você nasceu?");
mes = Console.ReadLine();
if (Convert.ToInt32(mes) > 12)
{
Console.WriteLine("Digite mês válido");
}
}
while (Convert.ToInt32(mes) > 12);
{
//repare que aqui eu não escrevo nada
}
Gerson Bueno
Curtir tópico
+ 0Post mais votado
27/01/2020
Mauricio Espido
Gostei + 1
Mais Posts
27/01/2020
Gerson Bueno
Obrigado por ajudar! Entendo que ainda falta tratar esse problema dentro de uma repetição, vou trabalhar nisso também. Mas em relação a construção da estrutura DO/WHILE, você sabe se está de acordo com as boas práticas? O fato de eu não ter colocado nada dentro do WHILE me deixa ressabiado, parece que tá errado de alguma forma, mesmo que esteja funcionando.
Gostei + 0
27/01/2020
Mauricio Espido
do
{
Console.WriteLine("Em que dia você nasceu?");
if (Convert.ToInt32(Console.ReadLine()) > 31)
{
Console.WriteLine("Digite dia válido");
}
} while (Convert.ToInt32(Console.ReadLine()) > 31)
do
{
Console.WriteLine("Em que mês você nasceu?");
if (Convert.ToInt32(Console.ReadLine()) > 12)
{
Console.WriteLine("Digite mês válido");
}
}while (Convert.ToInt32(Console.ReadLine()) > 12)Gostei + 1
Clique aqui para fazer login e interagir na Comunidade :)