none
Ajuda estrutura condicionais RRS feed

  • Pergunta

  • Preciso de ajuda em um exercício onde tenho que declarar três variáveis que recebam números e mostrar qual deles é maior e qual é o menor.

    Resolvi da seguinte maneira

     double a, b, c, maior, menor;
                Console.WriteLine("Digite o  1° valor:");
                a = double.Parse(Console.ReadLine());
                Console.WriteLine("Digite o  2° valor:");
                b = double.Parse(Console.ReadLine());
                Console.WriteLine("Digite o  3° valor:");
                c = double.Parse(Console.ReadLine());
    
                maior = Math.Max(Math.Max(a, b), c);
                menor = Math.Min(Math.Min(a, b), c);
    
                Console.WriteLine("O maior valor digitado: " + maior);
                Console.WriteLine("O menor valor digitado: " + menor);
    O problema é que relendo a descrição do exercício percebi que devo usar obrigatoriamente estrutura condicional, também n posso utilizar vetores. Preciso de ajuda para montar a estrutura if/else de maneira mais simples pois tentei e acabei me perdendo nas quantidades de possibilidades.

    quarta-feira, 14 de fevereiro de 2018 22:00

Respostas

  • Prezado Andy

    Gostei do exercício.

    Se te ajudou, por gentileza, marque como resposta/útil.

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    
    namespace ConsoleApplication1
    {
        class Program
        {
            static void Main(string[] args)
            {
                double a, b, c, maior, menor;
                valor_1:
                Console.WriteLine("Digite o  1° valor:");
                if (!double.TryParse(Console.ReadLine(), out a)) goto valor_1;
                valor_2:
                Console.WriteLine("Digite o  2° valor:");
                if (!double.TryParse(Console.ReadLine(), out b)) goto valor_2;
                valor_3:
                Console.WriteLine("Digite o  3° valor:");
                if (!double.TryParse(Console.ReadLine(), out c)) goto valor_3;
    
                if (a == b && a == c) Console.WriteLine("Os três valores digitados são iguais.");
                else
                {
                    if (a == b)
                    {
                        if (a > c)
                        {
                            maior = a;
                            menor = c;
                        }
                        else
                        {
                            maior = c;
                            menor = a;
                        }
                    }
                    else
                        if (a == c)
                        {
                            if (a > b)
                            {
                                maior = a;
                                menor = b;
                            }
                            else
                            {
                                maior = b;
                                menor = a;
                            }
                        }
                        else
                            if (b == c)
                            {
                                if (c > a)
                                {
                                    maior = c;
                                    menor = a;
                                }
                                else
                                {
                                    maior = a;
                                    menor = c;
                                }
                            }
                            else
                            {
                                if (a > b && a > c)
                                {
                                    maior = a;
                                }
                                else
                                    if (b > a && b > c)
                                    {
                                        maior = b;
                                    }
                                    else
                                    {
                                        maior = c;
                                    }
                                if (a < b && a < c)
                                {
                                    menor = a;
                                }
                                else
                                    if (b < a && b < c)
                                    {
                                        menor = b;
                                    }
                                    else
                                    {
                                        menor = c;
                                    }
                            }
                    Console.WriteLine("O maior valor digitado é: " + maior);
                    Console.WriteLine("O menor valor digitado é : " + menor);
                }
                Console.WriteLine();
                goto valor_1;
            }
        }
    }
    


    MARIANO1776

    • Marcado como Resposta Andy's ON quinta-feira, 15 de fevereiro de 2018 01:06
    quarta-feira, 14 de fevereiro de 2018 23:55

Todas as Respostas

  • Olá, veja se este código te ajuda.

    double a = 0;
    double b = 0;
    double c = 0;
    double maior = 0;
    double menor = 0;
    
    Console.WriteLine("Digite o  1° valor:");
    a = double.Parse(Console.ReadLine());
    Console.WriteLine("Digite o  2° valor:");
    b = double.Parse(Console.ReadLine());
    Console.WriteLine("Digite o  3° valor:");
    c = double.Parse(Console.ReadLine());
    
    //PARA O MAIOR VALOR
    if (a > b && a > c) { maior = a; }
    else if (b > a && b > c) { maior = b; }
    else if (c > a && c > b) { maior = c; }
    
    //PARA O MENOR VALOR
    if (a < b && a < c) { menor = a; }
    else if (b < a && b < c) { menor = b; }
    else if (c < a && c < b) { menor = c; }
    
    Console.WriteLine("O maior valor digitado: " + maior);
    Console.WriteLine("O menor valor digitado: " + menor);
    Console.ReadLine();
    ABS!


    Leandro de Agostini MCTS - Web Application, Framework 4

    quarta-feira, 14 de fevereiro de 2018 22:32
  • Obgd pela ajuda mas ainda falta algumas possibilidades como por exemplo se forem digitados números iguais... mas de qualquer forma vou modificar seu código e creio que vai dar certo. 
    quarta-feira, 14 de fevereiro de 2018 22:42
  • Prezado Andy

    Gostei do exercício.

    Se te ajudou, por gentileza, marque como resposta/útil.

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    
    namespace ConsoleApplication1
    {
        class Program
        {
            static void Main(string[] args)
            {
                double a, b, c, maior, menor;
                valor_1:
                Console.WriteLine("Digite o  1° valor:");
                if (!double.TryParse(Console.ReadLine(), out a)) goto valor_1;
                valor_2:
                Console.WriteLine("Digite o  2° valor:");
                if (!double.TryParse(Console.ReadLine(), out b)) goto valor_2;
                valor_3:
                Console.WriteLine("Digite o  3° valor:");
                if (!double.TryParse(Console.ReadLine(), out c)) goto valor_3;
    
                if (a == b && a == c) Console.WriteLine("Os três valores digitados são iguais.");
                else
                {
                    if (a == b)
                    {
                        if (a > c)
                        {
                            maior = a;
                            menor = c;
                        }
                        else
                        {
                            maior = c;
                            menor = a;
                        }
                    }
                    else
                        if (a == c)
                        {
                            if (a > b)
                            {
                                maior = a;
                                menor = b;
                            }
                            else
                            {
                                maior = b;
                                menor = a;
                            }
                        }
                        else
                            if (b == c)
                            {
                                if (c > a)
                                {
                                    maior = c;
                                    menor = a;
                                }
                                else
                                {
                                    maior = a;
                                    menor = c;
                                }
                            }
                            else
                            {
                                if (a > b && a > c)
                                {
                                    maior = a;
                                }
                                else
                                    if (b > a && b > c)
                                    {
                                        maior = b;
                                    }
                                    else
                                    {
                                        maior = c;
                                    }
                                if (a < b && a < c)
                                {
                                    menor = a;
                                }
                                else
                                    if (b < a && b < c)
                                    {
                                        menor = b;
                                    }
                                    else
                                    {
                                        menor = c;
                                    }
                            }
                    Console.WriteLine("O maior valor digitado é: " + maior);
                    Console.WriteLine("O menor valor digitado é : " + menor);
                }
                Console.WriteLine();
                goto valor_1;
            }
        }
    }
    


    MARIANO1776

    • Marcado como Resposta Andy's ON quinta-feira, 15 de fevereiro de 2018 01:06
    quarta-feira, 14 de fevereiro de 2018 23:55