Un programa que me dé de alta a un estudiante Se usará (nombre, teléfono, mail, N° de reo y nickname) Que tienen que estar ingresar ser con consola) -el correo tiene que estar con @ y .com -se debe de usar strings -el número de reo solo tiene que tener números -el nombre no debe de tener números -puede tener: string --sin regex -sin Void set -sin bool
Aquí te dejo un ejemplo de cómo podrías implementar el programa en C++: ```cpp #include <iostream> #include <string> class Estudiante { private: std::string nombre; std::string telefono; std::string mail; std::string numeroReo; std::string nickname; public: // Constructor Estudiante(std::string nombre, std::string telefono, std::string mail, std::string numeroReo, std::string nickname) : nombre(nombre), telefono(telefono), mail(mail), numeroReo(numeroReo), nickname(nickname) {} // Getter y setter para cada atributo std::string getNombre() const { return nombre; } void setNombre(const std::string& nombre) { this->nombre = nombre; } std::string getTelefono() const { return telefono; } void setTelefono(const std::string& telefono) { this->telefono = telefono; } std::string getMail() const { return mail; } void setMail(const std::string& mail) { this->mail = mail; } std::string getNumeroReo() const { return numeroReo; } void setNumeroReo(const std::string& numeroReo) { this->numeroReo = numeroReo; } std::string getNickname() const { return nickname; } void setNickname(const std::string& nickname) { this->nickname = nickname; } // Método para validar el correo electrónico bool validarMail(const std::string& mail) { size_t posicionPunto = mail.find('.'); size_t posicionArroba = mail.find('@'); if (posicionPunto != std::string::npos && posicionArroba != std::string::npos) { if (posicionPunto > posicionArroba) { return false; } if (mail.find(".com") == mail.size() - 4) { return true; } } return false; } // Método para validar el número de reo bool validarNumeroReo(const std::string& numeroReo) { for (char c : numeroReo) { if (!isdigit(c)) { return false; } } return true; } // Método para validar el nombre bool validarNombre(const std::string& nombre) { for (char c : nombre) { if (!isalpha(c)) { return false; } } return true; } // Método para registrar un estudiante void registrarEstudiante() { std::string nombre, telefono, mail, numeroReo, nickname; // Pedir los datos al usuario std::cout << "Ingrese el nombre del estudiante: "; std::getline(std::cin, nombre); while (!validarNombre(nombre)) { std::cout << "El nombre no puede contener números. Por favor, ingrese el nombre nuevamente: "; std::getline(std::cin, nombre); } std::cout << "Ingrese el teléfono del estudiante: "; std::getline(std::cin, telefono); std::cout << "Ingrese el correo electrónico del estudiante: "; std::getline(std::cin, mail); while (!validarMail(mail)) { std::cout << "El correo electrónico no es válido. Por favor, ingrese el correo electrónico nuevamente: "; std::getline(std::cin, mail); } std::cout << "Ingrese el número de reo del estudiante: "; std::getline(std::cin, numeroReo); while (!validarNumeroReo(numeroReo)) { std::cout << "El número de reo no es válido. Por favor, ingrese el número de reo nuevamente: "; std::getline(std::cin, numeroReo); } std::cout << "Ingrese el nickname del estudiante: "; std::getline(std::cin, nickname); // Crear un objeto Estudiante con los datos ingresados Estudiante estudiante(nombre, telefono, mail, numeroReo, nickname); // Mostrar los datos del estudiante std::cout << "Estudiante registrado con éxito:" << std::endl; std::cout << "Nombre: " << estudiante.getNombre() << std::endl; std::cout << "Teléfono: " << estudiante.getTelefono() << std::endl; std::cout << "Correo electrónico: " << estudiante.getMail() << std::endl; std::cout << "Número de reo: " << estudiante.getNumeroReo() << std::endl; std::cout << "Nickname: " << estudiante.getNickname() << std::endl; } }; int main() { Estudiante estudiante; estudiante.registrarEstudiante(); return 0; } ``` Este programa crea una clase `Estudiante` con atributos para nombre, teléfono, correo electrónico, número de reo y nickname. Los métodos `validarMail`, `validarNumeroReo` y `validarNombre` se utilizan para validar los datos ingresados por el usuario. El método `registrarEstudiante` se utiliza para registrar un estudiante y mostrar sus datos.