Programación I - 2008 - Universidad Nacional de Tucumán

Anuncio
Universidad Nacional de Tucumán
Facultad de Ciencias Exactas y Tecnología
Departamento de Electricidad, Electrónica y Computación
Programación I - 2008
TRABAJO PRÁCTICO Nº 8
Archivos de texto
Instrucciones:
Para el desarrollo de este práctico NO debe utilizar arreglos de estructuras.
1. Codificar un programa en lenguaje C que permita abrir un archivo de texto en modo lectura, en caso de
que no exista dicho archivo deberá crearlo e indicar por pantalla lo sucedido.
2. Codificar un programa en lenguaje C que permita ingresar y almacenar en un archivo de texto, cadenas
de caracteres hasta que se ingrese un cero.
3. Dado el archivo de texto creado anteriormente, codificar un programa en lenguaje C que permita mostrar
por pantalla el contenido de dicho archivo.
4. Codificar un programa en lenguaje C que permita ingresar una cadena de caracteres, luego deberá
investigar si dicha cadena se encuentra en el archivo de texto del ejercicio 2, en caso afirmativo cambiar
los caracteres a mayúscula de la cadena que se encuentra en el archivo, si es que estaban en
minúscula. Verificar lo realizado con el ejercicio 3.
5. Codificar un programa en lenguaje C, que permita abrir un archivo de texto, luego deberá presentar por
pantalla la cantidad de caracteres, palabras y líneas que posee dicho archivo.
6. Dado un archivo de texto, ingresar por teclado una cadena de caracteres, luego mostrar por pantalla
solamente las líneas contenidas en el archivo de texto, que contengan dicha cadena de caracteres. En
caso de no encontrar coincidencia, presentar el mensaje correspondiente.
7. Codificar un programa en lenguaje C que cuente la cantidad de letras minúsculas, letras mayúsculas,
números y otros símbolos que contiene un archivo de texto. Presentar por pantalla los resultados.
8. Codificar un programa en lenguaje C que copie el contenido de un archivo de texto en otro archivo de
texto.
9. Dado un archivo de texto, crear otro archivo de texto que contenga como primer carácter al último
caracter del primer archivo, como segundo carácter al penúltimo del primero; continuar de esta
manera este proceso de generación del segundo archivo hasta llegar al primer caracter del primer
archivo, que será el último caracter del segundo archivo. Luego presentar por pantalla el contenido
de ambos archivos de texto.
10. Codificar un programa en lenguaje C que muestre por pantalla una línea de un archivo de texto. Se
deberá ingresar el nombre del archivo, y el número de línea que se mostrará. En caso de que el
archivo contenga una cantidad de líneas menor a la solicitada, mostrar el mensaje correspondiente.
11. Codificar un programa en lenguaje C que permita ingresar y almacenar en un archivo de texto la
información referente a un grupo de N alumnos. Los datos a ingresar serán:
• Apellido/s
• Nombre/s
• Carrera que cursa
• CX del alumno.
La información debe almacenarse en el archivo de texto, dentro de una cadena separando por un punto
y coma (;) cada uno de los datos. Al finalizar el ingreso de los N alumnos, presentar por pantalla el
contenido de dicho archivo. El nombre del archivo será ingresado por el usuario en la llamada al
programa desde la línea de comandos.
Ejemplo indicativo: El contenido del archivo de texto debe quedar de la siguiente forma:
Apellido/s1;Nombre/s1;Carrera1;CXnro1
Apellido/s2;Nombre/s2;Carrera2;Cxnro2
Trabajo Práctico Nº 8 – 2008
…
Apellido/sN;Nombre/sN;CarreraN;CXnroN
Aclaración: Usted debe realizar el control correspondiente de los datos. Por ejemplo: El apellido,
nombre y carrera deben ser cadenas de caracteres alfabética; el control del CX debe comenzar con las
dos letras ‘CX’ y continuar con 7 dígitos.
12. Codificar un programa en lenguaje C que permita ingresar, en un archivo de texto, los siguientes
datos referentes a personas, como ser:
• Apellido/s,
• Nombre/s,
• Edad,
• Domicilio
• Número de documento.
Los datos de cada persona deberán ser guardados en una misma línea por cada persona,
separando los datos de cada persona por un punto y coma. El programa deberá mostrar en pantalla
un mensaje, indicando al usuario si desea ingresar más datos o salir del programa.
Aclaración: Usted debe realizar el control correspondiente de los datos. Por ejemplo: El apellido y
nombre deben ser cadenas de caracteres alfabética; el control de la edad debe ser números enteros y
del número de documento debe ser números enteros (sin considerar el punto decimal) y debe contener
8 dígitos.
13. Codificar un programa en lenguaje C, que permita mostrar en pantalla los datos almacenados en el
archivo de texto creado en el ejercicio anterior, pero en lugar de mostrar el punto y coma, mostrar un
espacio.
14. Codificar en C un programa que muestre el siguiente menú por pantalla:
• Mostrar archivo de texto original.
• Mostrar archivo de texto con caracter reemplazado.
• Salir.
La primera opción pedirá que se ingrese el nombre y ruta (relativa o absoluta) de un archivo de texto
cualquiera, y mostrará por pantalla su contenido. La segunda opción pedirá que se ingrese el caracter a
reemplazar así como también el caracter por el cual se reemplazará al original, y reemplazará en el
archivo todas las ocurrencias del primer caracter por el segundo. Luego mostrara por pantalla el
contenido del archivo con el caracter cambiado.
15. Codificar en C un programa que muestre en pantalla el siguiente menú:
• Mostrar archivo sin ajuste de línea.
• Mostrar archivo con ajuste de línea.
• Salir
La primera opción pedirá el nombre completo y la ruta (relativa o absoluta) de un archivo de texto
cualquiera y lo mostrará por pantalla (en caso de no existir un archivo de texto, crear uno con cualquier
editor). La segunda opción pedirá que se ingrese un número entero y en base a éste se ajustará el
ancho de cada línea del archivo, y lo mostrará.
Por ejemplo: si un archivo de texto cualquiera tiene el siguiente texto:
abcdefghijklmnopqrstuvwxyzabcdefgh
abcdefghijklmnopqrstuvwxyzabcdefghijklm
abcdefghij
y si se ingresa el número 20, el ancho de cada línea del archivo será a lo sumo de 20 caracteres,
quedando de la siguiente forma:
abcdefghijklmnopqrst
uvwxyzabcdefgh
abcdefghijklmnopqrst
uvwxyzabcdefghijklm
abcdefghij
El archivo con esta modificación será guardado en el mismo archivo. En caso de necesitar usar archivos
temporales, al finalizar el programa se deberán borrar los mismos. No se podrán usar variables globales
de ningún tipo. Cada uno de los puntos del menú será implementado por una función distinta.
Pág. 2
Trabajo Práctico Nº 8 – 2008
16. Teniendo en cuenta el ejercicio visto en clase de teoría, completar el mismo agregando un menú que
permita seleccionar las distintas tareas a realizar:
1. Alta.
2. Listado.
3. Búsqueda por Apellido.
4. Búsqueda de personas por edad.
5. Modificación de los datos de una persona que debe buscarse por nombre de la misma.
6. Baja de una persona buscando por apellido de la misma.
Usted debe codificar en lenguaje C las funciones necesarias incluyendo los controles de datos que
considere apropiado. Para facilitar esta tarea, usted tiene en su cuenta una carpeta llamada TP8 que
contiene los siguientes archivos: archivo.h y archivo.c, con el código que se entrego como ejemplo.
Pág. 3
Descargar