Se pide constuir un algoritmo, cuya función sea generar ficheros con un contenido aleatorio.
Dicho fichero se utilizará para probar a otros algoritmos, cuya función sea trabajar con unos archivos dato extraídos de un determinado fichero (el cual pretendemos sea nuestro fichero aleatorio ("Random"). El algoritmo que debemos construir debe ser fácilmente modificable.
Tomemos como módelo de fichero Random uno del tipo:
codAlumno codAsignatura Puntos
001 018 7.8
484 012 3.4
Así pues, nuestro algoritmo, apoyándose en una estructura "struct datos dato", irá escribiendo en un fichero los datos que se vayan "fabricando" aleatoriamente.
Las líneas del archivo tendrán, cada una, la información de la nota de una asignatura de un determinado alumno. Controlaremos estás "líneas" o "informaciones" mediante un bucle for, por ejemplo.
He aquí las mayores dificultades del programa:
1. Generar un número DE 3 DÍGITOS, sabiendo que este número se encuentra entre 0<num<=MAX. No se dará por válido un codAlumno de tipo "1" (deberá ser 001). He pensado que este número puede construirse utilizando una cadena de números de 4 componentes: 3 componentes para cada dígito, y otra componente para el final de cadena '\0'. Esta cadena se imprimirá en el archivo, sabiendo que cuando se lea este archivo para toma de datos, estos tres dígitos se interpretarán como un número entero de 3 cifras, y no como un vector de 3 cifras. Podemos generar el número aleatorio con las funciones que todos sabréis: rand y srand. ¿Cómo se hace esto?
2. Análogamente se procedería para codAsignatura.
3. ¿Cómo generar un número decimal CON 3 DECIMALES, comprendido entre 0 <= num <= 10?
4. Suponiendo que en codAlumno nos interesasen las iniciales del alumno, se procedería de manera similar; con las funciones anteriormente citadas. ¿Pero cómo se haría exactamente?
Quizás sea un reto más que una duda. En fin, si el moderador lo cree conveniente, que lo traslade al subforo Retos.
Un saludo!