UNIVERSIDAD CENTRAL DE VENEZUELA FACULTAD DE CIENCIAS ESCUELA DE COMPUTACIÓN ALGORITMOS Y PROGRAMACIÓN Proyecto 1 Agenda Digital – Fase 1: Módulo de Carga de Contactos La empresa de desarrollo de software GDAyP ha recibido un proyecto de parte de uno de sus clientes, el cual ha solicitado el desarrollo de una agenda digital. Dado que será una aplicación con muchas opciones, ésta se irá desarrollando por fases. La primera fase consiste en el Módulo de Carga de Contactos. El programa a desarrollar recibirá una serie de valores los cuales son: - Código de seguridad (binario de 8 dígitos) Nombre Apellido Número de teléfono Número celular Correo electrónico Ciudad País (en esta fase, sólo se considera como país válido Venezuela) El cliente ha solicitado de nosotros que incluyamos en la agenda digital como método de seguridad la verificación de un código binario antes de poder utilizar este módulo. Se considerará válido el código binario si la suma de los unos (1) de las primeras 4 cifras más significativas es igual a la suma de ceros (0) de las 4 cifras menos significativas del código. NOTA: tomar en cuenta que para aquellos códigos binarios cuya cifra más significativa sea cero (0), C++ la obviará, por ejemplo: Valor introducido por el usuario: 01101101 Valor almacenado por el programa: 1101101 Una vez verificado el código de seguridad se procederá a la carga de los datos de un contacto, se recibirán los datos uno por uno y de ellos es importante validar: - El código de área del número de teléfono. El código de área del número celular. La ciudad. Los códigos de área de las ciudades válidos son: 0212 para Caracas, 0243 para Maracay, 0241 para valencia, 0251 para Barquisimeto, 0261 para Maracaibo. Para el número celular los códigos válidos son: 0412, 0414, 0424, 0416 y 0426. Las ciudades válidas son: Caracas, Maracay, Valencia, Barquisimeto y Maracaibo. Se debe pág. 1 GDAyP UNIVERSIDAD CENTRAL DE VENEZUELA FACULTAD DE CIENCIAS ESCUELA DE COMPUTACIÓN ALGORITMOS Y PROGRAMACIÓN verificar además que el código de área del número de teléfono corresponda con la ciudad introducida. Por último se debe verificar que el país sea Venezuela. Detalles de Entrada: Se introducirán todos los datos por entrada estándar. Referirse al ejemplo para más detalles. Detalles de Salida: Se escribirá por salida estándar un mensaje que dé el resultado de interpretar la entrada del programa. Referirse al ejemplo para más detalles. Ejemplo: Entrada: Salida: 11000011 Daniel Pérez 02122420798 04168987898 [email protected] Caracas Venezuela Se ha cargado exitosamente el contacto. 11000111 Daniel Pérez 02122420798 04168987898 [email protected] Caracas Venezuela El código de verificación es incorrecto. 01010011 Daniel Pérez 02512420798 04368987898 [email protected] Caracas Venezuela El código del número celular es inválido. La ciudad no corresponde con el código provisto en el número de teléfono. pág. 2 GDAyP UNIVERSIDAD CENTRAL DE VENEZUELA FACULTAD DE CIENCIAS ESCUELA DE COMPUTACIÓN ALGORITMOS Y PROGRAMACIÓN 01010011 Daniel Pérez 02512420798 04148987898 [email protected] Barquisimeto Colombia El país es inválido. Restricciones: - El proyecto debe ser desarrollado en C++, bajo el sistema operativo Ubuntu. Sugerimos la utilización de geany como ambiente de desarrollo en Linux y en Windows sugerimos el uso de Dev C++. - La única biblioteca de C++ permitida para desarrollar esta herramienta es iostream. - Se debe usar lectura y escritura estándar. Se permite usar tipos de datos básicos, operaciones aritméticas y sólo condicionales de las estructuras de control propias de C++. - El proyecto es individual y la entrega del mismo será hasta 12/01/2015 a las 23:30:00. - Se debe subir el código fuente de su proyecto a su cuenta de Moodle. El proyecto se corregirá únicamente si se encuentra subido a la plataforma Moodle y éste compila de lo contrario NO se corregirá. - Cualquier copia será penalizada para todos los involucrados con la nota de CERO (0) puntos, además del reporte respectivo al Profesor de la Sección y a la Coordinadora de la Materia. - Se debe seguir estrictamente el formato de entrada de datos y mensajes de salida, de lo contrario esto repercutirá en su nota. Consultas: En caso de dudas, consultar a los Preparadores II: - David Rojas, [email protected] - Eduardo Moreno, [email protected] pág. 3 GDAyP