static void Main(string[] args) { Aluno[] alunos = new Aluno[100]; Sala[] salas = new Sala[10]; int alunosCadastrados = 0; int salasCadastradas = 0; bool querSair = true; //List<Aluno> alunosMatriculados = new List<Aluno>(); //List<Sala> salasExistentes = new List<Sala>(); string fileName = "ListaAlunosSalas.csv"; string FilePath = ".\\" + fileName; string fileName2 = "ListaSalas.csv"; string FilePath2 = ".\\" + fileName2; //AlunosMatriculados = InitList (FilePath, alunos); //PROBLEMA RESOLVIDO: Se o aluno não for alocado, erro de execução, pois numSala recebe string convertida para int, tenta ler string e não funciona. //Lista de Alunos: try { string[] lista = File.ReadAllLines(@FilePath); int count = 0; foreach (string linha in lista) { string[] itens = linha.Split(","); string nome = itens[0].Replace("\"", ""); int numSala = Convert.ToInt32(itens[1].Replace("\"", "")); DateTime data = DateTime.Parse(itens[2].Replace("\"", "")); alunos[count] = new Aluno(nome, data); alunos[count].AlunoNumSala(numSala); //alunosMatriculados.Add(alunos[count]); count++; alunosCadastrados++; } } catch (IOException erro) { System.Console.WriteLine("Erro ao acessar arquivo."); System.Console.WriteLine(erro.Message); } //Lista de Salas: try { string[] lista = File.ReadAllLines(@FilePath2); int count = 0; foreach (string linha in lista) { string[] itens = linha.Split(","); int numSala = Convert.ToInt32(itens[0].Replace("\"", "")); int capacidade = Convert.ToInt32(itens[1].Replace("\"", "")); salas[count] = new Sala(numSala, capacidade); string listaAlunosConcat = itens[2].Replace("\"", ""); //PROBLEMA RESOLVIDO: alunosCount incrementava a cada item da listaAlunos, fazendo com que o próximo aluno da sala fosse alocado na sala seguinte consecutivamente. if (listaAlunosConcat != "Sala vazia.") { string[] listaAlunos = listaAlunosConcat.Split(" "); //int alunosCount = 0; foreach (string item in listaAlunos) { if (item != "") { item.Replace(" ", ""); if (salas[count] != null) { salas[count].AlocarAluno(item); //sala[alunosCount].AlocarAluno(item); } } //alunosCount++; } } int qtdAlunos = Convert.ToInt32(itens[3].Replace("\"", "")); count++; salasCadastradas++; } } catch (IOException erro) { System.Console.WriteLine("Erro ao acessar arquivo."); System.Console.WriteLine(erro.Message); } do { Console.Clear(); System.Console.WriteLine("|__Sistema de cadastro de alunos Senaizinho__|"); System.Console.WriteLine("Digite alguma opção abaixo:"); System.Console.WriteLine("1 - Cadastrar Aluno;"); System.Console.WriteLine("2 - Cadastrar Sala;"); System.Console.WriteLine("3 - Alocar Aluno;"); System.Console.WriteLine("4 - Remover Aluno;"); System.Console.WriteLine("5 - Verificar Salas;"); System.Console.WriteLine("6 - Verificar Alunos;"); System.Console.WriteLine("0 - Sair"); string opcao = Console.ReadLine(); switch (opcao) { case "1": alunosCadastrados = CadastrarAluno(alunos, alunosCadastrados); break; case "2": salasCadastradas = CadastrarSala(salas, salasCadastradas); break; case "3": AlocarAluno(alunos, salas); //enviando informações por parametro. break; case "4": RemoverAluno(salas, alunos); break; case "5": VerificarSalas(salas); break; case "6": VerificarAlunos(alunos); break; case "0": System.Console.WriteLine("Finalizando programa."); Salvar(alunos, salas); querSair = false; break; default: System.Console.WriteLine("Comando Inválido."); break; } } while (querSair); } //PROBLEMAS com cadastro de aluno e sala
public static int CadastrarSala(Sala[] salas, int salasCadastradas) { int limiteSalas = 10; int capacidade = 0; int numSala = 0; bool salaJaExiste = false; Console.Clear(); if (salasCadastradas < limiteSalas) { do { do { System.Console.Write("Entre com o número da sala à ser aberta: "); numSala = Convert.ToInt32(Console.ReadLine()); if (numSala < 1 || numSala > 10) { System.Console.WriteLine("Digite um número de 1 a 10."); Console.ReadLine(); } } while (numSala < 1 || numSala > 10); if (salas[numSala - 1] == null) { salasCadastradas += 1; salaJaExiste = false; } else { System.Console.WriteLine("Esta sala já existe."); salaJaExiste = true; Console.ReadLine(); } } while (salaJaExiste); System.Console.Write("Entre com a capacidade máxima da sala: "); do { capacidade = Convert.ToInt32(Console.ReadLine()); if (capacidade < 0 || capacidade > 10) { System.Console.WriteLine("A capacidade máxima da sala é 10, digite um valor válido."); } } while (capacidade < 0 || capacidade > 10); Sala sala = new Sala(numSala, capacidade); salas[numSala - 1] = sala; System.Console.WriteLine("O aluno foi cadastrado com sucesso na escola."); Console.ReadLine(); } else { System.Console.WriteLine("Não é possível o cadastro de uma nova SALA, a escola atingiu sua capacidade máxima."); Console.ReadLine(); } return(salasCadastradas); }
public void AlocarAluno() { System.Console.WriteLine("DIGITE O NOME DO ALUNO A SER ALOCADO: "); string nomeAlunoDigitado = Console.ReadLine(); System.Console.WriteLine("DIGITE O NÚMERO DA SALA: "); int numeroSalaDigitado = int.Parse(Console.ReadLine()); bool alunoExiste = false; bool salaExiste = false; //int contadorAluno = 0; int contadorSala = 0; //int indexAluno = 0; int indexSala = 0; foreach (var aluno in this.Alunos) { if (nomeAlunoDigitado == aluno.Nome) { aluno.NumeroSala = numeroSalaDigitado; alunoExiste = true; //indexAluno = contadorAluno; } //contadorAluno++; } foreach (var sala in this.Salas) { if (numeroSalaDigitado == sala.NumeroSala) { salaExiste = true; indexSala = contadorSala; } contadorSala++; } if (alunoExiste == true && salaExiste == true) { Sala sala = new Sala(numeroSalaDigitado, 10); var alunosSala = sala.AlunosSala; string retornoAlocar = sala.AlocarAluno(nomeAlunoDigitado); this.Salas.RemoveAt(indexSala); this.Salas.Insert(indexSala, sala); System.Console.WriteLine(retornoAlocar); } else if (alunoExiste == false && salaExiste == false) { System.Console.WriteLine("ALUNO NÃO EXISTE"); System.Console.WriteLine("SALA NÃO EXISTE"); } else if (alunoExiste == true && salaExiste == false) { System.Console.WriteLine("ALUNO EXISTE"); System.Console.WriteLine("SALA NÃO EXISTE"); } else if (alunoExiste == false && salaExiste == true) { System.Console.WriteLine("ALUNO NÃO EXISTE"); System.Console.WriteLine("SALA EXISTE"); } }
static void Main(string[] args) { Aluno[] alunos = new Aluno[5]; int alunosCadastrados = 0; Sala[] salas = new Sala[10]; int salasCadastradas = 0; string opcao; do { System.Console.WriteLine("Bem vindo, o que deseja fazer? "); System.Console.WriteLine("1 - Cadastrar alunos"); System.Console.WriteLine("2 - Cadastrar sala "); System.Console.WriteLine("3 - Alocar aluno"); System.Console.WriteLine("4 - Remover aluno"); System.Console.WriteLine("5 - Verificar salas"); System.Console.WriteLine("6 - Verificar alunos"); System.Console.WriteLine("0 - Sair"); opcao = Console.ReadLine(); Aluno aluno = new Aluno(); Sala sala = new Sala(); switch (opcao) { case "1": Console.Clear(); System.Console.WriteLine("Nome do aluno: "); aluno.nome = Console.ReadLine(); System.Console.WriteLine("Data de nascimento: "); aluno.dataNasc = DateTime.Parse(Console.ReadLine()); System.Console.WriteLine("Curso: "); aluno.curso = Console.ReadLine(); alunos[alunosCadastrados] = aluno; alunosCadastrados++; break; case "2": Console.Clear(); System.Console.WriteLine("Número da sala: "); sala.numeroSala = int.Parse(Console.ReadLine()); System.Console.WriteLine($"Capacidade atual: {alunosCadastrados} "); System.Console.WriteLine("Capacidade máxima: 10"); salas[salasCadastradas] = sala; salasCadastradas++; break; case "3": System.Console.WriteLine(" Em que sala deseja colocar o aluno? "); int salaAlocar = int.Parse(Console.ReadLine()); foreach (var item in salas) { } break; case "4": System.Console.WriteLine("Qual aluno deseja remover? "); Console.ReadLine(); break; case "5": foreach (var item in salas) { if (item != null) { Console.Clear(); System.Console.WriteLine("-----------------------------------------"); System.Console.WriteLine($"Número da sala: {item.numeroSala} "); System.Console.WriteLine($"Capacidade total: {item.capacidadeTotal}"); System.Console.WriteLine("-----------------------------------------"); } } break; case "6": foreach (var item in alunos) { if (item != null) { Console.Clear(); System.Console.WriteLine("-----------------------------------------"); System.Console.WriteLine($"Nome do aluno: {item.nome}"); System.Console.WriteLine($"Curso: {item.curso}"); System.Console.WriteLine($"Sala: {item.numeroSala}"); System.Console.WriteLine("-----------------------------------------"); } } break; } } while (opcao != "0"); }
static void Main(string[] args) { bool continuar = true; int i = 0; int cont = 0; Aluno[] alunos = new Aluno[4]; Sala[] salas = new Sala[1]; int cadastrados = 0; Console.ForegroundColor = ConsoleColor.Cyan; Console.WriteLine("----- Bem vindo à Secretaria Virtual -----"); Console.ResetColor(); while (continuar) { Console.ForegroundColor = ConsoleColor.Red; System.Console.WriteLine("1 - Cadastrar Aluno"); Console.ForegroundColor = ConsoleColor.Yellow; System.Console.WriteLine("2 - Cadastrar Sala"); Console.ForegroundColor = ConsoleColor.Green; System.Console.WriteLine("3 - Alocar Aluno"); Console.ForegroundColor = ConsoleColor.Blue; System.Console.WriteLine("4 - Remover Aluno"); Console.ForegroundColor = ConsoleColor.DarkBlue; System.Console.WriteLine("5 - Verificar Salas"); Console.ForegroundColor = ConsoleColor.Magenta; System.Console.WriteLine("6 - Verificar Alunos"); Console.ForegroundColor = ConsoleColor.Red; System.Console.WriteLine("0 - Sair"); Console.ResetColor(); string resposta = Console.ReadLine(); switch (resposta) { case "1": if (i < 4) { Aluno aluno = new Aluno(); System.Console.WriteLine("Digite o nome do aluno a ser cadastrado"); aluno.nome = Console.ReadLine(); System.Console.WriteLine("Insira a data de nascimento do aluno"); aluno.dataNascimento = System.DateTime.Parse(Console.ReadLine()); System.Console.WriteLine("Digite o curso do aluno"); aluno.Curso = Console.ReadLine(); System.Console.WriteLine("Digite o número da sala do aluno"); aluno.numeroSala = int.Parse(Console.ReadLine()); Console.ForegroundColor = ConsoleColor.Green; System.Console.WriteLine("----- Aluno cadastrado -----"); Console.ResetColor(); alunos[cadastrados] = aluno; cadastrados += 1; i++; } else { Console.ForegroundColor = ConsoleColor.Red; System.Console.WriteLine("----- Número máximo de alunos cadastrados atingido -----"); Console.ResetColor(); } break; case "2": if (cont < 1) { Sala sala1 = new Sala(); System.Console.WriteLine("Digite o número da sala a ser cadastrada"); sala1.numeroSala = int.Parse(Console.ReadLine()); System.Console.WriteLine("Digite a capacidade total da sala"); sala1.capacidadeTotal = int.Parse(Console.ReadLine()); Console.ForegroundColor = ConsoleColor.Green; System.Console.WriteLine("----- Sala cadastrada -----"); Console.ResetColor(); salas[cont] = sala1; sala1.Alocar(alunos[i].nome); cont += 1; cont++; } else { Console.ForegroundColor = ConsoleColor.Red; System.Console.WriteLine("----- Número máximo de salas cadastradas -----"); Console.ResetColor(); } break; case "3": System.Console.WriteLine("Digite o nome do aluno a ser alocado"); Console.ReadLine(); break; case "4": System.Console.WriteLine("Digite o nome do aluno a ser removido"); Console.ReadLine(); break; case "5": System.Console.WriteLine("Essas são as salas"); for (int a = 0; a < 1; a++) { System.Console.WriteLine("----------------------------------------"); System.Console.WriteLine("Número da sala: " + salas[a].numeroSala); System.Console.WriteLine("Capacidade total: " + salas[a].capacidadeTotal); System.Console.WriteLine("----------------------------------------"); } break; case "6": System.Console.WriteLine("Esses são os alunos"); for (int a = 0; a < 4; a++) { System.Console.WriteLine(alunos[a].nome); } break; case "0": System.Console.WriteLine("Obrigado por acessar!!!"); continuar = false; break; default: Console.ForegroundColor = ConsoleColor.Red; System.Console.WriteLine("----- Digite um número válido -----"); Console.ResetColor(); break; } } }