//Cadastro de Aluno Cadastrar::Cadastrar (const string nome, const string matricula, const string senha, const char turma) { bool existe; int tam_registro = 44; //Tamanho de um registro Registro registro (3); int sucesso = registro.incluir_registro (); ArquivoExiste arq ("dados/Aluno.txt"); existe = arq.getExistencia (); //O arquivo jah existe e o registro sera inserido no meio do arquivo if (existe && sucesso >= 0) { ofstream arquivo ("dados/Aluno.txt", ios_base::in); arquivo.seekp (tam_registro*registro.getPos (), ios_base::beg); arquivo << nome << "|" << matricula << "|" << senha << "|" << turma; arquivo.close (); } //O arquivo jah existe e o registro sera inserido no final do arquivo else if (existe) { ofstream arquivo ("dados/Aluno.txt", ios_base::app); arquivo << "+" << nome << "|" << matricula << "|" << senha << "|" << turma; arquivo.close (); } //O arquivo ainda não existe else { ofstream arquivo ("dados/Aluno.txt"); arquivo << nome << "|" << matricula << "|" << senha << "|" << turma; arquivo.close (); } }
//Cadastro de usuário Master Cadastrar::Cadastrar (const string nome, const string matricula, const string senha) { //Aqui, nao ha verificacao da existencia do arquivo de usuarios Master, pois, //para que este codigo seja alcancado, eh necessario que a criacao deste //arquivo jah tenha sido feita na primeira execucao do sistema. int tam_registro = 42; //Tamanho de um registro Registro registro (1); int sucesso = registro.incluir_registro (); //Inserir no final do arquivo if (sucesso == -1) { ofstream arquivo ("dados/Master.txt", ios_base::app); arquivo << "+" << nome << "|" << matricula << "|" << senha; arquivo.close (); } else if (sucesso == 0) { ofstream arquivo ("dados/Master.txt", ios_base::in); arquivo.seekp (tam_registro*registro.getPos (), ios_base::beg); arquivo << nome << "|" << matricula << "|" << senha; arquivo.close (); } /* Implementar um try-catch para lançar uma exceção aqui!!!! else //sucesso = -2 { throw "deu pau aqui! valor inválido para o nível de usuário! } */ }