static void Main(string[] args) { //variabila de tip interfata 'IStocareData' care este initializata //cu o instanta a clasei 'AdministrareStudenti_FisierText' sau o instanta a clasei 'AdministrareStudenti_FisierBinar' in functie de setarea 'FormatSalvare' din fisierul AppConfig IStocareData adminStudenti = StocareFactory.GetAdministratorStocare(); string optiune; do { Console.WriteLine("L. Listare studenti"); Console.WriteLine("A. Adaugare student"); Console.WriteLine("C. Cauta student"); Console.WriteLine("X. Inchidere program"); Console.WriteLine("Alegeti o optiune"); optiune = Console.ReadLine(); Console.Clear(); switch (optiune.ToUpper()) { case "L": int nrStudenti; Student[] studenti = adminStudenti.GetStudenti(out nrStudenti); if (nrStudenti > 0) { Student.IdUltimStudent = studenti[nrStudenti - 1].IdStudent; } AfisareStudenti(studenti, nrStudenti); break; case "A": Student stud_tastatura = CitireStudentTastatura(); //adaugare student in fisier adminStudenti.AddStudent(stud_tastatura); break; case "C": Console.WriteLine("Introduceti nume persoana cautata:"); string Nume_temporar = Console.ReadLine(); Console.WriteLine("Introduceti prenume persoana cautata:"); string Prenume_temporar = Console.ReadLine(); Student stud_cautat = adminStudenti.GetStudent(Nume_temporar, Prenume_temporar); if (stud_cautat != null) { Console.WriteLine("Studentul cautat este: {0}", stud_cautat.ConversieLaSir()); } break; default: Console.WriteLine("Optiune inexistenta"); break; } } while (optiune.ToUpper() != "X"); Console.ReadKey(); }
static void Main(string[] args) { Persoana[] persoane; IStocareData adminPersoane = StocareFactory.GetAdministratorStocare(); int nrPersoane; persoane = adminPersoane.GetPersoane(out nrPersoane); Persoana.IdUltimPersoana = nrPersoane; int i; Console.WriteLine("A. Adaugare persoane in agenda\n" + "P. Afiseaza agenda\n" + "C. Citirea unei persoane de la tastatura\n" + "F. Cautare persoane\n" + "N. Compararea a doua persoane dupa nume si afisarea alfabetic\n" + "E. Afisarea grupului din care face parte persoana\n" + "L. Citirea din linia de comanda si afisarea sub forma de matrice alfabetica"); string optiune; bool ok = true; do { Console.WriteLine("\nAlegeti o optiune: "); optiune = Console.ReadLine(); switch (optiune.ToUpper()) { case "A": persoane[nrPersoane] = new Persoana("Gumina", "Sebastian", "0751702564", "*****@*****.**", Groups.Family); adminPersoane.AddPersoane(persoane[nrPersoane]); nrPersoane++; persoane[nrPersoane] = new Persoana("Marginean", "Maria", "0742765664", "*****@*****.**", Groups.TennisTeam); adminPersoane.AddPersoane(persoane[nrPersoane]); nrPersoane++; break; case "P": AfisarePersoana(persoane, nrPersoane); break; case "C": persoane[nrPersoane] = CitirePersoanaTastatura(); adminPersoane.AddPersoane(persoane[nrPersoane]); nrPersoane++; break; case "F": Console.WriteLine("Introduceti nume persoana cautata:"); string nume_temporar = Console.ReadLine(); Console.WriteLine("Introduceti prenume persoana cautata:"); string prenume_temporar = Console.ReadLine(); Persoana pers_cautat = adminPersoane.GetPersoana(nume_temporar, prenume_temporar); if (pers_cautat != null) { Console.WriteLine("Persoana cautata este: {0}", pers_cautat.ConversieLaSir()); } break; case "N": int compare = persoane[0].NameCompare(persoane[1]); if (compare == 1) { Console.WriteLine("{1}\n{0}", persoane[0].nume, persoane[1].nume); } else if (compare == -1) { Console.WriteLine("{0}\n{1}", persoane[0].nume, persoane[1].nume); } else { Console.WriteLine("Numele este identic {0}", persoane[0].nume); } break; case "E": for (i = 0; i < nrPersoane; i++) { Console.WriteLine("Persoana {0}", persoane[i].PrintGroup()); } break; case "L": string[,] matLiniaComanda = new string[26, 26]; int[] aparitii = new int[26]; for (int k = 0; k <= 25; k++) { aparitii[k] = 0; } if (args.Length == 0) { Console.WriteLine("Linia de comanda nu contine argumente"); } else { Console.WriteLine("Linia de comanda contine :"); foreach (string param in args) { string sir = param; string[] cuvinte = sir.Split(' '); foreach (string val in cuvinte) { if (val[0] >= 'a' && val[0] <= 'z') { i = (int)val[0] - 'a'; matLiniaComanda[i, aparitii[i]] = val; aparitii[i]++; } else if (val[0] >= 'A' && val[0] <= 'Z') { i = (int)val[0] - 'A'; matLiniaComanda[i, aparitii[i]] = val; aparitii[i]++; } } bool success; for (int row = 0; row <= 25; row++) { success = false; for (int col = 0; col < aparitii[row]; col++) { Console.Write(matLiniaComanda[row, col] + " "); success = true; } if (success) { Console.WriteLine(); } } } } break; case "X": ok = false; break; default: Console.WriteLine("Optiune invalida"); break; } } while (ok == true); Console.ReadKey(); }