using System.Collections.Generic;
static List<Aluno> listaAlunos = new List<Aluno>();
public static void Main()
bool exibirMenuPrincipal = true;
while (exibirMenuPrincipal)
int opcao = Convert.ToInt16(Console.ReadLine());
exibirMenuPrincipal = false;
Console.WriteLine("O programa foi encerrado.");
Console.WriteLine("Opção inválida\n");
private static void ExibirMenuPrincipal()
Console.WriteLine("Menu Principal\n");
Console.WriteLine("1 - Menu de Alunos");
Console.WriteLine("2 - Exibir alunos aprovados");
Console.WriteLine("3 - Exibir alunos em recuperação");
Console.WriteLine("4 - Alterar Alunos");
Console.WriteLine("5 - Excluir Alunos");
Console.WriteLine("6 - Sair do sistema\n");
Console.WriteLine("Por favor, informe a opção desejada: ");
private static void ExibirMenuAlunos()
Console.WriteLine("Menu Alunos\n");
Console.WriteLine("1 - Cadastrar Aluno");
Console.WriteLine("2 - Informar nota 1° trimestre");
Console.WriteLine("3 - Informar nota 2° trimestre");
Console.WriteLine("4 - Informar nota 3° trimestre");
Console.WriteLine("5 - Voltar ao menu anterior.\n");
Console.WriteLine("Por favor, informe a opção desejada: ");
private static void AlterarAlunos()
Console.WriteLine("Opções de alterações: ");
Console.WriteLine("1 - Alterar nota 1° trimestre");
Console.WriteLine("2 - Alterar nota 2° trimestre");
Console.WriteLine("3 - Alterar nota 3° trimestre");
string opcao = Console.ReadLine();
InformarNotaPrimeiroTrimestre();
InformarNotaSegundoTrimestre();
InformarNotaTerceiroTrimestre();
Console.WriteLine("Opção inválida");
private static void MenuAluno()
bool voltarMenuAnterior = false;
while(voltarMenuAnterior != true)
int opcao = Convert.ToInt16(Console.ReadLine());
InformarNotaPrimeiroTrimestre();
InformarNotaSegundoTrimestre();
InformarNotaTerceiroTrimestre();
voltarMenuAnterior = true;
Console.WriteLine("Opção inválida\n");
private static void CadastrarAluno()
Console.WriteLine("Informe o nome do aluno: ");
Aluno aluno = new Aluno();
aluno.Nome = Console.ReadLine();
Console.WriteLine("Aluno Cadastrado\n");
private static void ExibirListaAlunos()
Console.WriteLine("\nLista de Alunos\n");
for (int i = 0; i < listaAlunos.Count; i++)
Aluno aluno = listaAlunos[i];
Console.WriteLine(Convert.ToString(i) + " - " + aluno.Nome);
private static void InformarNotaPrimeiroTrimestre()
Console.WriteLine("Selecione o número do aluno: ");
int numeroAluno = Convert.ToInt16(Console.ReadLine());
if(ValidarSeAlunoExiste(numeroAluno))
Console.WriteLine("Informe a nota do primeiro trimestre: ");
double nota = Convert.ToDouble(Console.ReadLine());
Aluno aluno = listaAlunos[numeroAluno];
aluno.NotaPrimeiroTrimestre = nota;
Console.WriteLine("Nota cadastrada para o aluno "+ aluno.Nome + "\n");
Console.WriteLine("O aluno informado não existe");
InformarNotaPrimeiroTrimestre();
Console.WriteLine("Não existem alunos cadastrados");
private static void InformarNotaSegundoTrimestre()
Console.WriteLine("Selecione o número do aluno: ");
int numeroAluno = Convert.ToInt16(Console.ReadLine());
if(ValidarSeAlunoExiste(numeroAluno))
Console.WriteLine("Informe a nota do segundo trimestre: ");
double nota = Convert.ToDouble(Console.ReadLine());
Aluno aluno = listaAlunos[numeroAluno];
aluno.NotaSegundoTrimestre = nota;
Console.WriteLine("Nota cadastrada para o aluno "+ aluno.Nome + "\n");
Console.WriteLine("O aluno informado não existe!!");
InformarNotaSegundoTrimestre();
Console.WriteLine("Não existem alunos cadastrados!!!!");
private static void InformarNotaTerceiroTrimestre()
Console.WriteLine("Selecione o número do aluno: ");
int numeroAluno = Convert.ToInt16(Console.ReadLine());
if(ValidarSeAlunoExiste(numeroAluno))
Console.WriteLine("Informe a nota do terceiro trimestre: ");
double nota = Convert.ToDouble(Console.ReadLine());
Aluno aluno = listaAlunos[numeroAluno];
aluno.NotaTerceiroTrimestre = nota;
Console.WriteLine("Nota cadastrada para o aluno "+ aluno.Nome + "\n");
Console.WriteLine("O aluno informado não existe");
InformarNotaTerceiroTrimestre();
Console.WriteLine("Não existem alunos cadastrados");
private static bool ValidarLista()
return listaAlunos.Count > 0;
private static bool ValidarSeAlunoExiste(int indiceAluno)
return listaAlunos.Count >= (indiceAluno + 1);
public static void ListaAlunosAprovados()
Console.WriteLine("Lista alunos aprovados: ");
for (int i=0; i < listaAlunos.Count; i++)
Aluno aluno=listaAlunos[i];
aluno.NotaPrimeiroTrimestre+
aluno.NotaSegundoTrimestre+
aluno.NotaTerceiroTrimestre;
Console.WriteLine(aluno.Nome+'\n');
public static void ListaAlunosReprovados()
Console.WriteLine("Lista alunos reprovados: ");
for (int i=0; i < listaAlunos.Count; i++)
Aluno aluno=listaAlunos[i];
aluno.NotaPrimeiroTrimestre+
aluno.NotaSegundoTrimestre+
aluno.NotaTerceiroTrimestre;
Console.WriteLine(aluno.Nome+'\n');
private static void ExcluirAlunos()
Console.WriteLine("Selecione o número do aluno: ");
int numeroAluno = Convert.ToInt16(Console.ReadLine());
listaAlunos.RemoveAt(numeroAluno);
Console.WriteLine("Aluno removido com sucesso!");
public double NotaPrimeiroTrimestre;
public double NotaSegundoTrimestre;
public double NotaTerceiroTrimestre;