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 - 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 - Alterar aluno");
Console.WriteLine("6 - Excluir aluno");
Console.WriteLine("7 - Voltar ao menu anterior.\n");
Console.WriteLine("Por favor, informe a opção desejada: ");
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);
private static void AlunoReprovado ()
Console.WriteLine("Lista de alunos aprovados\n");
for (int i = 0; i < listaAlunos.Count; i++)
Aluno aluno = listaAlunos[i];
aluno.NotaPrimeiroTrimestre +
aluno.NotaSegundoTrimestre +
aluno.NotaTerceiroTrimestre;
Console.WriteLine(aluno.Nome + " - Média: " + totalNotas);
private static void AlunosAprovados ()
Console.WriteLine("Lista de alunos aprovados\n");
for (int i = 0; i < listaAlunos.Count; i++)
Aluno aluno = listaAlunos[i];
aluno.NotaPrimeiroTrimestre +
aluno.NotaSegundoTrimestre +
aluno.NotaTerceiroTrimestre;
Console.WriteLine(aluno.Nome + " - Média: " + totalNotas);
private static void AlterarNotas()
Console.WriteLine("1- Alterar Nota Primeiro Trimestre");
Console.WriteLine("2- Alterar Nota Segundo Trimestre");
Console.WriteLine("3- Alterar Nota Terceiro Trimestre");
Console.WriteLine("Informar qual nota deseja alterar");
string opcao = Console.ReadLine();
InformarNotaPrimeiroTrimestre();
InformarNotaSegundoTrimestre();
InformarNotaTerceiroTrimestre();
Console.WriteLine("opção imválida");
private static void ExcluirAluno()
Console.WriteLine("Informe o numero do aluno que deseja ser excluido");
int indiceAluno = Convert.ToInt32(Console.ReadLine());
listaAlunos.RemoveAt(indiceAluno);
Console.WriteLine("Aluno removido com sucesso");
public double NotaPrimeiroTrimestre;
public double NotaSegundoTrimestre;
public double NotaTerceiroTrimestre;