Fundamentos de Informática ETSII. Tema 2: Entrada y Salida de Datos. Ficheros.

Documentos relacionados
Tema 5. Entrada y Salida

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

CAPITULO 4: ENTRADA Y SALIDA DE DATOS.

TEMA 2. LENGUAJE C. CONCEPTOS BÁSICOS Y PROGRAMACIÓN ELEMENTAL.

Operaciones de E/S en ANSI C

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

Ficheros. Archivo, o fichero: Características:

Fundamentos de Informática 7. Introducción al manejo de archivos

Programación en C. Algoritmo y Estructura de Datos. Ing. M. Laura López. Programación en C

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

Departamento de Electrónica

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

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

Tema 3. Entrada y Salida

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

Tema 3: Entrada/Salida de Ficheros

PROGRAMACIÓN EN LENGUAJE C VARIABLES Y CONSTANTES

Para C un chero no es más que una porción de almacenamiento

Fundamentos de Informática 4. Primeros Programas, Primeros Diseños

Fundamentos de Informática

Caracter a caracter los datos pueden ser escritos o leidos carácter a carácter, con las funciones fputc() y fgetc().

Tipos de variables. Lenguaje C. Departamento de Electrónica. Tipos de datos, variables y constantes. Fundación San Valero

TEMA 2. EL LENGUAJE C. ELEMENTOS BÁSICOS

Práctica 2. Desarrollo de programas. Entrada y salida estándar en C.

Una clasificación de los tipos de datos existentes en los diferentes lenguajes de programación se presenta a continuación:

ENTRADA/SALIDA. Relación Programa - Sistema Operativo - Hardware

INICIACIÓN A LA PROGRAMACIÓN EN C

Bloque 9. Ficheros de texto

Tipos de Datos en C. Palabras reservadas en C

Tema 2 Elementos básicos en C

Tema 13: Manejo de archivos en lenguaje C

Programación : C (6)

En este artículo vamos a conocer los tipos de datos que podemos manejar programando en C.

INTRODUCCIÓN AL LENGUAJE C

Archivos. Programación en C 1

Concepto Concept s Los L nom res re d e e los h c eros: exter te n r os o o fí s fí ico nom re ú nico i del del ar chiv chiv o o o ficher ficher en

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

Tipos de datos y Operadores Básicos

Índice. Estructuras de datos en Memoria Principal: Vectores. Matrices. Cadenas de caracteres. Estructuras. Estructuras de datos en Memoria Externa:

Lenguaje de programación C. Introducción

Tipos de Datos. Tipos de Datos Simples Estándar

Lenguajes de programación

Programación I Teoría : Entrada/Salida - Archivos.

Por ejemplo, para declarar un arreglo de enteros llamado a con diez elementos se hace de la siguiente forma:

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

Archivos & Cadenas CURSO DE PROGRAMACIÓN EN C. Centro de Investigación y de Estudios Avanzados del IPN. CINVESTAV - Tamaulipas.

LENGUAJE. Tema 3 Elementos de un programa II

Introducción a la Programación

LENGUAJE. Tema 8 Ficheros

Números enteros (cortos, largos y sin signo) Números reales (precisión simple y doble) Carácter y cadenas de caracteres. Lógicos.

Programación I Teoría I.

Desarrollo de Programas. Prof. Lisbeth C. Pérez Rivas

EQUIVALENCIAS EN C DE CONSTRUCCIONES SECUENICIALES EN PSEUDOCÓDIGO

Programación. Ejercicios Tema 3. Elementos Básicos del Lenguaje C

Entrada de datos y salida de resultados.

APELLIDOS NOMBRE GRUPO CALIFICACIÓN FECHA

6. Archivos. Programación II, FCFM, BUAP

INICIACIÓN A LA PROGRAMACIÓN EN C

Archivos en lenguaje C

1. Presentación del lenguaje C Creado en 1972 por D. Ritchie Lenguaje de propósito general Portátil o transportable (generalmente) Inicialmente de niv

Informática PRÀCTICA 2 Curs

Programación En Lenguaje C

Boletín de ejercicios de la asignatura de INFORMÁTICA para la realización de las prácticas de laboratorio. Ejercicios de Estructuras de Control

LEER RECUPERAR EXTRAER DATOS DE FICHEROS O ARCHIVOS EN C. FGETC, GETC, FGETS, FSCANF. EJERCICIOS (CU00538F)

CAPITULO 2: VARIABLES Y CONSTANTES

Fundamentos de Informática ETSII. Tema 3: Estructuras de Selección.

Elementos de un programa en C

EJERCICIOS DE PROGRAMACIÓN EN C. PASO DE PSEUDOCÓDIGO A CÓDIGO. BUCLES, CONDICIONES (CU00539F)

Programcaión Básica. Arreglos y Estructuras de Datos (2)

UNIDAD ACADÉMICA PROFESIONAL TIANGUISTENCO

Tema 07: Tipos de datos en C & entrada y salida estándar

Lenguaje C Entrada y Salida de Datos. Omar Andrés Zapata Mesa Grupo de Fenomenología de Interacciones Fundamentales, (Gfif) Universidad de Antioquia

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

Guía básica de programación en C++ estructurado. Manejo básico de la parte estructurada de C++

Objetivo N 2. Conocer la Estructura General de un Programa en C++ Estructura de Datos Prof. Egilde Márquez

OPERADORES Y EXPRESIONES

Programación. Test Autoevaluación Tema 3

ASIGNATURA PROGRAMACIÓN EN C++ GUÍA: 1 DOCENTE. LIZETH CORTÉS VARIABLES C++

DOCUMENTACIÓN PARA EL TRABAJO CON LA PLATAFORMA GUADALBOT

Procesamiento de Archivos

Teoría 8: Segunda Parte. Estructuras de Datos y Funciones de Entrada en Lenguaje C

PROGRAMACION ESTRUCTURADA: Tema 1. El lenguaje de programación C

Tema 2: Elementos básicos de un programa. Tipos de datos, variables y constantes Asignación Operadores y expresiones

Entrada y salida de datos en C y C++

Tema 10: Estructuras de control de entrada y salida

1.4 Ficheros m. Entrada y salida de datos por consola.

7. Manejo de Archivos en C.

Archivos. Conceptos SESION 13

Principios de Computadoras II

TEMA 8. Ficheros. 1. Introducción

Autoestudio 2: Variables y Operadores

Índice. Estructuras de datos en Memoria Principal. Vectores. Matrices. Cadenas de caracteres. Estructuras. Estructuras de datos en Memoria Externa

Descripción de un Programa

Soluciones a los Ejercicios Propuestos en el libro: EMPEZAR DE CERO A PROGRAMAR EN lenguaje C. Autor: Carlos Javier Pes Rivas

Repaso Lenguaje C Área de Servicios Programación (Ing. Elect. y Prof. Tec.), Programación I (TUG y TUR) y Electrónica programable (TUE)

Transcripción:

Fundamentos de Informática ETSII Tema 2: Entrada y Salida de Datos. Ficheros. Departamento de Sistemas Informáticos y Computación Universidad Politécnica de Valencia 1 Índice 1. Introducción: E/S 2. Entrada de datos 3. Salida de datos 4. Formato de E/S: modificadores de los códigos de control 5. Ficheros 2 1

Objetivos Consolidar los conocimientos de los operadores básicos de C Construir un programa en C capaz de leer datos del usuario, realizar un cálculo sencillo y extraer un resultado Manejar un entorno de desarrollo 3 1. Introducción: E/S Funciones de E/S: transportan datos hacia o desde el programa. Entrada Introduce información en el computador. Salida Extrae información desde el computador No forman parte de la definición de C, son funciones de librería. El estándar ANSI define una biblioteca de E/S que permite tener una E/S común a todos los sistemas, para hacer los programas portables: stdio.h. Por eso se añade a todos los programas: #include <stdio.h> 4 2

Entrada: el usuario introduce datos al programa (escribe por teclado) Salida: el programa muestra datos por pantalla. Entrada Lectura Salida Escritura Entrada: puede ser también desde fichero (lee los datos de un fichero). Salida: puede ser también a fichero (escribe datos en un fichero). 5 2. Salida de datos por pantalla (escritura) printf ( cadena de control, lista de variables); Cadena de control: indica como se van a visualizar los datos. Formada por literales y caracteres de control. Los caracteres de control indican como deben visualizarse los datos en pantalla. Variables: se separan por comas. Puede incluir constantes. Para cada variable o constante a mostrar debe existir un carácter de control. 6 3

Salida de un único carácter (escritura) putchar(): escribe un carácter por pantalla. Ejemplo: char c = j ; putchar(c); Ejemplo: char ch; ch = getchar(); putchar(ch); putchar(getchar()); 7 Caracteres de control Carácter de control %d %u %ld %c %f %e %s %o %x Dato Entero Entero sin signo Entero Largo Carácter Real en coma flotante Real en notación científica Cadena de caracteres Octal Hexadecimal 8 4

Caracteres de control Imprimir el carácter % dentro de la cadena de control: %%. Los caracteres que se visualizan con %c deben ir entre comillas simples, para %s deben ir entre comillas dobles. Igual número de argumentos que de comandos de formato. Un tipo de datos puede convertirse a otro tipo de datos en pantalla utilizando los caracteres de control adecuados. Para saltar de línea se incluye \n en la cadena de control. Para incluir un tabulador se pone \t. 9 Ejemplo int a=4, b=5, c; c= a + b; printf( La suma es %d\n, c); printf( %d + %d = %d\n, a, b, c); printf( Hola ); printf(, Qué tal?\n ); La suma es 9 4 + 5 = 9 Hola, Qué tal? 10 5

Ejemplo int ganancia=20; printf( La ganancia es del %d%%.\n,ganancia); La ganancia es del 20%. printf( Esto es un carácter: %c.\n, a ); printf( Esto es una cadena: %s.\n, Hola mundo ); Esto es un carácter: a. Esto es una cadena: Hola mundo. printf( Entero: %d Real: %f\n, 9.3, 9.3); Entero: 9 Real: 9.3 11 Ejemplo int codigo=89, n1=4, n2=66, n3=7, n4=8, n5=53, desc=10; Código del artículo 89 float precio=400; Letra de control del artículo H char control= H ; Precio del artículo 400 (descuento:10%) Cinco números enteros 4 66 7 8 53 printf( Código del artículo %d\n, codigo); printf( Letra de control del artículo %c\n, control); printf( Precio del artículo %f (descuento:%d%%)\n, precio, desc); printf( Cinco números enteros %d %d %d %d %d\n, n1, n2, n3, n4, n5); 12 6

Ejemplo Instrucción char c=65; printf ( El carácter %c tiene el ASCII %d\n, c, c); printf ( Mi nombre es %s\n, Carmen ); Salida El carácter A tiene el ASCII 65 Mi nombre es Carmen 13 Ejemplo Instrucción printf( %s y esto un entero %d, Esto es una cadena, 100); printf( El descuento es del %d%%, 25); printf( %d es entero, %f es real, 10, 10); int i=1; printf( línea %d\nlínea %d, i, i++); printf( %s: %d-%x, Número en decimal y hexadecimal, 10, 10); El descuento es del 25% 10 es entero, 10.00000 es real línea 1 línea 2 Salida Esto es una cadena y esto un entero 100 Número en decimal y hexadecimal: 10-A 14 7

Utilización de printf para conversiones Instrucción printf( %d\n, 336); Salida 336 Comentarios printf( %o\n, 336); 520 5 64 + 2 8 + 0 1 = 336 printf( %x\n, 336); 150 1 256 + 5 16 + 0 1 = 336 printf( %d\n, -336); -336 printf( %u\n, -336); printf( %c %d\n, A, A ); 65200 A 65 Los números se representan en C2, por lo que los valores positivos se representan como tales y los negativos complementados. printf( %d %c\n,336,336); 336 P El ASCII de P es 80 (256 + 80 = 336) printf( %ld %d\n, 65616, 65616); 65616 80 En el segundo caso, los números entre 32767 y 65536 serían negativos, como sobrepasa el número pasa a ser 80 positivo. 15 3. Entrada de datos de teclado (lectura) scanf ( cadena de control, lista de variables); Para leer un valor perteneciente a cualquiera de los tipos básicos, se usa el nombre de la variable precedido por &. Para leer una variable de tipo cadena de caracteres, no se pone & (ya es un puntero). La cadena de control no debe tener espacios en blanco. Para separar los datos de entrada se usan blancos, tabulaciones o intro (excepto char, no es necesario). 16 8

Entrada de un único carácter (lectura) Toma un carácter de la entrada y lo retorna: getchar(): entrada estándar. getch(): teclado. getche(): teclado con eco en pantalla. Ejemplo: char c; c = getchar(); 17 Ejemplo int edad; float sueldo; char mascota[30]; printf( Edad, sueldo y mascota favorita?\n ); scanf( %d%f%s, &edad, &sueldo, mascota); 18 9

Ejemplo int a, b; Antes de un scanf hay que escribir un printf, para que el usuario sepa lo que debe introducir. printf( Introduzca dos valores enteros:\n ); scanf( %d%d, &a, &b); printf( %d + %d = %d\n, a, b, a+b); 19 Ejemplo int a, b; La cadena de control de scanf sólo puede contener comandos de control. La cadena de control de printf puede tener cualquier cosa. printf( Introduzca dos valores enteros\n ); scanf( %d %d, &a, &b); Error: tiene blancos scanf( Introduce a y b: %d%d, &a, &b); Error: tiene caracteres y blancos printf( %d + %d = %d\n, a, b, a+b); 20 10

Ejemplo Las variables de scanf van precedidas por & (excepto las cadenas de caracteres). Las variables de printf no van precedidas de &. int a, b; printf( Introduzca dos valores enteros\n ); scanf( %d%d, a, b); Error: falta & printf( %d + %d = %d\n, &a, &b, &a+b); Error: sobra & 21 Ejemplo #define n 100 int a, b; printf( Introduzca dos valores enteros\n ); scanf( %d%d, &n, &7); En scanf sólo puede aparecer variables. En printf pueden aparecer variables, constantes o expresiones. Error: se intentan leer constantes printf( %d + %d = %d\n, a, 7, a+7); 22 11

Ejercicio Realizar un programa que calcule el perímetro de una circunferencia solicitando los datos al usuario. #define PI 3.14159 float radio, perimetro; printf( Por favor, introduzca el radio de la circunferencia: ); scanf( %f, &radio); perimetro = 2*PI*radio; printf( El perímetro de la circunferencia es %f, perimetro); 23 Ejercicio Realizar un programa que calcule el área de un círculo (πr 2 ). #define PI 3.14159 float radio, area; printf( Por favor, introduzca el radio de la circunferencia: ); scanf( %f, &radio); area = PI*radio*radio; printf( El área del círculo vale %f\n, area); 24 12

Ejercicio Realizar un programa que calcule la mitad, el cuadrado y el cubo de un número. float numero; printf( Por favor, introduzca el número: ); scanf( %f, &numero); printf( La mitad de %f es %f, numero, numero/2); printf( El cuadrado de %f es %f, numero, numero*numero); printf( El cubo de %f es %f, numero, numero*numero*numero); 25 Otra versión: #include <math.h> float numero; printf( Por favor, introduzca el número: ); scanf( %f, &numero); printf( La mitad de %f es %f, numero, numero/2); printf( El cuadrado de %f es %f, numero, pow(numero,2)); printf( El cubo de %f es %f, numero, pow(numero,3)); 26 13

Ejercicio Realizar un programa que pida la cantidad de artículos disponibles y su precio, y calcule el valor de las existencias. float precio; int cantidad; printf( Introduzca la cantidad de artículos: ); scanf( %d, &cantidad); printf( Introduzca el precio de los artículos: ); scanf( %f, &precio); printf( El valor de las existencias es de %f, cantidad*precio); 27 4. Formato de E/S Los modificadores de los códigos de control permiten dar formato a los datos en pantalla: Presentar datos en forma de tabla. Tamaño de los datos. Número de posiciones decimales. Se colocan en los comandos de control de printf entre el % y la letra posterior (por ejemplo %3d). 28 14

Modificadores de los códigos de control Anchura mínima de campo % [0] anchura comando_de_formato La salida se rellena con espacios en blanco a la izquierda hasta alcanzar la anchura. Para rellenar con ceros se coloca un cero delante de la anchura. Si la anchura del campo es mayor que la indicada, se mostrará completo. 29 Modificadores de los códigos de control Número de decimales (reales) % X.Y comando_de_formato X es el número total de posiciones (mínimo) que ocupa. Y es el número de posiciones decimales. El punto ocupa una posición. Si el número de decimales es mayor que el especificado se trunca. Si el número de posiciones es menor que el necesario, muestra la parte decimal con Y decimales y completa la parte entera. 30 15

Modificadores de los códigos de control Formateo de cadenas (sólo cadenas) % X.Y s X es el número mínimo de caracteres. Y es el número máximo de caracteres. Si la cadena es más larga de Y posiciones, la salida se truncará. 31 Modificadores de los códigos de control Ajuste % - comando_de_formato Por defecto, todas las salidas se ajustan a la derecha. Signo menos (-): ajuste a la izquierda. 32 16

Modificadores de los códigos de control Números largos (solo numéricos) % l comando_de_formato Tipo numérico long. 33 Modificadores de los códigos de control Modificador * para printf %_*[.*]_comando de formato Con * se ajusta la longitud del campo mediante un argumento que se indica previamente como un ítem más de la lista de argumentos. Para valores en coma flotante se indica la anchura total y el número de decimales (*.*). printf( Cual es el ancho?\n ); scanf( %d\n, &ancho); printf( El número es %*d\n, ancho, numero1); printf( Cifras decimales y ancho total?\n ); scanf( %d %d\n, &decimales, &ancho); printf( El número es %*.*f\n, ancho, decimales, numero2); 34 17

Modificadores de los códigos de control Modificador * para scanf %_*_comando de formato No se almacena ese valor en una variable. /* Lee sólo el tercer entero */ scanf( %*d%*d%d, &n); 35 Ejemplo El carácter representa un espacio en blanco Printf printf ( %6d,34); printf ( %06d,34); printf ( %5.2f,3.4); printf ( %5.2f,3.456); printf ( %5.7, hola ); printf ( %2.3, hola ); printf ( %-10s, hola ); printf ( %-5.2f,3.452); printf ( %d, 336); printf ( %2d, 336); printf ( %10d, 336); printf ( %-10d, 336); Salida 34 000034 3.40 3.46 hola hol hola 3.45 336 336 336 336 36 18

Ejemplo El carácter representa un espacio en blanco Printf printf ( %f, 1234.56); printf ( %e, 1234.56); printf ( %4.2f, 1234.56); printf ( %3.1f, 1234.56); printf ( %10.3f, 1234.56); printf ( %10.3e, 1234.56); Salida 1234.560000 1.234560e+003 1234.56 1234.6 1234.560 1.235e+003 37 5. Ficheros Archivo o fichero: conjunto de datos almacenado en un dispositivo de almacenamiento secundario: memoria fija (disco duro, DVD, CD). Independiente de la información que contengan (datos, programas, textos, gráficos,...). Hola Soy un fichero Contengo datos Hola.txt 456 789 6.55 datos.txt 38 19

Entrada: lectura de teclado o de fichero Salida: muestra datos por pantalla o los escribe en un fichero. Fichero modo lectura Lectura Escritura Fichero modo escritura 39 Nombre de fichero Se identifica por un nombre y una extensión: Nombre Extensión: define el tipo de archivo. Suele tener 3 caracteres. Pepito.txt Fichero de texto H1.c Fichero de texto escrito en C Prueba.exe Fichero ejecutable 40 20

Fin de fichero Todos los ficheros terminan en un carácter especial que indica el final del fichero: EOF (end of file). María Pérez Gómez 8.5 Andres López García 9.0 Ana Ruiperez Gómez 2.4 EOF Listado.txt 41 Operaciones con ficheros Definir una variable de tipo fichero (FILE *) : declaración del fichero. Abrir el fichero. Operar con el fichero: leer del fichero o escribir al fichero. Cerrar el fichero. 42 21

Operaciones con ficheros: declaración de ficheros Tipo del fichero: FILE * FILE *f1, *f2; FILE *mi_fichero; FILE *a, *b, *c; 43 Operaciones con ficheros: abrir ficheros variable_fichero = fopen (nombre_fichero, modo); Nombre del fichero: cadena de caracteres indicando el nombre completo del fichero y el path. Modo: indica el uso al que se va a destinar el fichero. 44 22

Operaciones con ficheros: abrir ficheros Modos: r Abre el fichero para lectura. El fichero debe existir, sino se produce un error. a Abre el fichero para añadir datos al final del fichero. Si el fichero no existe, lo crea. w Abre el fichero para escritura. Si el fichero existe borra su contenido. Si no existe, lo crea. 45 Operaciones con ficheros: abrir ficheros Modo Operación Si el fichero existe Si el fichero no existe r Lectura OK Error w Escritura Borra el contenido Crea el fichero a Escritura al final (añadir) OK Crea el fichero 46 23

Operaciones con ficheros: abrir ficheros Nombre del fichero: Entre comillas dobles: prueba.txt. Con extensión. Si no está en el directorio por defecto debe incluir el path: c:\\temp\\prueba.txt. Las barras \ del path se duplican \\ 47 Operaciones con ficheros: abrir ficheros FILE *fichero, *f1, *ejemplo, *f; fichero = fopen ( c:\\temp\\prueba.txt, r ); f1 = fopen ( hola.txt, a ); ejemplo = fopen ( a:\\ejemplo.txt, w ); #define nombre ejemplo.txt f = fopen (nombre, w ); 48 24

Operaciones con ficheros: cerrar ficheros fclose (puntero_fichero); Ejemplo: FILE *f; f = fopen( fichero.txt, r ); fclose(f); 49 Ejercicio Realizar un programa que abra el fichero pepito.txt para lectura y lo cierre. #include <stdio.h> void main () FILE *f; f = fopen( pepito.txt, r ); fclose(f); 50 25

Salida de datos a fichero (escritura) fprintf (fichero, cadena de control, lista de variables); Fichero: variable de tipo fichero de donde se van a escribir los datos. Cadena de control: indica como se van a visualizar los datos. Formada por literales y caracteres de control. Los caracteres de control indican como deben visualizarse los datos en pantalla. Variables: se separan por comas. Puede incluir constantes. Para cada variable o constante a mostrar debe existir un carácter de control. 51 Salida de datos a fichero (escritura) Sólo se puede escribir en un fichero si está abierto para escritura (modo w ) o para añadir datos (modo a ). FILE *f; int a=4, b=5, c; f=fopen( datos.txt, w ); c=a+b; fprintf(f, La suma es %d\n, c); fprintf(f, %d + %d = %d\n, a, b, c); fclose(f); La suma es 9 4 + 5 = 9 datos.txt 52 26

Entrada de datos de fichero (lectura) fscanf (fichero, cadena de control, lista de variables); Para leer un valor perteneciente a cualquiera de los tipos básicos, se usa el nombre de la variable precedido por &. Para leer una variable de tipo cadena de caracteres, no se pone & (ya es un puntero). La cadena de control no debe tener espacios en blanco. Para separar los datos de entrada se usan blancos, tabulaciones o intro (excepto char, no es necesario). 53 Ejercicio Modificar este programa para que lea los datos de un fichero (entrada.txt) y escriba a otro fichero (salida.txt). int a, b; printf( Introduzca dos valores enteros:\n ); scanf( %d%d, &a, &b); printf( %d + %d = %d\n, a, b, a+b); 54 27

Paso 1. Declarar las variables de tipo fichero. Paso 2. Abrir los ficheros int a, b; FILE *fe, *fs; fe = fopen( entrada.txt, r ); fs = fopen( salida.txt, w ); printf( Introduzca dos valores enteros:\n ); scanf( %d%d, &a, &b); printf( %d + %d = %d\n, a, b, a+b); 55 Paso 3. Cambiar las operaciones de lectura y escritura por las propias de ficheros. Paso 4. Añadir los punteros a fichero. int a, b; FILE *fe, *fs; fe = fopen( entrada.txt, r ); fs = fopen( salida.txt, w ); printf( Introduzca dos valores enteros:\n ); fscanf(fe, %d%d, &a, &b); fprintf(fs, %d + %d = %d\n, a, b, a+b); 56 28

Paso 5. Cerrar los ficheros. Paso 6. Eliminar el printf destinado al usuario. int a, b; FILE *fe, *fs; fe = fopen( entrada.txt, r ); fs = fopen( salida.txt, w ); printf( Introduzca dos valores enteros:\n ); fscanf(fe, %d%d, &a, &b); fprintf(fs, %d + %d = %d\n, a, b, a+b); fclose(fe); fclose(fs); 57 Resultado final: int a, b; FILE *fe, *fs; fe = fopen( entrada.txt, r ); fs = fopen( salida.txt, w ); 4 5 Entrada.txt fscanf(fe, %d%d, &a, &b); fprintf(fs, %d + %d = %d\n, a, b, a+b); fclose(fe); fclose(fs); 4 + 5 = 9 Salida.txt 58 29

Ejercicio Realizar un programa que calcule el perímetro de una circunferencia. El valor del radio se encuentra en el fichero radio.txt. Escribir el resultado por pantalla. #define PI 3.14159 float radio, perimetro; FILE *f; f=fopen( radio.txt, r ); fscanf(f, %f, &radio); perimetro = 2*PI*radio; printf( El perímetro de la circunferencia es %f, perimetro); fclose(f); 59 Ejercicio Realizar un programa que lea la cantidad de artículos disponibles y su precio del fichero dispon.txt. El programa debe calcular el valor de las existencias (cantidad * precio) y escribirlo en el fichero existen.txt. 60 30

float precio; int cantidad; FILE *lec, *escr; lec = fopen( dispon.txt, r ); escr = fopen( existen.txt, w ); fscanf (lec, %d%f, &cantidad, &precio); fprintf (escr, El valor de las existencias es de %f, cantidad*precio); fclose(lec); fclose(escr); 61 31