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 usar funciones completas como bool o void set
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: void setNombre(const std::string& nombre) { for (char c : nombre) { if (!std::isalpha(c)) { std::cout << "El nombre no puede contener números." << std::endl; return; } } this->nombre = nombre; } void setTelefono(const std::string& telefono) { for (char c : telefono) { if (!std::isdigit(c)) { std::cout << "El teléfono debe contener solo números." << std::endl; return; } } this->telefono = telefono; } void setMail(const std::string& mail) { size_t posAt = mail.find('@'); size_t posDot = mail.find('.'); if (posAt == std::string::npos || posDot == std::string::npos) { std::cout << "El correo electrónico debe contener '@' y '.'." << std::endl; return; } if (mail.find(".com") == std::string::npos) { std::cout << "El correo electrónico debe terminar en '.com'." << std::endl; return; } this->mail = mail; } void setNumeroReo(const std::string& numeroReo) { for (char c : numeroReo) { if (!std::isdigit(c)) { std::cout << "El número de reo debe contener solo números." << std::endl; return; } } this->numeroReo = numeroReo; } void setNickname(const std::string& nickname) { this->nickname = nickname; } void darDeAlta() { std::cout << "Nombre: " << nombre << std::endl; std::cout << "Teléfono: " << telefono << std::endl; std::cout << "Correo electrónico: " << mail << std::endl; std::cout << "Número de reo: " << numeroReo << std::endl; std::cout << "Nickname: " << nickname << std::endl; } }; int main() { Estudiante estudiante; std::cout << "Ingrese el nombre del estudiante: "; std::string nombre; std::getline(std::cin, nombre); estudiante.setNombre(nombre); std::cout << "Ingrese el teléfono del estudiante: "; std::string telefono; std::getline(std::cin, telefono); estudiante.setTelefono(telefono); std::cout << "Ingrese el correo electrónico del estudiante: "; std::string mail; std::getline(std::cin, mail); estudiante.setMail(mail); std::cout << "Ingrese el número de reo del estudiante: "; std::string numeroReo; std::getline(std::cin, numeroReo); estudiante.setNumeroReo(numeroReo); std::cout << "Ingrese el nickname del estudiante: "; std::string nickname; std::getline(std::cin, nickname); estudiante.setNickname(nickname); estudiante.darDeAlta(); return 0; } ``` Este programa crea una clase `Estudiante` con métodos para establecer los atributos del estudiante y un método para dar de alta al estudiante. Los métodos de establecimiento de atributos validan la entrada del usuario para asegurarse de que cumpla con las condiciones establecidas. El método `darDeAlta` imprime los atributos del estudiante en la consola. En el `main`, se crea un objeto `Estudiante` y se solicita al usuario que ingrese los atributos del estudiante, que se establecen utilizando los métodos correspondientes. Finalmente, se llama al método `darDeAlta` para imprimir los atributos del estudiante.