• Domingo 15 de Diciembre de 2024, 07:04

Autor Tema:  Creación De Ficheros Aleatorios  (Leído 1167 veces)

JoRDi-18

  • Miembro activo
  • **
  • Mensajes: 40
    • Ver Perfil
Creación De Ficheros Aleatorios
« en: Lunes 9 de Febrero de 2004, 23:08 »
0
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!
[size=109]Pensamientos elevados deben tener un lenguaje elevado.[/size]
Llamamé Jordi. Cuando me llames así, sonríe.

JoRDi-18

  • Miembro activo
  • **
  • Mensajes: 40
    • Ver Perfil
Re: Creación De Ficheros Aleatorios
« Respuesta #1 en: Viernes 13 de Febrero de 2004, 12:35 »
0
Bueno, tras un par de horas de trabajo, no considero de que este "problema" sea un reto... No sé si no habéis querido colaborar en mi problema por pereza, o simplemente porque no sabíais cómo hacerlo... En fin, posteo el código:

Random2-perfecto: Genera un fichero, con MAX entradas (registros). Estos registros tienen, además, 3 campos:
   - El primer campo es un número de 3 cifras de 1 a NA (Número Alumnos).
   - El segundo campo es un número de 3 cifras de NCA (Número Comienzo Asignatura) a NTA (Número Total Asignaturas).
   - El tercer campo es un número en coma flotante (con 2 decimales), comprendido en el rango 0 a 10.

Random3-perfecto: Ídem que el anterior, pero los alumnos se identifican mediante 3 iniciales en mayúsculas, en vez de por un número de 3 cifras.

Como sólo puedo postear 1, posteo el más completo.
El mensaje contiene 1 archivo adjunto. Debes ingresar o registrarte para poder verlo y descargarlo.
[size=109]Pensamientos elevados deben tener un lenguaje elevado.[/size]
Llamamé Jordi. Cuando me llames así, sonríe.