Jump to content
Hmonte

ciclos do/while/switch/case...

Recommended Posts

Hmonte

Boas com a ajuda do prof meti-me numa alhada de loop.

Ele sugeriu um While de validação e agora entra num ciclo loop infinito. Alguem me pode sugeiri nem que tenha de acrescentar outro case que indique um maneira de voltar ao menu inicial ou ao static void Menu???

static void ConsultarA(ArrayList dados)
        {
            Console.Clear();
            while (true)
            {
                string curso;
                do
                {
                    Console.Write("Que Curso pretende Listar? \n 1 - Licenciatura(1ºCiclo) \n 2 - Mestrado(2ºCiclo) \n 3 - Doutoramento(3ºCiclo) \n 4 - Pós-Graduação \n 5 - MBA \n 6 - Formação \n(ENTER para listar)");
                    curso = Console.ReadLine();
                } while (curso != "1" && curso != "2" && curso != "3" && curso != "4" && curso != "5" && curso != "6");
                switch (curso)
                {
                    case "1": curso = ("Licenciatura(1ºCiclo)"); break;
                    case "2": curso = ("Mestrado(2ºCiclo)"); break;
                    case "3": curso = ("Doutoramento(3ºCiclo)"); break;
                    case "4": curso = ("Pós-Graduação"); break;
                    case "5": curso = ("MBA"); break;
                    case "6": curso = ("Formação"); break;
                     
                }
                if (curso.Length == 0) break;
                foreach (Aluno a in dados)
                {
                    if (a.Curso == curso)
                    {
                        a.Display();

                    }
                }
            }
        }

Menu:

class MainProgram : Uutilizador
    {
        static void Main()
        {
            ArrayList dados = new ArrayList();
            
            Menu(dados);
        }
       
        static void Menu(ArrayList dados)
        {

Será que alguem me pode sugerir uma validação diferente " } while (curso != "1" && curso != "2" && curso != "3" && curso != "4" && curso != "5" && curso != "6");

"

Que não entre num loop

Share this post


Link to post
Share on other sites
Hmonte

Consegui fazer uma estrutura IF de (Strins)... no entanto não contempla o ENTER... Dando a mensagem de inválido antes de sair para o Menu...

if (curso != "1" && curso != "2" && curso != "3" && curso != "4" && curso != "5" && curso != "6")

                        Console.WriteLine("Valores Inválidos");

                    else

Share this post


Link to post
Share on other sites
vesteves

Caro Hmonte, se está a usar um menu, porque não apresentar como opção do mesmo um "Sair"?

Já agora, o uso de um ArrayList tem alguma justificação especial? Pergunto isto porque, se usar algo como uma List<T>, por exemplo, facilitaria consideravelmente o seu trabalho de pesquisa sobre a mesma, pois poderia usar LINQ para isso.

Cumprimentos,

Virgílio

Share this post


Link to post
Share on other sites
Hmonte

:thumbsup:Utilizei o ArrayList, somente porque foi dado nesta primeira fase da matéria... So agora vou aprender List<T>, Possivelmente na segunda fase do projecto tentarei corrigir.

Obrigado

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.