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 -puede tener: string, if, while, for

Aquí te dejo un ejemplo de programa en C++ que cumple con tus requisitos: ```cpp #include <iostream> #include <string> #include <regex> using namespace std; struct Estudiante { string nombre; string telefono; string mail; string numeroReo; string nickname; }; void registrarEstudiante(Estudiante &estudiante) { cout << "Ingrese el nombre del estudiante: "; getline(cin, estudiante.nombre); while (true) { cout << "Ingrese el teléfono del estudiante: "; getline(cin, estudiante.telefono); if (estudiante.telefono.length() == 10 && isdigit(estudiante.telefono[0]) && isdigit(estudiante.telefono[1]) && isdigit(estudiante.telefono[2]) && isdigit(estudiante.telefono[3]) && isdigit(estudiante.telefono[4]) && isdigit(estudiante.telefono[5]) && isdigit(estudiante.telefono[6]) && isdigit(estudiante.telefono[7]) && isdigit(estudiante.telefono[8]) && isdigit(estudiante.telefono[9])) { break; } else { cout << "Teléfono inválido. Por favor, ingrese un número de 10 dígitos sin espacios ni caracteres especiales." << endl; } } while (true) { cout << "Ingrese el correo electrónico del estudiante (debe terminar en .com): "; getline(cin, estudiante.mail); regex patron("^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,}$"); if (regex_match(estudiante.mail, patron)) { if (estudiante.mail.find(".com") != string::npos) { break; } else { cout << "Correo electrónico inválido. Por favor, ingrese un correo electrónico que termine en .com." << endl; } } else { cout << "Correo electrónico inválido. Por favor, ingrese un correo electrónico válido." << endl; } } while (true) { cout << "Ingrese el número de reo del estudiante: "; getline(cin, estudiante.numeroReo); if (isdigit(estudiante.numeroReo[0]) && isdigit(estudiante.numeroReo[1]) && isdigit(estudiante.numeroReo[2]) && isdigit(estudiante.numeroReo[3]) && isdigit(estudiante.numeroReo[4]) && isdigit(estudiante.numeroReo[5]) && isdigit(estudiante.numeroReo[6]) && isdigit(estudiante.numeroReo[7]) && isdigit(estudiante.numeroReo[8]) && isdigit(estudiante.numeroReo[9])) { break; } else { cout << "Número de reo inválido. Por favor, ingrese un número de 10 dígitos sin espacios ni caracteres especiales." << endl; } } cout << "Ingrese el nickname del estudiante: "; getline(cin, estudiante.nickname); } int main() { Estudiante estudiante; registrarEstudiante(estudiante); cout << "Estudiante registrado con éxito:" << endl; cout << "Nombre: " << estudiante.nombre << endl; cout << "Teléfono: " << estudiante.telefono << endl; cout << "Correo electrónico: " << estudiante.mail << endl; cout << "Número de reo: " << estudiante.numeroReo << endl; cout << "Nickname: " << estudiante.nickname << endl; return 0; } ``` Este programa utiliza una estructura `Estudiante` para almacenar la información del estudiante. La función `registrarEstudiante` solicita la información del estudiante al usuario y la valida según las reglas establecidas. Si la información es válida, la almacena en la estructura `Estudiante`. Finalmente, el programa imprime la información del estudiante registrado. Nota que el programa utiliza la función `regex_match` para validar el correo electrónico y la función `isdigit` para validar los números de teléfono y número de reo. También utiliza un bucle `while` para solicitar la información al usuario hasta que sea válida.

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