Risipa de key_press | Programare

Programare .Net | Tehnici de programare | Tutoriale | Lectii si exemple

Risipa de key_press | Programare - Programare .Net | Tehnici de programare | Tutoriale | Lectii si exemple

Un meniu intr-o aplicatie consola

Aplicatiile in modul consola sunt din ce in ce mai putine, insa inca exista si de multe ori sunt preferate celor care ruleaza in fereatra windows (winform). Exemple de aplicatii care sunt inca in format consola ar fi: ping, ipconfig etc; acestea sunt, in general, aplicatii de configurare a unui serviciu sau de obtinere a anumitor informatii de la system. Insa pot fi gasite si alte exemple.

In articolul de astazi voi exemplifica crearea unei aplicatii de tip consola, care va afisa un meniu (text) si in functie de alegerea facuta de user, va executa o anumita operatie.

Menuil pe care vreau sa il afisez este urmatorul:

     1. New
     2. Save
     3. Load
     0. Exit

In functie de alegerea facuta, aplicatia va executa ceva(in cazul dat, fiindca e vorba numai de un exemplu, va afisa un mesaj).
Pentru asta am scris o metoda care se ocupa cu afisarea meniului si obtinerea alegerii userului. Aceasta metoda arata asa:

        public static int ShowMenu()
        {
            int userChose_int = 0;
            bool ok;
            do
            {
                Console.WriteLine("1. New");
                Console.WriteLine("2. Save");
                Console.WriteLine("3. Load");
                Console.WriteLine("0. Exit");
                Console.Write("Your wish: ");
                string userChose = Console.ReadLine();
                ok = int.TryParse(userChose, out userChose_int);
                if(!ok)
                    Console.WriteLine("Invalid option");
            }
            while (!ok);
            return userChose_int;
        }

Daca userul nu introduce un string care poate fi convertit la int, meniul este reafisat. Procesul se reia pana ce stringul obtinut de la user este un numar.

In metoda Main() voi folosi metoda ShowMenu() intr-un block do…while. Metoda Main este urmatoarea:

        static void Main(string[] args)
        {
            bool go = true;
            do
            {
                int userChoice = ShowMenu();
                switch (userChoice)
                {
                    case 1:
                        Console.WriteLine("New");
                        break;
                    case 2:
                        Console.WriteLine("Save....");
                        break;
                    case 3:
                        Console.WriteLine("Loading....");
                        break;
                    case 0:
                        go = false;
                        Console.WriteLine("Exiting");
                        break;
                    default:
                        Console.WriteLine("Invalid option");
                        break;
                }

            }
            while (go);

            Console.WriteLine("Press Enter to exit...");
            Console.ReadLine();
        }

Aplicatia se termina atunci cand userul introduce 0.

Ce vrea sa demonstreze acest exemplu? Poate fi considerat un exemplu de folosire pentru blocul repetitiv do…while prezentat anterior.

Category: Uncategorized
  • Jean Valjean says:

    Foarte util exemplul, aparent simplu dar cand ai nevoie iti ia ceva timp.

    July 30, 2010 at 3:53 pm

Your email address will not be published. Required fields are marked *

*