Descarga la aplicación para disfrutar aún más
Vista previa del material en texto
Universidad Nacional Autónoma de Nicaragua, León Facultad de Ciencias y Tecnología Departamento de Computación Componente: Algoritmos y Estructuras de Datos Guía de Laboratorio TEMA: Manejo de Ficheros en Lenguaje C Elaborado por: Juan Carlos Antón Soto “A la libertad por la Universidad” Algoritmos y Estructuras de Datos 2 TABLA DE CONTENIDOS 1. Ejercicios de Ficheros ...................................................................................................................... 3 1.1. Ejercicio 1 (Frases en un archivo) ............................................................................................ 3 1.2. Ejercicio 2 (Registro de una persona en un archivo) .............................................................. 4 1.3. Ejercicio 3 (Registros de personas en un fichero) .................................................................. 5 1.4. Ejercicio 4 (Ejercicios básicos con Ficheros binarios) .............................................................. 5 2. Bibliografía ...................................................................................................................................... 6 Algoritmos y Estructuras de Datos 3 1. Ejercicios de Ficheros 1.1. Ejercicio 1 (Frases en un archivo) Crea un programa que vaya leyendo las frases que el usuario teclea y las guarde en un fichero de texto llamado “registroDeUsuario.txt”. Terminará cuando la frase introducida sea "fin" (esa frase no deberá guardarse en el fichero). #include <stdio.h> #include <string.h> int main() { FILE *ptFichero; char *fin="fin"; char frase[60]; ptFichero = fopen("c:/FICHEROS/registroDeUsuario.txt", "wt"); printf(" PROGRAMA para ESCRIBIR FRASES.\nCuando quiera salir," " escriba la palabra fin.\n\n"); do { puts("\nEscriba una FRASE:\n(o fin). \n"); gets(frase); ______________________________ //verifique que la entrada ha sido “fin” _______________ //en caso de ser fin salga del ciclo //envíe la frase al archivo registroDeUsuario.txt _____________________________ } while (_______________________); fclose(ptFichero); return 0; } Algoritmos y Estructuras de Datos 4 1.2. Ejercicio 2 (Registro de una persona en un archivo) Crear una estructura que almacene los siguientes datos de una persona: nombre, edad, ciudad de residencia. Pedir al usuario esos datos de la persona y guardarlos en un fichero llamado “gente.dat”. Cerrar el fichero, volverlo a abrir para lectura y mostrar los datos que se habían guardado. Analice el código siguiente y de una solución en caso de encontrar algún error en el. #include <stdio.h> struct datos { char nombre[21]; int edad; char ciudad[21]; } persona; int main() { FILE *fichero; fichero = fopen("c:/FICHEROS/gente.dat", "wt"); if (fichero == NULL) printf("No se pudo abrir el archivo.\n"); else { puts("Nombre:"); gets(persona.nombre); fprintf(fichero, "%s ", persona.nombre); puts("Edad:"); scanf("%d", &persona.edad); getchar(); fprintf(fichero, "%d ", persona.edad); puts("Ciudad:"); gets(persona.ciudad); fputs(persona.ciudad, fichero); fclose(fichero); } fichero = fopen("c:/FICHEROS/gente.dat", "rt"); if (fichero == NULL) printf("No se pudo abrir el archivo.\n"); else { do { fscanf(fichero,"%s",&persona.nombre); Algoritmos y Estructuras de Datos 5 printf("%s ", persona.nombre); fscanf(fichero, "%d", &persona.edad); getchar(); printf("%d ", persona.edad); fscanf(fichero, "%s", &persona.ciudad); printf("%s\n",persona.ciudad); } while (!feof(fichero)); fclose(fichero); } //fin del else return 0; } 1.3. Ejercicio 3 (Registros de personas en un fichero) Ampliar el programa anterior para que use un “array de estructuras”, de forma que se puedan tener datos de 10 personas. Se deberá pedir al usuario los datos de estas personas y guardarlos en el fichero. Después se pedirá al usuario un número del 1 al 10 y se mostrarán los datos de la persona indicada por ese número, que se deberán leer del fichero (1 será la primera ficha, y 10 será la última). Por ejemplo, si el usuario indica que quiere ver los datos de la persona 3 (tercera), se deberá leer las dos primeras, ignorando su contenido, y después leer la tercera, que sí se deberá mostrar. De una solución al ejercicio. 1.4. Ejercicio 4 (Ejercicios básicos con Ficheros binarios) #include <stdio.h> int main() { int x, n, a[10]={1,2,3,4,5,6,7,8,9,0}; int b[10]; char nombre[]="Ejercicios ficheros binarios"; FILE *binario = NULL; //Escribe las instrucciones para realizar cada una de las //siguientes operaciones. //1. Abre el fichero binario.dat ubicado dentro del directorio: //c:/FICHEROS de modo que pueda escribir en forma binaria. //verifica si se pudo abrir. ___________________________________________ if (____________________________) Algoritmos y Estructuras de Datos 6 { printf("Archivo listo para escribir\n\n"); //2. Pide por pantalla un numero entero y escribe ese dato en el fichero printf("Ingrese un valor entero: "); scanf("%d", &x); ________________________________________ //3. Escribe los 5 primeros elementos del array en el fichero. ___________________________________________ //4. Escribir los 10 primeros caracteres de la cadena nombre en el fichero. ____________________________________________ //5. Cerrar el fichero biniario y luego ábrelo para que puedas extraer //los 5 primeros numeros guardados anteriormente del arreglo 'a' ___________________________ ____________________________________________ //mueve el puntero lectura/escritura asociado al fichero apuntado por binario a la //localización inicial para dar lectura de los valores almacenados del arreglo __________________________________ //Lee los valores con la función fread _____________________________________ printf("Extraccion de numeros\n”); for(n=0;n<5;n++) printf("%5d",b[n]); printf("\n\n"); } else printf("El archivo no se pudo abrir\n\n"); return 0; } 2. Bibliografía Ceballos, Francisco Javier: C/C++ Curso de Programación, 2da Edición. Editorial RAMA. 2002. Joyanes Aguilar, Luis; Zahonero Martínez Ignacio: Programación en C. McGraw Hill, 2001. Gottfried, Bryan S: Programación en C. McGraw Hill, 1991.
Compartir