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 void-set -sin regex

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 verificar si el correo electrónico es válido bool esCorreoValido(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 (posicionPunto == mail.size() - 1 || posicionArroba == mail.size() - 1) { return false; } if (mail.find(".com") == mail.size() - 4) { return true; } } return false; } // 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 verificar si el teléfono es válido bool esTelefonoValido(const std::string& telefono) { // Aquí podrías implementar una lógica para verificar si el teléfono es válido // Por ejemplo, verificar si tiene 10 dígitos return telefono.size() == 10; } // Método para verificar si todos los datos son válidos bool esTodosDatosValidos() { return esNombreValido(nombre) && esTelefonoValido(telefono) && esCorreoValido(mail) && esNumeroReoValido(numeroReo); } // Método para dar de alta al estudiante void darDeAlta() { if (esTodosDatosValidos()) { std::cout << "Estudiante dado de alta con éxito." << std::endl; } else { std::cout << "Error: algunos datos no son válidos." << std::endl; } } }; int main() { Estudiante estudiante; std::cout << "Ingrese el nombre del estudiante: "; std::string nombre; std::cin >> nombre; estudiante.setNombre(nombre); std::cout << "Ingrese el teléfono del estudiante: "; std::string telefono; std::cin >> telefono; estudiante.setTelefono(telefono); std::cout << "Ingrese el correo electrónico del estudiante: "; std::string mail; std::cin >> mail; estudiante.setMail(mail); std::cout << "Ingrese el número de reo del estudiante: "; std::string numeroReo; std::cin >> numeroReo; estudiante.setNumeroReo(numeroReo); std::cout << "Ingrese el nickname del estudiante: "; std::string nickname; std::cin >> nickname; estudiante.setNickname(nickname); estudiante.darDeAlta(); return 0; } ``` Este programa crea una clase `Estudiante` con atributos para nombre, teléfono, correo electrónico, número de reo y nickname. Cada atributo tiene un método getter y setter para acceder y modificar su valor. El programa también incluye métodos para verificar si el correo electrónico, el número de reo, el nombre y el teléfono son válidos. Estos métodos se utilizan en el método `darDeAlta` para verificar si todos los datos son válidos antes de dar de alta al estudiante. En el `main`, se crea un objeto `Estudiante` y se solicita al usuario que ingrese los datos del estudiante. Luego, se llama al método `darDeAlta` para dar de alta al estudiante.

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