Estoy practicando parciales de años anteriores ya que el miércoles rindo y quiero terminar de pulir todo, jaja. Es en el lenguaje C.
Mis preguntas en base a un parcial son las siguientes:
a- Defina el TAD archivo que defina el tipo Tarchivo, cuyas propiedades son: nombre(incluye la extensión), tipo(mime), fechaHoradeCreacion(int), tamaño (unsigned long), propiedades (char que indica: solo lectura, lectura-escritrua).
En este punto hice lo siguiente:
Código:
#ifndef _ARCHIVO
#define _ARCHIVO
typedef struct Archivo {
char nombre[15];
int fechaHoradeCreacion;
unsigned long tamaño;
char propiedades[18];
};
typedef struct Archivo Tarchivo;
#endif
En nombre use un char como dice, le puse 14 caracteres usando 10 lugares del arreglo para que pongan el nombre y 4 para la extensión (.txt, .bmp. dat o lo que fuere).
en fechaHoradeCreacion al igual que tamaño, no sé bien si es que tendré que pedirle al usuario que ingrese esos datos o yo mismo en base a funciones o métodos predefinidos o que tenga que definir yo obtenerlos del archivo que ingresó en "nombre".
Y en propiedades lo mismo, no sé si es que el usuario me tiene que decir si es un archivo de solo-lectura o lectura-escritura. (tengan en cuenta que son parciales en donde posees 1 hora y media para hacerlos, en hoja y papel y que sumado a esto hay un par de preguntas más...
Y con el tipo(mime) no tengo ni LA MENOR IDEA de a qué se refiere... En sí no sé si este parcial se va a tomar, ya que creo que hay conceptos del mismo que este año no explicaron, pero bueno, siempre es bueno hacerlos y aprender algo más.
b- Defina el TAD directorio que defina el tipo Tdirectorio que contiene una colección de archivos.
En este caso, hice lo siguiente:
Código:
#ifndef _DIRECTORIO
#define _DIRECTORIO
typedef struct Directorio{
FILE *archivo;
typedef struct Directorio *sig;
};
typedef struct Directorio *Tdirectorio;
#endif
Tome como "colección de archivos" a una lista que yo creo que contiene en cada nodo un archivo y el siguiente, obviamente.
Seguramente en vez de tener un archivo así como definí en "FILE *archivo" deberá contener el registro que definí antes de Tarchivo.
Pero no se me ocurre otra forma ni tampoco sé si eso que hice no es para que me asesinen por desubicado, jaja.
c- Agregue al TAD directorio una función que ordene los archivos dentro de un directorio, considerando la implementación de alguna de las funciones que permitan comparar dos archivos (nombre, tamaño, etc) implementando esta función en el TAD archivo.
Código:
Tdirectorio ordeno (Tdirectorio dir, int (compara) (Tarchivo, Tarchivo));
Bien, acá ya me perdí completamente. Cuando dice ordene los archivos dentro de un directorio creo entender que se refiere a que ordene los archivos que están en una determinada carpeta, por ende, lo que hice anteriormente está mal, ya que no hago referencia al directorio ni nada, sino a archivos que previamente el usuario cargó.
Y cuando dice "considerando la implementación de alguna de las funciones que permitan comparar dos archivos (nombre, tamaño, etc)" no sé si es que ya hay una función que lo haga, pero si la hay, no la encuentro... Trate de buscar por google pero sólo encuentro ejemplos de como implementar una en C++ o C# que no me sirve ni medio...
En si no entiendo bien el enunciado
Desde luego aclaro que no pretendo ni deseo que me hagan todo el parcial (porque por ahí se puede interpretar mal mi consulta), si no que por ahí me aclaren ciertas pautas o me dejen códigos de ejemplos para que pueda entender...
Por el momento voy a seguir con los otros parciales que son más abocados a cosas que estoy seguro que vi y este lo dejo para cuando la tenga un toque más clara... Jaja
Desde ya muchísimas gracias