FINAL DE ARCHIVO (EOF Y FEOF) CON C. END OF FILE. LEER DATOS DE FICHERO HASTA QUE NO HAYA MÁS. EJEMPLO (CU00543F)

Documentos relacionados
PROGRAMACION EN LENGUAJE C: EJERCICIOS RESUELTOS CON ARRAYS O ARREGLOS Y CICLOS FOR Y WHILE (CU00540F)

BREAK: FORZAR SALIDA BUCLES FOR, WHILE, DO EN C. LOOP. STATEMENT NOT WITHIN LOOP OR SWITCH (CU00545F)

BUCLES EN LENGUAJE C (ESTRUCTURA DE REPETICIÓN) CONDICIÓN, CONTADOR. EJEMPLOS. (CU00533F)

WHILE Y DO WHILE BREAK EN LENGUAJE C. BUCLES MIENTRAS. FORZAR SALIDA O TERMINACIÓN. EJEMPLO (CU00534F)

EJERCICIOS DE PROGRAMACIÓN EN C. DIBUJAR UN ROMBO O DIAMANTE. CALCULAR SUMATORIOS. (CU00542F)

EJERCICIOS CON FUNCIONES EN C. EJEMPLO CALCULAR SERIES NUMÉRICAS. REFACTORIZAR. (CU00552F)

AMBITO DE VARIABLES EN C. GLOBALES Y LOCALES. UNDECLARED (FIRST USE IN THIS FUNCTION). EJEMPLOS (CU00548F)

PASO DE PARÁMETROS O ARGUMENTOS EN C. POR DEFECTO, POR VALOR O POR REFERENCIA. SIZEOF MEMORIA (CU00550F)

Ejercicios resueltos Visual Basic y.net con arrays (arreglos), Do While, For, mod, ficheros, Ubound. Cálculo serie numérica (CU00344A)

FUNCIONES CON Y SIN PARÁMETROS EN C. INVOCAR. SIGNATURAS. ARGUMENTOS. TIPO DE RETORNO (CU00549F)

FUNCIONES EN C QUÉ SIGNIFICA VOID? QUÉ ES EL TIPO DE RETORNO? PARA QUÉ SIRVE RETURN? MÓDULOS (CU00547F)

LECTURA Y ESCRITURA (fwrite) DE ARCHIVOS DE TEXTO CON PHP. MODOS DE ACCESO. EJERCICIOS RESUELTOS Y EJEMPLOS. (CU00837B)

Visual Basic y.net Do Loop, Exit Do, Exit For y GoTo. Ejemplos y ejercicios resueltos. (CU00337A)

Tema 5. Entrada y Salida

Ejercicio final de señaleros resuelto con pseudocódigo. Organización previa de variables. Diagramas de flujo. (CU00171A)

LEER Y ESCRIBIR ARCHIVOS DE TEXTO CON PHP. FUNCIONES FOPEN (MODOS), FGETS, FPUTS, FCLOSE Y FEOF. EJEMPLOS (CU00836B)

DEFINICIONES BÁSICAS DE LAS ESTRUCTURAS DE DATOS

Ficheros conceptos. Manejo de ficheros en C. Apertura del fichero Función fopen: nombre del fichero. Apertura del fichero Función fopen

Objetivos. El alumno conocerá y aplicará el concepto de archivo para el almacenamiento y recuperación de datos persistentes.

Problemas de programación con iteración para buscar soluciones. Ejercicio resuelto. Diagramas de flujo. (CU00254A)

Ejercicio ejemplo de diagramas de flujo y pseudocódigo. Verificación de algoritmos. (CU00240A)

SESIÓN DE EJERCICIOS E1

Tema 6. Gestión de ficheros en C. Programación en Lenguajes Estructurados

Operaciones de E/S en ANSI C

TEMA 4. ESTRUCTURAS DE CONTROL

EJERCICIOS BÁSICOS DE PROGRAMACIÓN EN C RESUELTOS. VARIABLES, PRINTF, SCANF, CÁLCULOS. (CU00527F)

Algorítmica y Lenguajes de Programación. Ficheros

FUNCIONES PHP: DECLARACIÓN Y LLAMADAS. PARÁMETROS, RETURN. EJERCICIOS EJEMPLOS RESUELTOS. (CU00827B)

Introducción a la Programación en C Gestión de Ficheros

Ejercicio resuelto: variante para ordenar una serie de números. Pseudocódigo y diagrama de flujo. (CU00262A)

Programación 1 Grado de Ingeniería Robótica

Laboratorio de Arquitectura de Redes. Entrada y salida estándar

SESIÓN DE EJERCICIOS E1

Capítulo 13 INSTRUCCIONES DE CONTROL REPETITIVAS. Presentación resumen del libro: "EMPEZAR DE CERO A PROGRAMAR EN lenguaje C"

Capítulo 12 INSTRUCCIONES DE CONTROL ALTERNATIVAS. Presentación resumen del libro: "EMPEZAR DE CERO A PROGRAMAR EN lenguaje C"

Ejercicios ejemplo: verificación de algoritmos del valor suma de una sucesión matemática. (CU00238A)

Ejemplos Visual Basic: función Val, arrays de controles, generar números aleatorios, ficheros de texto. (CU00333A)

Visual Basic: paso de parámetros por referencia ByRef y por valor ByVal. Procedimientos y funciones. (CU00341A)

REPASO ARRAYS O ARREGLOS UNIDIMENSIONALES EN JAVA. EJEMPLOS DE CÓDIGO. (CU00903C)

Capítulo 11 INTRODUCCIÓN A LA CODIFICACIÓN EN C. Presentación resumen del libro: "EMPEZAR DE CERO A PROGRAMAR EN lenguaje C"

Ejercicios ejemplos resueltos con Desde-Siguiente (For-next) y arrays en pseudocódigo y diagramas de flujo. (CU00154A)

Ubound y Lbound en Visual Basic. Conocer índice superior e inferior de arrays (arreglos) Ejemplos y ejercicios. (CU00343A)

IMPORTAR Y USAR CLASES DEL API DE JAVA. EJEMPLO CLASE MATH Y MÉTODO POW. CONSTRUCTORES PRIVADOS. (CU00647B)

FUNCIONES JAVASCRIPT. CONCEPTO. PARÁMETROS O ARGUMENTOS Y TIPOS. PASO POR VALOR. RETURN. EJEMPLOS. (CU01122E)

NXA FUNCIONES PARA EXTRACCIÓN DE DATOS

Arrays unidimensionales. Dim.Option Base. Erase. Ejemplos en Visual Basic (CU00311A)

ALGORITMOS II PSEUDOCODIGOS INTRODUCCION AL PSEINT CORPODICES VICTOR ANDRES OCHOA CORREA

Informática Ingeniería en Electrónica y Automática Industrial

TEMA 7: Ficheros. TEMA 7: Ficheros Concepto de fichero

Escuela Politécnica Superior de Elche

$0 Representa al parámetro cero o nombre del programa $1 Representa al parámetro uno $2 Representa al parámetro dos

FUNCIONES DE CADENAS DE CARACTERES (STRINGS) EN PHP. CONCATENACIÓN. STRLEN (LONGITUD) Y SUBSTR (EXTRAER SUBCADENA). (CU00821B)

Biblioteca de templates. template <typename T> void eliminar(t arr[], int& len, int pos);

LENGUAJE. Tema 8 Ficheros

Lenguaje de Programación: C++ ARCHIVOS I/O

GUÍA DE TRABAJO Tecnología en Sistemas de Información

Objetivos de la práctica: - Practicar uso de ficheros: abrir, cerrar y tratamiento de información contenida en el fichero.

Codificación de Estructuras Repetitivas

Programación I Ficheros de texto

Informática PRÀCTICA 9 Curs Práctica Nº 9: Rango y precisión de representación de números en el ordenador.

Actividad Algoritmos, Estructura y Programación I. FOR, DO-WHILE

Ejercicios resueltos ejemplo de leer datos desde ficheros con Visual Basic, variables, bucles For Next y condicionales If.

Ejercicio ejemplo resuelto: verificar el algoritmo de resolución de una ecuación de segundo grado. (CU00237A)

CREAR TABLAS EN BASES DE DATOS CON phpmyadmin. TIPOS DE DATOS BÁSICOS (VARCHAR, INT, FLOAT). INSERTAR FILAS. (CU00840B)

Instituto Técnico Jesús Obrero 4to año Programación Profesor: Luis Vallenilla

FUNDAMENTOS DE INFORMÁTICA

Fundamentos de programación

Programación Estructurada

TEMA 5. CONTROL DE FLUJO DEL PROGRAMA. Sentencia Instrucción Expresión Operadores + Operandos Sintaxis: Sentencia ;

Palabras reservadas de C++ y C. Una palabra reservada no puede declararse como un identificador, esto haría un conflicto entre conectores y funciones.

Ejercicio algoritmo de manejo de lista de datos. Parte II. Diagramas de flujo. (CU00220A)

LA PALABRA CLAVE THIS EN JAVA. CONTENIDO NULL POR DEFECTO DE UN OBJETO. SOBRECARGA DE NOMBRES. EJEMPLOS (CU00654B)

INSTITUTO NACIONAL SUPERIOR DEL PROFESORADO TÉCNICO - TÉCNICO SUPERIOR EN INFORMÁTICA APLICADA - PROGRAMACIÓN I

Ejercicios ejemplos resueltos. Verificar algoritmos o programas con tablas de variables. (CU00236A)

Archivos en lenguaje C

Lección 3 Sentencias de control

Desde los programas más simples escritos en un lenguaje de programación suelen realizar tres tareas en forma secuencial.

ALGORÍTMICA. Dpto. Ingeniería de Sistemas y Automática Facultad de Ciencias Universidad de Valladolid.

Programación Estructurada

Sentencias DO-WHILE EN C++

Capítulo 3. Sentencias condicionales

Esquemas repetitivos en Fortran 90. Esquemas repetitivos en Fortran 90. Esquemas repetitivos en Fortran 90. Tipos de Esquema

EJERCICIO Y EJEMPLO RESUELTO: USO DE LA INTERFAZ CLONEABLE DE JAVA. MÉTODO CLONE() PARA CLONAR OBJETOS. (CU00912C)

Agradecimientos. Nota de los autores. 1 Problemas, algoritmos y programas 1

Programación I Funciones

TIPOS DE DATOS (VARIABLES) EN JAVA. TIPOS PRIMITIVOS (INT, BOOLEAN, ETC.) Y OBJETO (STRING, ARRAY, ETC.) (CU00621B)

PHP: Lenguaje de programación

Introducción al lenguaje C

Control de Flujo. Estructuras de Control! Experiencia Educativa de Algorítmica CONTROL DE FLUJO

ESCUELA POLITÉCNICA SUPERIOR PRÁCTICA 2: EXPRESIONES, PRINTF Y SCANF

Dobles: Es el caso de la instrucción if-else (punto 1.2).

Soluciones a los ejercicios planteados en el curso

PYTHON. Programación básica

Programación Estructurada

Tema 3: Entrada/Salida de Ficheros

Programación de Videojuegos Tema 15 Tipos de Dato I. 15. Tipos de Dato I

Operadores aritméticos

Esquemas repetitivos en Fortran 90

QUÉ ES UNA CLASE JAVA? ATRIBUTOS (PROPIEDADES O CAMPOS), CONSTRUCTOR Y MÉTODOS. (CU00623B)

Cuales son los tipos de instrucciones que se utilizan en la programación?

Transcripción:

APRENDERAPROGRAMAR.COM FINAL DE ARCHIVO (EOF Y FEOF) CON C. END OF FILE. LEER DATOS DE FICHERO HASTA QUE NO HAYA MÁS. EJEMPLO (CU00543F) Sección: Cursos Categoría: Curso básico de programación en lenguaje C desde cero Fecha revisión: 2031 Resumen: Entrega nº43 del curso básico Programación C desde cero. Autor: Mario Rodríguez Rancel

FIN DE ARCHIVO. EOF Y FEOF EN C EOF (End Of File) es un parámetro booleano útil para facilitar el cierre de bucles de extracción de datos desde archivo. En C, EOF es una constante de tipo entero (normalmente -1) que es el retorno que envían distintas funciones de extracción de información desde archivos al llegar a un final de archivo y no existir más datos. También se puede simular EOF mediante una entrada de teclado, normalmente CTRL+Z y enter ó CTRL+D y enter según el sistema operativo que empleemos. Prueba este código, cuya ejecución debe concluir al pulsar CTRL-Z y enter ó CTRL-D y enter. int entrada=0; printf("escribe un caracter: "); while ((scanf("%c%*c", &entrada))!= EOF) { printf("la entrada no ha sido EOF\n", EOF); printf("escribe un caracter:\n"); return 0; // Ejemplo aprenderaprogramar.com Pero el interés principal de EOF está en la extracción de datos desde archivos. Recordemos que para acceder a un fichero usábamos FILE* nombreinternofichero; Si se trata de extraer mayor número de datos del que existen en un archivo aparecerá un error del tipo "La entrada de datos ha sobrepasado el final del archivo". Para evitarlo utilizaremos la función feof con esta sintaxis: while (!feof(fichero)) Consideremos el archivo libros.dat donde teníamos 10 datos numéricos.

La extracción de datos usando feof se haría de la siguiente manera (para ello debemos crear el archivo libros.dat y ubicarlo en el directorio de trabajo): // Ejemplo aprenderaprogramar.com int valorint; FILE* fichero; fichero = fopen("libros.dat", "rt"); while (!feof(fichero)) { fscanf (fichero, "%d", &valorint); printf ("Extraido: %d \n", valorint); fclose(fichero); puts ("\n\nalcanzado el final del fichero"); return 0; El resultado esperado es que se muestre: Extraido: 55 Extraido: 10 Extraido: -99 Extraido: 35 Extraido: 7 Extraido: -66 Extraido: 88 Extraido: 12 Extraido: -33 Extraido: -500 Alcanzado el final del fichero. EJERCICIO Nº1: ENUNCIADO Transformar en código el siguiente pseudocódigo y razonar para comprender su lógica. En un fichero tenemos las notas establecidas entre 0 y 10 de un grupo de alumnos de una clase. Cada nota está en una línea del fichero. Se desean extraer las notas en un array nota(1), nota(2),, nota(n) y en base al sumatorio de dicho array, determinar la nota media. Dado que no se conoce el número de alumnos a priori, deberá emplearse la señal Fin de archivo (EOF) para la extracción de datos. Considerar que el número de datos es igual o inferior a 50. Pseudocódigo: 1. Inicio [Media con Finarchivo aprenderaprogramar.com] 2. Mientras Finarchivo = Falso Hacer i = i + 1 Leer Nota(i) Suma = Suma + Nota(i) Repetir 3. Media = Suma / i 4. Mostrar La nota media de la clase es, Media 5. Fin

EJERCICIO Nº1: SOLUCIÓN Vamos a considerar que el archivo con los datos es notas.dat y que contiene los siguientes 35 valores: 6 7 8 5 6 4 7 8 7 10 0 5 6 7 6 5 0 7 8 10 2 3 4 5 6 7 6 5 4 10 4 3 2 3 4 En el fichero habrá un dato en cada línea. Aquí los hemos escrito separados por guiones por motivos de espacio. El código sería el siguiente: #define NUMELEMENTOS 50 // Ejercicios resueltos aprenderaprogramar.com int i=0; double nota[numelementos]; double suma=0.0; double media=0.0; FILE* fichero; fichero = fopen("notas.dat", "rt"); while (!feof(fichero)) { fscanf (fichero, "%lf", &nota[i]); suma = suma + nota[i]; i = i+1; //Valor final de i será 35 fclose(fichero); media = suma/i; printf ("La media es %lf", media); return 0; EJERCICIO En un archivo denominado mitexto.txt existen varias líneas de texto. Crear un programa que extraiga el contenido de las líneas hasta el final del archivo usando eof ó feof y las muestre por pantalla. Ejemplo: si el contenido del archivo es el siguiente. Cumpliendo con mi oficio piedra con piedra, pluma a pluma, pasa el invierno y deja sitios abandonados. El resultado de ejecución deberá ser el siguiente:

Linea 1 contiene: Cumpliendo con mi oficio Linea 2 contiene: piedra con piedra, pluma a pluma, Linea 3 contiene: pasa el invierno y deja Linea 4 contiene: sitios abandonados. Añade varias líneas más al archivo y comprueba que el programa las extrae todas. Para comprobar si tus respuestas son correctas puedes consultar en los foros aprenderaprogramar.com. Próxima entrega: CU00544F Acceso al curso completo en aprenderaprogramar.com -- > Cursos, o en la dirección siguiente: http://www.aprenderaprogramar.com/index.php?option=com_content&view=category&id=82&itemid=210