Descarga la aplicación para disfrutar aún más
Vista previa del material en texto
144 | Capítulo 4: Entrada de datos al programa y el proceso de diseño de software ¿Hay algún problema al leer el segundo nombre si hay en su lugar una inicial en vez del segundo nombre? En realidad no. Sólo se supone que se introduce el segundo nombre y se extrae la inicial de éste cuando la necesita para los formatos tercero y cuarto. Si se introdujo la inicial para el segundo nombre, entonces las formas de salida tercera y cuarta serán las mismas. ¿Qué hay acerca de la puntuación en la salida? Si el apellido viene primero, debe ir seguido de una coma, y la inicial del segundo nombre debe ir seguida de un punto. Así, si se introduce la inicial en vez del segundo nombre, debe ir seguida de un punto. Esto se debe agregar a las suposiciones. SUPOSICIÓN El orden del nombre es: nombre, segundo nombre y apellido, y si se introduce la inicial del se- gundo nombre en lugar del segundo nombre, debe ir seguida de un punto. Escribir los datos en formatos apropiados Escribir el nombre, espacio en blanco, segundo nombre, espacio en blanco, apellido, espa- cio en blanco, número de seguro social Escribir el apellido, coma, espacio en blanco, nombre, espacio en blanco, apellido, espacio en blanco, número de seguro social Escribir el apellido, coma, espacio en blanco, nombre, espacio en blanco, inicial del segun- do nombre, punto, espacio en blanco, número de seguro social Escribir el nombre, espacio en blanco, inicial del segundo nombre, punto, espacio en blan- co, apellido Lo único que falta defi nir es la inicial del segundo nombre. Se puede usar el método substr para tener acceso al primer carácter en el segundo nombre. Inicial del segundo nombre Nivel 2 Fijar la inicial en middleName.substr(0, 1) + punto Cerrar archivos inData.close() outData.close() Gráfi ca de estructura de módulo Principal Abrir archivos Obtenerel nombre Inicial del segundo nombre Cerrar archivosEscribir datosen formatos apropiados www.FreeLibros.me Caso práctico de resolución de problemas | 145 Variables Nombre Tipo de datos Descripción inData ifstream Archivo de entrada outData ofstream Archivo de salida socialNum string Número de seguro social fi rstName string Nombre lastName string Apellido middleName string Segundo nombre initial string Inicial del segundo nombre //****************************************************************** // Programa Formato de nombres // Este programa lee un número de seguro social, un nombre, un // segundo nombre o inicial y el apellido del archivo inData. // El nombre se escribe en el archivo outData en tres formatos: // 1. Nombre, segundo nombre, apellido y número de seguro // social. // 2. Apellido, nombre, segundo nombre y número de seguro // social // 3. Apellido, nombre, segundo nombre y número de seguro // social // 4. Apellido, nombre, inicial del segundo nombre y número de // seguro social //****************************************************************** #include <fstream> // Access ofstream #include <string> // Access string using namespace std; int main() { // Declarar y abrir archivos ifstream inData; ofstream outData; inData.open("name.dat"); outData.open("name.out"); // Declarar variables string socialNum; // Número de seguro social string fi rstName; // Nombre string lastName; // Apellido string middleName; // Segundo nombre string initial; // Inicial del segundo nombre // Leer los datos del archivo inData inData >> socialNum >> fi rstName >> middleName >> lastName; // Tener acceso a la inicial del segundo nombre y anexar un punto initial = middleName.substr(0, 1) + '.'; www.FreeLibros.me 146 | Capítulo 4: Entrada de datos al programa y el proceso de diseño de software // Producir información en los formatos requeridos outData << fi rstName << ' ' << middleName << ' ' << lastName << ' ' << socialNum << endl; outData << lastName << ", " << fi rstName << ' ' << middleName << ' ' << socialNum << endl; outData << lastName << ", " << fi rstName << ' ' << initial << ' ' << socialNum << endl; outData << fi rstName << ' ' << initial << ' ' << lastName; // Cerrar archivos inData.close(); outData.close(); return 0; } A continuación se muestran ejemplos de archivos de entrada y salida Las imágenes mostradas corresponden a la salida producida por el programa original, escrito en idioma inglés. ▼(continúa) Información básica Programación a muchas escalas Para ayudar a poner en contexto los temas de este libro, se describe en términos amplios la manera en que se hace la programación en sus muchas formas en "el mundo real". Obviamente no es posible cubrir cada posibilidad, pero se intentará dar una idea de lo último a este respecto. La programación de proyectos varía en tamaño desde la escala pequeña, en la cual un estudiante o afi cionado a la computación escribe un programa corto para probar algo nuevo, hasta los proyectos de pro- gramación multicompañías a gran escala donde participan cientos de personas. Entre estos dos extremos están los esfuerzos de muchos otros tamaños. Hay personas que usan la programación en sus profesiones, aun cuando no es su empleo principal. Por ejemplo, un científi co podría escribir un programa con un objeti- vo particular a fi n de analizar datos de un determinado experimento. www.FreeLibros.me
Compartir