Foros del Web » Programación para mayores de 30 ;) » C/C++ »

Programa en C (Cadenas de caracteres. Lectura de datos personales)

Estas en el tema de Programa en C (Cadenas de caracteres. Lectura de datos personales) en el foro de C/C++ en Foros del Web. Hola, necesitoo que me ayuden a hacer este programa en C por favor! Construir un programa en C que permita leer los siguientes datos personales: ...
  #1 (permalink)  
Antiguo 30/04/2009, 04:26
 
Fecha de Ingreso: abril-2009
Mensajes: 1
Antigüedad: 15 años
Puntos: 0
Programa en C (Cadenas de caracteres. Lectura de datos personales)

Hola, necesitoo que me ayuden a hacer este programa en C por favor!

Construir un programa en C que permita leer los siguientes datos personales: nombre, primer y segundo apellidos, edad, dirección, teléfono y código postal. Cada uno de los datos se introducirá en una línea distinta, no necesariamente ordenados. Para identificar cada uno de los datos, se tendrá en cuenta lo siguiente:

*

La línea que contiene el nombre siempre empieza por "Nombre:"
*

La línea que contiene el primer apellido siempre empieza por "Primer apellido:"
*

La línea que contiene el segundo apellido siempre empieza por "Segundo apellido:"
*

La línea que contiene la edad siempre empieza por "Edad:"
*

La línea que contiene la dirección siempre empieza por "Direccion:"
*

La línea que contiene el teléfono siempre empieza por "Telefono:"
*

La línea que contiene el código postal siempre empieza por "Codigo postal:"

No necesariamente se tienen que introducir todos los datos. Si un dato se introduce varias veces el valor que cuenta es el último. Si se introduce una línea que no empieza por ninguna de las cadenas anteriores, se entenderá que ya no se van a introducir más datos. El programa imprimirá por pantalla todos los datos leídos, en el siguiente orden:

*

Nombre
*

Primer apellido
*

Segundo apellido
*

Edad
*

Dirección
*

Código postal
*

Teléfono

Si alguno de los datos no se ha introducido, el programa imprimirá "---" como valor de ese dato. A continuación se muestran algunos ejemplos.

Ejemplo 1. Si la entrada es:

Nombre: Juan
Edad: 25
Telefono: 634238912

La salida debe ser:

Nombre: Juan
Primer apellido: ---
Segundo apellido: ---
Edad: 25
Direccion: ---
Codigo postal: ---
Telefono: 634238912

Ejemplo 2. Si la entrada es:

Telefono: 634238912
Edad: 25
Nombre: Juan

La salida debe ser la misma que en el ejemplo 1.

Ejemplo 3. Si la entrada es:

Nombre: Carlos
Direccion: C/ Mirlo, 22
Edad: wq
Nombre: Juan
Primer apellido: Ariete
Teléfono: 634238912

La salida debe ser:

Nombre: Juan
Primer apellido: Ariete
Segundo apellido: ---
Edad: ---
Direccion: C/ Mirlo, 22
Codigo postal: ---
Telefono: 634238912

Los siguientes ficheros contienen las entradas de los tres ejemplos anteriores: ejemplo1.txt, ejemplo2.txt, ejemplo3.txt. Si redirigís la entrada estándar a estos ficheros no tenéis que teclear todo cada vez que queráis probar el programa.

NOTA 1: Para leer de la entrada estándar línea por línea se utilizará la función fgets. Para comparar la primera parte de cada línea leída con las cadenas que identifican cada uno de los datos se utilizará la función strncmp. La edad, el código postal y el teléfono son números enteros, y el programa deberá comprobarlo (ver ejemplo 3); para obtener estos datos a partir de la línea leída previamente se utilizará la función atoi.

NOTA 2: Es MUY IMPORTANTE que tanto la entrada como la salida del programa se ajusten al formato especificado, porque para corregir la práctica se utilizarán scripts que probarán el programa de manera automática.


Muchass Graciassss
  #2 (permalink)  
Antiguo 30/04/2009, 11:44
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: Programa en C (Cadenas de caracteres. Lectura de datos personales)

Hola, rooo90.

Muéstranos qué tienes hasta el momento y en qué punto no logras avanzar. Así podremos ayudarte.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 22:12.