EJERCICIOS ADICIONALES SOBRE ESTRUCTURAS, UNIONES, CAMPOS DE BITS Y ARCHIVOS 1. Defina una estructura de nombre ficha con los siguientes campos: el nombre de la persona, la edad, la nota y un carácter que defina un grupo de pertenencia. Genere dos variables de tipo struct ficha, introduzca los valores de sus campos por teclado y muestre los valores ingresados en pantalla. 2. Reproduzca el problema anterior pero utilizando un puntero del tipo struct ficha para acceder a cada uno de los campos. 3. Dadas las siguientes definiciones de tipos: union EjU { char msg[8]; short dato; float cifra; char car; }; struct EjS { char msg[8]; short dato; float cifra; char car; }; struct Mixt { char msg[8]; short dato; union { float cifra; char car; } var; }; Realice un programa que muestre el tamaño en bytes de variables de los tipos anteriormente dados, ingrese valores a sus campos y los muestre en pantalla. 4. Dada la siguiente estructura struct RegBUS { unsigned short activo : 1; unsigned short modo : 3; unsigned short adm : 4; unsigned short dirA : 4; unsigned short dirB : 4; unsigned short Dato1; }; Realice una función void ComTar ( struct RegBUS *rcpu ); que permita el ingreso de cada uno de los campos. ARCHIVOS 1.Realice un programa que muestre en pantalla el contenido de un archivo de texto cuyo nombre es pasado por línea de comandos. 2. Realice un programa que muestre en pantalla el contenido de un archivo de texto cuyo nombre es pasado por línea de comandos y contabilice el número de caracteres y el número de líneas. 3. Realice un programa que lea un archivo de texto datos.txt y lo copie línea a línea en el archivo dest.txt. 4. Realice un programa que copie un archivo binario en otro, Los nombres de los archivos se pasan por línea de comandos. 5. Realice un programa que parte un fichero cuyo nombre es pasado por línea de comandos (nomfichero) en otros de 1024 bytes cuyos nombres serán nomfichero1, nomfichero2, nomfichero3, etc. 6. Realice un programa que una los archivos del problema anterior (nomfichero1, nomfichero2, etc) en uno solo (nomfichero). 7. Dada la siguiente estructura #include <stdio.h> typedef struct { int clave; char datos[20]; } TIPOREG; Realice un programa que escriba en un archivo 10 valores de un arreglo del tipo TIPOREG. Utilizando la función fseek lea el segundo registro grabado y el penúltimo.