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