Una empresa de loterías tiene almacenados los números que pone a la venta y los lugares
donde han sido vendidos en un fichero de registros ("fichnumeros.dat"), cuya estructura se
define posteriormente. Cuando se realiza un sorteo se extraen TAM (>6) premios al azar y se
almacenan en una matriz de tamaño TAM llamada premios, cuya estructura se define a
continuación. Los billetes tienen número y serie, estando el número entre 0 y 9999 y la serie
entre 1 y 10
Queremos construir un programa en C que simule una lotería, más sencilla que una lotería real.
Las tareas que debe realizar son las siguientes:
• Análisis y diseño del problema.
• Obtener al azar los TAM premios, sabiendo que hay un Primer premio, un Segundo
premio, un Tercer premio, TAM/2 premios de cuarta categoría y el resto son premios
por el importe del billete (reintegros), y almacenarlos en una matriz premios. Deben
utilizarse los subprogramas adecuados que proporcionan números al azar, para generar
la matriz premios. Los billetes premiados deben ser diferentes, teniendo en cuenta que
cada billete lleva número y serie.
• Debe escribir los resultados en un fichero "result.dat", con la misma estructura de
registros que el fichero de números, pero conteniendo solamente los números
premiados.
• Debe escribir los resultados en un fichero de texto "premios.txt", en la forma que
muestra el caso de prueba, ordenándolos por cuantía del premio, (Primer premio,
Segundo premio...).
• Debe mostrar por pantalla el contenido del fichero de texto "premios.txt", tal y como
está el fichero.
• Si el usuario quiere, debe mostrar por pantalla los premios que no se entregarán
porque en el fichero de números, en el campo "lugar" el valor es "Sin vender".
Estructuras utilizadas
Estructura de los elementos del vector de premios
struct fnum { int numero; int serie;};
Estructura de los registros de "fichnumeros.dat"
struct registro {struct fnum billete; char[30] lugar;}
donde han sido vendidos en un fichero de registros ("fichnumeros.dat"), cuya estructura se
define posteriormente. Cuando se realiza un sorteo se extraen TAM (>6) premios al azar y se
almacenan en una matriz de tamaño TAM llamada premios, cuya estructura se define a
continuación. Los billetes tienen número y serie, estando el número entre 0 y 9999 y la serie
entre 1 y 10
Queremos construir un programa en C que simule una lotería, más sencilla que una lotería real.
Las tareas que debe realizar son las siguientes:
• Análisis y diseño del problema.
• Obtener al azar los TAM premios, sabiendo que hay un Primer premio, un Segundo
premio, un Tercer premio, TAM/2 premios de cuarta categoría y el resto son premios
por el importe del billete (reintegros), y almacenarlos en una matriz premios. Deben
utilizarse los subprogramas adecuados que proporcionan números al azar, para generar
la matriz premios. Los billetes premiados deben ser diferentes, teniendo en cuenta que
cada billete lleva número y serie.
• Debe escribir los resultados en un fichero "result.dat", con la misma estructura de
registros que el fichero de números, pero conteniendo solamente los números
premiados.
• Debe escribir los resultados en un fichero de texto "premios.txt", en la forma que
muestra el caso de prueba, ordenándolos por cuantía del premio, (Primer premio,
Segundo premio...).
• Debe mostrar por pantalla el contenido del fichero de texto "premios.txt", tal y como
está el fichero.
• Si el usuario quiere, debe mostrar por pantalla los premios que no se entregarán
porque en el fichero de números, en el campo "lugar" el valor es "Sin vender".
Estructuras utilizadas
Estructura de los elementos del vector de premios
struct fnum { int numero; int serie;};
Estructura de los registros de "fichnumeros.dat"
struct registro {struct fnum billete; char[30] lugar;}