Emiliano Rubio

Generation

generate functionMon, 24 Feb 2025

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 -sin regex patron -sin void set, Que sea facil de armar

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; } std::string getTelefono() const { return telefono; } std::string getMail() const { return mail; } std::string getNumeroReo() const { return numeroReo; } std::string getNickname() const { return nickname; } // Método para verificar si el correo electrónico es válido bool esCorreoValido(const std::string& mail) { size_t posicionAt = mail.find('@'); size_t posicionPunto = mail.find('.'); return posicionAt != std::string::npos && posicionPunto != std::string::npos && mail.find(".com") != std::string::npos; } // Método para verificar si el número de reo es válido bool esNumeroReoValido(const std::string& numeroReo) { for (char c : numeroReo) { if (!isdigit(c)) { return false; } } return true; } // Método para verificar si el nombre es válido bool esNombreValido(const std::string& nombre) { for (char c : nombre) { if (!isalpha(c)) { return false; } } return true; } // Método para registrar un estudiante void registrarEstudiante() { std::cout << "Ingrese el nombre del estudiante: "; std::string nombre; std::cin >> nombre; while (!esNombreValido(nombre)) { std::cout << "El nombre no puede contener números. Por favor, ingrese un nombre válido: "; std::cin >> nombre; } std::cout << "Ingrese el teléfono del estudiante: "; std::string telefono; std::cin >> telefono; std::cout << "Ingrese el correo electrónico del estudiante: "; std::string mail; std::cin >> mail; while (!esCorreoValido(mail)) { std::cout << "El correo electrónico no es válido. Por favor, ingrese un correo electrónico válido: "; std::cin >> mail; } std::cout << "Ingrese el número de reo del estudiante: "; std::string numeroReo; std::cin >> numeroReo; while (!esNumeroReoValido(numeroReo)) { std::cout << "El número de reo no es válido. Por favor, ingrese un número de reo válido: "; std::cin >> numeroReo; } std::cout << "Ingrese el nickname del estudiante: "; std::string nickname; std::cin >> nickname; Estudiante estudiante(nombre, telefono, mail, numeroReo, nickname); 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 define una clase `Estudiante` con atributos para nombre, teléfono, correo electrónico, número de reo y nickname. La clase tiene métodos para verificar si el correo electrónico y el número de reo son válidos, y un método para registrar un estudiante. El método `registrarEstudiante` solicita al usuario que ingrese los datos del estudiante y verifica que sean válidos. Si los datos no son válidos, solicita al usuario que los ingrese de nuevo. Finalmente, el programa crea un objeto `Estudiante` con los datos ingresados y los muestra en la consola.

Want to kickstart your project?Use the new AI Studio to create your code