Problemario de Archivos 1.- ¿Cuáles de los siguientes enunciados son verdaderos y cuáles falsos? a) La función fscanf no puede ser utilizada para leer datos de la entrada estándar. b) El programador debe utilizar fopen explícitamente, para abrir los flujos de entrada estándar, salida estándar y error estándar. c) Para cerrar un archivo un programa debe llamar en forma explícita a la función fclose. d) La función fprintf puede escribir a la salida estándar. e) La función fseek puede buscar únicamente en relación con el principio de un archivo. 2.- ¿Cuál es el error cada fragmento de código y cómo corregirlo? a) { FOPEN *fPtr; fprintf(fPtr,”%d%s%s\n”,cuenta,compañía,cantidad); } b) { open(“receive.dat”,”r+”); } c) // Abrir “tools.dat” para añadir datos // sin descartar los datos actuales if ((tfPtr = fopen(“tools.dat”,“w”)) != NULL) d) // Abrir “courses.dat” para agregar datos nuevos. // El contenido actual permanece intacto if ((tfPtr = fopen(“courses.dat”,“w+”)) != NULL) 3.- Hacer un programa que dados los nombres de dos archivos de caracteres haga una mezcla de los dos en uno nuevo archivo, con la condición de que se intercalen las líneas, las cuales son de una longitud menor o igual a 256. El nombre del nuevo archivo también es dado por el usuario. 4.- Se tiene un archivo de texto que contiene un número entero en cada línea. Se desea elaborar un programa que nos indique la posición (el número de la línea) en que se encuentra el máximo valor almacenado en el archivo, así como la posición del mínimo. 5.- Hacer un programa que dados los nombres de dos archivos de texto que contienen cada uno una secuencia de números enteros ordenados ascendentemente, haga la mezcla de los dos en uno nuevo archivo que también quede ordenado ascendentemente. El nombre del nuevo archivo también es dado por el usuario. 6.- Dado el nombre de un archivo de texto cuyas líneas tienen los siguientes datos separados por comas Nombre, Edad, Sexo, donde el Sexo se representa con un carácter ‘ F’ (femenino) o ‘ M’ (masculino). El archivo no tiene línea de encabezado. Se desea elaborar un programa que liste todas las mujeres que sean mayores de edad. 7.- Elabore un programa que cree un archivo de caracteres con líneas de tamaño fijo 80, a partir de un archivo (también de texto) que contiene líneas de tamaño variable entre 1 y 80 caracteres. Para ello el archivo creado se rellena de blancos en las líneas con tamaño menor que 80. 8.- Se desea hacer una copia de un archivo de caracteres con la condición de que sólo se almacenen (en un nuevo archivo) las líneas en posición par. 9.- Los datos mensuales que maneja un sistema de nómina están almacenados en el archivo de texto “ master.dat” . La primera línea contiene los encabezados de los datos Nombre del Empleado, Horas Trabajadas, Tarifa por Hora. El resto de las líneas contiene los datos en sí. El formato del Nombre del Empleado es El primer apellido (con un máximo de 20 caracteres) una coma y luego el primer nombre (con un máximo de 20 caracteres). Las horas trabajadas es un número entero de dos dígitos. La Tarifa por Hora es un número real de dos dígitos enteros y dos dígitos decimales, usando el punto como separador de las partes. Escribir un programa que calcule el promedio de horas trabajadas en el mes y la cantidad de dinero total a pagar en el mes. 10.- Con el mismo formato de archivo del problema anterior el gerente quiere obtener un archivo “ master2.dat” que contenga solamente los empleados que hayan trabajado más de 20 horas y ganen menos de 15 BsF. por hora. 11.- Un sistema de Control de Inscripciones mantiene la información de los estudiantes en el archivo de texto “ CEST.DAT” de la siguiente manera: Carnet Nombre Índice Sexo 00-22250 MIJARES Miriam 3.61 F 02-23333 PEREZ Pedro 4.23 M ... ... ... ... a) Calcule el índice promedio de los estudiantes. b) Calcule el número de estudiantes con carnet menor a 01. c) Calcule el número de estudiantes masculinos con índice superior a 3.5. d) Dado un número de carnet muestre el índice del estudiante. 12.- Con el archivo “ CEST.DAT” , Bienestar Estudiantil desea obtener: a) “ CEST1.DAT” contenga la información de los estudiantes masculinos carnet 05 con índice mayor o igual a 3.50 b) “ CEST2.DAT” contenga la información de los estudiantes con índice mayor a 4.25 que entraron después del año 02 c) “ CEST3.DAT” contenga los nombres de las estudiantes de cohorte 04 cuyos apellidos comiencen con A o con B d) “ CEST4.DAT” contenga los carnet de los estudiantes que se llamen Pedro y tengan índice superior a 4.00 13.- Elaborar un programa que permita mantener Carnet, Código de Materia, Nota Obtenida, Número del Acta, de las materias cursadas por todos lso estudiantes, en el archivo de texto “ notas.dat” . Las operaciones a realizar son: ingresar una nueva nota, listar las materias que pertenezcan a cierto departamento (Ej: EC, MA, CI, etc); listar todas las materias cursadas por un estudiante dado, indicando nota y acta; emitir el listado de notas de un acta dada. Cada vez que se ejecute el programa debe trabajar con el archivo guardado anteriormente.