示例#1
0
        static void Main(string[] args)
        {
            Aluno[] alunos      = new Aluno[5];
            int     indiceAluno = 0;


            String opcaoUsuario;

            opcaoUsuario = ObterOpcaoUsuario();

            while (opcaoUsuario.ToUpper() != "X")
            {
                Console.WriteLine();
                switch (opcaoUsuario)
                {
                case "1":
                    Console.WriteLine("Informe o nome do aluno: ");
                    Aluno aluno = new Aluno();
                    aluno.Nome = Console.ReadLine();
                    Console.WriteLine();

                    Console.WriteLine("Informe a nota do aluno");


                    if (Decimal.TryParse(Console.ReadLine(), out decimal nota))
                    {
                        aluno.Nota = nota;
                    }
                    else
                    {
                        throw new ArgumentException("Valor da nota deve ser decimal");
                    }

                    alunos[indiceAluno] = aluno;
                    indiceAluno++;

                    break;

                case "2":

                    Console.WriteLine("");
                    Console.WriteLine("Alunos");
                    Console.WriteLine("");

                    foreach (var a in alunos)
                    {
                        if (!string.IsNullOrEmpty(a.Nome))
                        {
                            Console.WriteLine($"Aluno: {a.Nome} \t Nota: {a.Nota}");
                        }
                    }

                    Console.WriteLine("");
                    Console.WriteLine("Pressione qualquer tecla para continuar...");
                    Console.ReadLine();

                    break;

                case "3":
                    decimal NotaTotal  = 0;
                    var     QtdeAlunos = 0;

                    for (int i = 0; i < alunos.Length; i++)
                    {
                        if (!string.IsNullOrEmpty(alunos[i].Nome))
                        {
                            NotaTotal += alunos[i].Nota;
                            QtdeAlunos++;
                        }
                    }

                    if (QtdeAlunos != 0)
                    {
                        var          Media         = NotaTotal / QtdeAlunos;
                        ConceitoEnum conceitoGeral = ConceitoEnum.E;
                        Console.WriteLine();


                        if (Media < 3)
                        {
                            conceitoGeral = ConceitoEnum.E;
                        }
                        else if (Media >= 3 && Media < 6)
                        {
                            conceitoGeral = ConceitoEnum.D;
                        }
                        else if (Media >= 5 && Media < 8)
                        {
                            conceitoGeral = ConceitoEnum.C;
                        }
                        else if (Media >= 8 && Media < 10)
                        {
                            conceitoGeral = ConceitoEnum.B;
                        }
                        else if (Media == 10)
                        {
                            conceitoGeral = ConceitoEnum.A;
                        }

                        Console.WriteLine($"Media total dos alunos: {Media.ToString("N1")} \t Conceito: {conceitoGeral}");

                        Console.WriteLine();
                        Console.WriteLine("Pressione qualquer tecla para continuar...");
                        Console.ReadLine();
                    }
                    else
                    {
                        Console.WriteLine();
                        Console.WriteLine("Não há alunos cadastrados.");
                        Console.WriteLine();
                        Console.WriteLine("Pressione qualquer tecla para continuar...");
                        Console.ReadLine();
                    }


                    break;

                default:
                    throw new ArgumentOutOfRangeException();
                }
                opcaoUsuario = ObterOpcaoUsuario();
            }
        }
        static void Main(string[] args)
        {
            string opcao;

            Aluno[] alunos = new Aluno[5];
            int     indice = 0;

            do
            {
                ShowMenu();

                opcao = Console.ReadLine();


                switch (opcao)
                {
                case "1":

                    Console.Clear();

                    var aluno = new Aluno();

                    Console.Write("Informe o nome do aluno: ");
                    aluno.Nome = Console.ReadLine();

                    Console.Write("Informe a nota do aluno: ");
                    if (decimal.TryParse(Console.ReadLine(), out decimal nota))
                    {
                        aluno.Nota = nota;
                    }
                    else
                    {
                        throw new ArgumentException("O valor da nota deve ser numérico.");
                    }


                    alunos[indice] = aluno;
                    indice++;


                    break;

                case "2":

                    Console.Clear();
                    foreach (var alun in alunos)
                    {
                        if (!string.IsNullOrEmpty(alun.Nome))
                        {
                            Console.WriteLine("\nNome: " + alun.Nome + " / Nota: " + alun.Nota);
                        }
                    }
                    Console.WriteLine("\n Pressione Enter para continuar.");
                    Console.ReadLine();

                    break;

                case "3":

                    decimal notaTotal    = 0;
                    var     numeroAlunos = 0;

                    Console.Clear();

                    for (int i = 0; i < alunos.Length; i++)
                    {
                        if (!string.IsNullOrEmpty(alunos[i].Nome))
                        {
                            notaTotal += alunos[i].Nota;
                            numeroAlunos++;
                        }
                    }

                    var mediaGeral = (notaTotal / numeroAlunos);

                    ConceitoEnum conceitoGeral = 0;

                    if (mediaGeral <= 2)
                    {
                        conceitoGeral = ConceitoEnum.E;
                    }
                    else if (mediaGeral > 2 && mediaGeral <= 4)
                    {
                        conceitoGeral = ConceitoEnum.D;
                    }
                    else if (mediaGeral > 4 && mediaGeral <= 6)
                    {
                        conceitoGeral = ConceitoEnum.C;
                    }
                    else if (mediaGeral > 6 && mediaGeral <= 8)
                    {
                        conceitoGeral = ConceitoEnum.B;
                    }
                    else if (mediaGeral > 8)
                    {
                        conceitoGeral = ConceitoEnum.A;
                    }



                    Console.Write($"A média geral dos alunos é de : {mediaGeral}");
                    Console.Write($"\nConceito geral: {conceitoGeral}");

                    Console.WriteLine("\n Pressione Enter para continuar.");
                    Console.ReadLine();

                    break;

                case "X" or "x":
                    Console.Clear();
                    Console.Write("Finalizando programa.");
                    break;

                default:
                    throw new ArgumentOutOfRangeException("Valor informado além do esperado!");
                }
            } while (opcao.ToUpper() != "X");
        }