Sei sulla pagina 1di 11

Facultad de Ciencias Exactas, Ingeniera y Agrimensura UNR

Escuela de Formacin Bsica Dpto. Matemtica


Informtica I


Prctica Nro. 8 2014 Pg 1 de 11

Ejercicios propuestos de revisin
Los problemas planteados renen la totalidad de los conceptos vertidos en
Informtica. Realizar el Anlisis del problema y escribir el Algoritmo que permita
resolverlo utilizando modularizacin, estructuras de datos y archivos, si fuera
necesario.

1- Escribir un algoritmo que permita crear un archivo de nombre MP.dat para guardar
en disco los datos de las materias primas del ejercicio Nro. 6 de la Prctica Nro. 7.

2- Escribir un algoritmo que permita extraer la informacin del archivo MP.dat del
ejercicio anterior y las muestre en forma de tabla.

3- Un negocio de artculos de computacin tiene registradas las ventas por tarjeta de
crdito del mes en un archivo de nombre VTARJ.DAT. Por experiencia se sabe que no
hay ms de 500 ventas en un mes. Este archivo guarda datos de tipo registro
compuestos por el nmero de tarjeta (entero) y el importe (real). Sus datos no estn
ordenados de ninguna manera.
Se necesita escribir un algoritmo que lea los datos del archivo y mediante un
subalgoritmo PROME muestre por pantalla el promedio de ventas del mes. Adems
mediante otro subalgoritmo TOP10 se debe encontrar las 10 mayores ventas para
guardarlas en un archivo llamado T10.DAT.

4- Una inmobiliaria dispone de no ms de 200 propiedades en alquiler. Tiene esta
informacin almacenada en dos arreglos. En un primer arreglo de nombre DIREC
dispone 2 datos por cada propiedad: la direccin (mximo 20 caracteres) y la zona
(mximo 10 caracteres). En el segundo, denominado PRECIO estn los precios (real)
de los alquileres respectivos ordenados en forma ascendente.
Se solicita hacer un algoritmo que permita:
a) Mostrar las direcciones de aquellas propiedades cuyo alquiler tenga un valor dado.
b) Mostrar las direcciones de aquellas propiedades que contemplen un determinado
requerimiento del cliente en cuanto a alquilar en una cierta zona y pagar una cierta
cantidad de dinero,
c) Borrar una propiedad que ha sido alquilada.
Para ello se pide escribir los siguientes subalgoritmos:
CARGA( parmetros correspondientes) que permita ingresar toda la informacin
de las propiedades (direccin - zona -
precio) en los arreglos DIREC y PRECIO
Tener en cuenta que las propiedades en un primer momento estn ordenadas segn el
precio de las mismas.
ALQUILER (parmetros correspondientes) que permita realizar el punto a)
ZONA (parmetros correspondientes) que permita informar el punto b)
SACAR(parmetros correspondientes) que permita informar el punto c)

5- Por cada alumno de 1er. ao de la Facultad se tienen los siguientes datos: Comisin
(nro. entero), Legajo (8 caracteres), Apellido y nombre (mximo 30 caracteres).

Facultad de Ciencias Exactas, Ingeniera y Agrimensura UNR
Escuela de Formacin Bsica Dpto. Matemtica
Informtica I


Prctica Nro. 8 2014 Pg 2 de 11

Se pide escribir un programa que permita mostrar el siguiente men de opciones y las
acciones que se detallan:

Men
1- Ingreso datos
2- Listado ordenado por Apellido
3- Cantidad alumnos por comisin
4- Fin

Opcin 1: Permitir al operador ingresar los datos de los alumnos y los almacenar en
un archivo de nombre PRIMERO.DAT
Opcin 2: Leer los datos de los alumnos del archivo creado en el punto 1 y los
mostrar por pantalla ordenados por apellido en forma ascendente.
Opcin 3: Leer los datos del archivo creado en el punto 1 e informar la cantidad de
alumnos por comisin.
Observaciones:
La cantidad mxima de alumnos de 1er. Ao es 1000.
La cantidad mxima de comisiones es 10, siendo sus nmeros correlativos.

6- Una empresa que trabaja todos los das del ao, realiza el seguimiento del stock de
un producto del ao anterior. Los datos del stock diario son enteros (p. ej. unidades), y
se tienen que almacenar en una matriz bidimensional.
Al mes identificarlo como un nmero de 1 a 12 y al da con un nmero de 1 a n, donde
n depende de cada mes, pero el mximo valor de n es 31.
Escribir un algoritmo que realice las tareas que se solicitan, desarrollando los
siguientes subalgoritmos:
MES: recibe como argumento un nmero de mes, y devuelve su nombre y la
cantidad de das que tuvo ese mes en el ao anterior.
CARGA: para cada da del ao escribe el nombre del mes, el nmero de da, y
pide que se ingrese el stock de ese da (validar positivo o cero).
Por ejemplo: marzo 23 ingrese stock: _______
Observaciones: Los das no completados (si el mes tiene menos de 31
das) deben llenarse con -1. Esto no debe hacerse mediante lectura. Si
se desea se puede emplear otro subalgoritmo.
STOCKMAX: devuelve el stock mximo de un mes cuyo nmero se da como
argumento.
STOCKMIN: devuelve el stock mnimo de un mes cuyo nmero se da como
argumento.
El algoritmo principal debe pedir la carga de datos, y luego listar mes a mes (con su
nombre), cul fue el mximo y el mnimo stock de ese mes. Si el mnimo fue cero,
escribir en la misma lnea stock nulo. No deben emplearse variables globales.

7- Una industria fabrica cinco piezas de automotores. Los precios de estas piezas
varan segn la variacin del mercado automotor, teniendo en general 3 precios
anuales. La industria tiene cuatro comercios que distribuyen estas piezas.

Facultad de Ciencias Exactas, Ingeniera y Agrimensura UNR
Escuela de Formacin Bsica Dpto. Matemtica
Informtica I


Prctica Nro. 8 2014 Pg 3 de 11

Conociendo la variacin de precios de las cinco piezas y la cantidad de piezas
vendidas en cada comercio, se desea determinar cunto factur cada comercio a lo
largo de un ao. Para resolver este problema se solicita usar arreglos bidimensionales
en el desarrollo del algoritmo y/o subalgoritmos necesarios para su resolucin.
En particular, desarrollar un algoritmo que llame a un subalgoritmo de nombre PROD
que multiplica matrices y cuyos parmetros sern:
A el nombre de la matriz que premultiplica, B el nombre de la matriz que post-
multiplica, N el nmero de filas de la matriz que pre-multiplica, P el nmero de
columnas de la matriz que pre-multiplica (que como sabemos debe coincidir con el
nmero de filas de la matriz que post-multiplica), M cantidad de columnas de la matriz
que post-multiplica y MULT matriz producto resultante.
Se recuerda indicar qu modo y tipo tendrn cada uno de los parmetros.

8- Sea un campeonato de basket en el que participan a lo sumo 20 jugadores. Durante
el torneo, cada jugador realizar 5 tiros, los cuales le darn un puntaje para calificar o
no a los premios.
Por cada uno de los 5 tiros que realice, puede suceder lo siguiente:
0 punto (fuera)
1 punto (con rebote)
2 puntos (normal)
3 puntos (desde lnea de tres)
El programa que gestiona este campeonato deber:
a- Inicialmente, solicitar el apellido y nombre (no ms de 30 caracteres) de los
inscriptos hasta el momento y dejarlos grabados en un archivo llamado
JUGADORES.TXT.
b- Luego, deber mostrar un men de opciones que permita:
- Cargar algn otro interesado en participar que no se inscribi inicialmente,
agregndolo al archivo JUGADORES.TXT.
- Cargar el resultado de cada uno de los 5 tiros para todos los inscriptos que
figuran en el archivo JUGADORES.TXT
- Determinar los ganadores del campeonato.
- Finalizar.
c- Para determinar los ganadores a los que se les entregar un trofeo, se elegirn los
primeros 3 jugadores que tengan mayor puntaje y que cumplan con lo siguiente:
1- El promedio de todos sus tiros debe ser 2 o ms
2- No debe haber realizado un tiro fallido (0 punto)
Se deber mostrar un mensaje con el apellido y nombre y el trofeo que corresponde,
segn se muestra a continuacin:
Primer premio con 15 puntos: Lopez Jos
Segundo premio con 14 puntos: Canale Alberto
Tercer premio con 12 puntos: Loza Carlos
Si no existen ganadores para todos los puestos, se deber mostrar una leyenda como
por ejemplo:
Tercer premio: sin ganador
Se asume que no habr ms de un ganador para cada posible premio.

Facultad de Ciencias Exactas, Ingeniera y Agrimensura UNR
Escuela de Formacin Bsica Dpto. Matemtica
Informtica I


Prctica Nro. 8 2014 Pg 4 de 11

d- A su vez, se deber generar un archivo llamado MEJORES.TXT con el apellido y
nombre, el detalle de los puntos obtenidos en los 5 tiros y el total de puntos, de todos
los jugadores que califiquen para los premios, ordenado por puntos totales en forma
descendente.
e- Se solicita validar el ingreso de todos los datos.

La solucin de este problema, codificada en lenguaje C, se encuentra al final de
la prctica (en Pgina 6)

9- Se pide que escriba un programa para administrar reuniones a modo de una
pequea agenda.
Para esto, el programa debe mostrar el siguiente men:







Cada una de las opciones del men deber ser un subalgoritmo que realice lo
siguiente:
1. Cargar Citas
Deber permitir el ingreso de los datos de cada una de las citas:

Da Hora Detalle
Lunes 9 Reunin con el Contador
Lunes 12 Partido Ftbol
Martes 17 Ir a la casa de Juan
Lunes 18 Clase de Informtica
: : : :
: : : :

Las citas corresponden siempre a la misma semana (no importa cul) y su detalle no
debe ser mayor de 40 caracteres.
El mximo de citas admitidas es de 50 (entre todos los das).
Los das sern: Lunes, Martes, Mircoles, Jueves y Viernes (ningn otro), con un
subalgoritmo se deber validar que as sea.
Las horas sern nmeros enteros entre 8 y 22, con un subalgoritmo se deber validar
que as sea.
2. Mostrar Citas de un da
Deber preguntar por un da (validar) y deber mostrar, ordenados por hora, los
detalles de las citas para ese da.
3. Controlar duplicados
Mediante un subalgoritmo deber informar si existen o no citas para la misma hora y
para el mismo da.
Slo deber escribir la metodologa de cmo lo resolvera y el encabezamiento del
mismo, sin desarrollarlo.
4. Salir. Se deber salir del programa
Men de opciones
1. Cargar Citas
2. Mostrar Citas de un da
3. Controlar duplicados
4. Salir
Mximo 50
Facultad de Ciencias Exactas, Ingeniera y Agrimensura UNR
Escuela de Formacin Bsica Dpto. Matemtica
Informtica I


Prctica Nro. 8 2014 Pg 5 de 11

10- Dado el algoritmo principal desarrollado a continuacin:

ALGORITMO condiciones
{ ...aqu van las declaraciones de subalgoritmos... }

Tipo estructura mat
caracter(8) legajo
caracter(8) DNI
real notas[3]
Fin tipo
{ ...aqu van las declaraciones de las variables... }
//Inicio
INGRESADATOS (Datos, Tot)
Escribir( Se ingresaron, Tot ,alumnos )
Repetir mientras (OP <> F)
Escribir( L : Buscar por Legajo)
Escribir( D : Buscar por DNI)
Escribir( F : Fin)
Escribir( Elija una opcin)
Leer( Op )
Si ( Op <> F ) entonces
Escribir (Ingrese el nmero)
Leer (Num)
Pos BUSCA (Datos, Num, Op)
Si (Pos == 0) entonces
Escribir(No existe un alumno con ese dato)
sino
Escribir(Condicin Final: ,CONDI (Datos, Pos))
FinSi
FinSi
Fin mientras
FIN

Declarar y desarrollar los subalgoritmos (funcin o subrutina, segn corresponda) con
los parmetros correspondientes y respetando los llamados:
INGRESADATOS( ): permite cargar legajo, DNI y 3 notas de cada uno de los alumnos,
sin ningn orden.
BUSCA( ): devuelve la posicin del alumno con ese nmero de legajo DNI , 0 si no
existe un alumno con esos datos.
CONDI( ) devuelve P, I L , segn las notas del alumno ubicado en la posicin Pos.

Observaciones: Tener en cuenta que no se conoce el nmero total de alumnos, pero
se sabe que no superan los 100.
Condiciones:
P promovido (el promedio es superior a 7 y ninguna nota es inferior a 5)
I condicin intermedia (no promovido. Adems el promedio es superior a 5 y ninguna
nota es inferior a 4)
L libre (no es P ni I)



Facultad de Ciencias Exactas, Ingeniera y Agrimensura UNR
Escuela de Formacin Bsica Dpto. Matemtica
Informtica I


Prctica Nro. 8 2014 Pg 6 de 11

Ejercicio N 8: Solucin codificada en lenguaje C

#include <stdio.h>
#include <windows.h> //se incluye para usar la funcin Sleep
#define N 20 //cantidad de jugadores
//definicin del tipo de dato que permite trabajar con los datos de cada jugador
typedef struct {
char apelynbre[31];
int tiros[5], puntos;
} jugador;

//subprograma que controla la apertura del archivo pasado como parmetro
//si da error, avisa con un mensaje y finaliza la ejecucin del programa
void controlArchivo(FILE *f, char nom[13])
{ if (f==NULL)
{ printf ("\nError de apertura del archivo ");
printf ("%-13s",nom);
printf ("\nFinalizar%c el programa.", 160);
fflush(stdin);
getchar();
//termina la ejecucin del programa
exit(1);
}
}

//subprograma que solicita el apellido y nombre de un jugador y lo graba en el archivo
void cargaJugador(FILE *f, int i)
{ int j;
char blancos[30], apelynbre[31];
//carga un arreglo de 30 espacios en blancos
for (j=0;j<31;j++) blancos[j]=' ';
printf("\n\nIngrese apellido y nombre (m%cximo 30 caracteres) del jugador %1d: ", 160, i+1);
fflush(stdin);
gets(apelynbre);
//se valida la longitud del dato ingresado
while (strlen(apelynbre)==0 || strlen(apelynbre)>30)
{ printf("\n\nLargo de apellido y nombre, inv%clido.\nReingrese apellido y nombre (m%cximo 30
caracteres) del jugador %1d: ", 160, 160, i+1);
fflush(stdin);
gets(apelynbre);
}

//completa el apellido y nombre con los blancos necesarios para grabarlo con 30 caracteres
strncat(apelynbre, blancos, 30-strlen(apelynbre));
//se graba el jugador en el archivo
fprintf(f,"%-30s\n", apelynbre);
}

//subprograma para realizar la carga inicial de los jugadores inscriptos hasta el momento
void cargaInicial(int *i)
{ FILE *f;
char resp;
//se abre el archivo JUGADORES para poder grabarse
f=fopen("JUGADORES.TXT","w");
//se controla la apertura del archivo
Facultad de Ciencias Exactas, Ingeniera y Agrimensura UNR
Escuela de Formacin Bsica Dpto. Matemtica
Informtica I


Prctica Nro. 8 2014 Pg 7 de 11

controlArchivo(f, "JUGADORES.TXT");
printf ("\nCARGA INICIAL DE JUGADORES");
//se itera cargando los datos de los jugadores dependiendo de la eleccin del usuario
//y de la cantidad de inscriptos cargados hasta el momento
do
{ //se invoca al subprograma que solicita el apellido y nombre y graba el jugador en el archivo
cargaJugador(f, *i);
*i=*i+1;
printf("\n%cContin%ca ingresando otro jugador? (S/N) ", 168, 163);
fflush(stdin);
resp=toupper(getchar());
}while (*i<N && resp=='S');
//se controla si se quiere cargar otro jugador y se ha alcanzado el mximo posible
if (*i==N && resp=='S')
{ printf("\n\n\nImposible agregar otro jugador.\nSe ha alcanzado el m%cximo de jugadores posibles:
%d ", 160, N);
fflush(stdin);
getchar();
}
//se cierra el archivo
fclose(f);
}

//subprograma que muestra el men de opciones
void menu(void)
{ system("cls");
printf("\n\n\n\t\tOpciones");
printf("\n\t\t--------\n");
printf("\n\t\t1- Cargar otro jugador");
printf("\n\t\t2- Cargar resultados");
printf("\n\t\t3- Determinar ganadores");
printf("\n\t\t0- Finalizar");
printf("\n\n\t\tIngrese su opci%cn: ",162);
}

//subprograma que valida que el primer parmetro se encuentre dentro del intervalo definido por los otros
// dos, sin importar si el 2do. parmetro es no, inferior al 3ro.
int es_valido(int v, int e1, int e2)
{ return (e1<=v && v<=e2 || e2<=v && v<=e1); //0=falso / 1=verdadero }

//subprograma que presenta el men de opciones y solicita la opcin a ejecutar, validndola
//devuelve una opcin vlida
//si la opcin no es vlida, simplemente vuelve a mostrar el men y pedir la opcin
//no avisa con cartel de opcin invlida
int ingresarOpcion(void)
{ int op;
do
{ menu();
scanf("%d", &op);
}
while (es_valido(op, 0, 3)==0);
return op;
}


Facultad de Ciencias Exactas, Ingeniera y Agrimensura UNR
Escuela de Formacin Bsica Dpto. Matemtica
Informtica I


Prctica Nro. 8 2014 Pg 8 de 11

//subprograma que permite cargar un jugador fuera de la carga inicial de inscriptos hasta el momento
void cargarOtroJugador(int *i)
{ FILE *f;
//se abre el archivo ya existente de jugadores para poder agregar uno nuevo
f=fopen("JUGADORES.TXT","a");
//se controla la apertura del archivo
controlArchivo(f, "JUGADORES.TXT");
printf ("\nCARGA DE OTRO JUGADOR");
//se invoca al subprograma que solicita el apellido y nombre y graba el jugador en el archivo
cargaJugador(f, *i);
*i=*i+1;
//se cierra el archivo
fclose(f);
}

//subprograma que permite cargar el resultado de los 5 tiros de todos los jugadores inscriptos
void cargarTiros(jugador jug[], int *band)
{ int i, j, ptos, sum;
FILE *f;
//se abre el archivo JUGADORES para poder leerse
f=fopen("JUGADORES.TXT","r");
//se controla la apertura del archivo
controlArchivo(f, "JUGADORES.TXT");
printf ("\nCARGA DE RESULTADOS DE TIROS PARA TODOS LOS JUGADORES");
//se inicializa el contador de jugadores
i=0;
//lee un jugador del archivo y se carga al arreglo de jugadores
fgets(jug[i].apelynbre, 32, f);
//se procesan todos los jugadores grabados en el archivo hasta que se encuentra el final del archivo
while (!feof(f))
{ sum=0;
//se muestra el apellido y nombre del jugador para ingresarle los tiros
printf("\n\nIngrese los resultados del jugador: %-30s", jug[i].apelynbre);
//se solicita el ingreso de los 5 tiros
for (j=0;j<5;j++)
{ printf("\nPuntaje del tiro nro. %1d: ", j+1);
scanf("%d", &ptos);
//se controla que los puntos ingresados sean vlidos invocando al subprograma que valida
while (es_valido(ptos, 0, 3)==0)
{ //si no son vlidos se avisa con un cartel y se solicita se vuelva a ingresar
printf("\nDebe ingresar un valor entre 0 y 3. Reingrese puntaje del tiro nro. %1d: ", j+1);
scanf("%d", &ptos);
}
//se asignan los puntos al elemento correspondiente de la estructura segn el nmero de tiro
jug[i].tiros[j]=ptos;
//se totalizan los puntos del jugador
sum+=ptos; //sum=sum+ptos
}
//se asigna el total de puntos al elemento correspondiente de la estructura
jug[i].puntos=sum;
//se incrementa el contador de jugadores
i++; //i=i+1
//se lee del archivo otro jugador
fgets(jug[i].apelynbre, 32, f);
}
Facultad de Ciencias Exactas, Ingeniera y Agrimensura UNR
Escuela de Formacin Bsica Dpto. Matemtica
Informtica I


Prctica Nro. 8 2014 Pg 9 de 11

//se cambia el valor de la bandera para indicar que se cargaron los tiros de todos los jugadores
//inscriptos
*band=1;
//se cierra el archivo
fclose(f);
}

//subprograma que categoriza los jugadores, detecta los 3 ganadores y graba el archivo con los
//jugadores que calificaban
void categorizar(jugador jug[], int c)
{ int i, j, aux, mejores[c][2], k, tope, p;
char auxiliar[31];
FILE *f;
//se abre el archivo MEJORES para poder grabarse
f=fopen("MEJORES.TXT","w");
//se controla la apertura del archivo
controlArchivo(f, "MEJORES.TXT");
printf ("\nTABLA DE GANADORES");
//se inicializa el contador que contar los jugadores que pueden calificar para los trofeos
tope=0;
//se carga la matriz con los jugadores que califican, teniendo en cuenta el criterio establecido
//la matriz contendr:
// en la columna 0: la posicin correspondiente al jugador, dentro del arreglo de jugadores
// en la columna 1: el total de puntos de dicho jugador
for (i=0;i<c;i++)
{ //el jugador califica si su promedio de puntos es mayor o igual a 2 y no tuvo puntaje 0 en
//ninguno de sus tiros
if (jug[i].puntos/5>=2 && jug[i].tiros[0]!=0 && jug[i].tiros[1]!=0 && jug[i].tiros[2]!=0 &&
jug[i].tiros[3]!=0 && jug[i].tiros[4]!=0)
{ //se incrementa el contador de los jugadores que califican para los trofeos
tope++; //tope=tope+1
mejores[tope-1][0]=i;
mejores[tope-1][1]=jug[i].puntos;
}
}
//se ordenan los jugadores que calificaron, de mayor a menor segn los puntos totales
for (i=0;i<tope-1;i++)
for (j=i+1;j<tope;j++)
{ if (mejores[i][1]<mejores[j][1])
{ for (k=0;k<2;k++)
{ aux=mejores[i][k];
mejores[i][k]=mejores[j][k];
mejores[j][k]=aux;
}
}
}
//se muestra la tabla de trofeos
for (i=0;i<3;i++)
{ printf("\nPremio n%cmero %1d: ", 163, i+1);
if (tope-1<i)
printf("No hay ganador");
else
printf("Con %2d puntos - %-30s", jug[mejores[i][0]].puntos, jug[mejores[i][0]].apelynbre);
}

Facultad de Ciencias Exactas, Ingeniera y Agrimensura UNR
Escuela de Formacin Bsica Dpto. Matemtica
Informtica I


Prctica Nro. 8 2014 Pg 10 de 11

//si hubo jugadores que calificaron, se genera el archivo MEJORES con todos sus datos
if (tope==0)
printf("\n\nSe gener%c vac%co el archivo con los mejores jugadores, pues no hay jugadores que
califiquen como tales. ", 162, 161);
else
{ for (i=0;i<tope;i++)
{ p=mejores[i][0];
//se copia el apellido y nombre a una variable auxiliar para quitarle el \n
strncpy(auxiliar, jug[p].apelynbre, 30);
fprintf(f, "%-30s%1d%1d%1d%1d%1d%2d\n", auxiliar, jug[p].tiros[0],jug[p].tiros[1], jug[p].tiros[2],
jug[p].tiros[3], jug[p].tiros[4],jug[p].puntos);
}
printf("\n\nSe gener%c el archivo con los mejores jugadores que calificaban como tales. ", 162);
}
//se cierra el archivo
fclose(f);
//se genera una pausa para poder leer los resultados antes de volver al programa principal
fflush(stdin);
getchar();
}

//programa principal
main()
{ int opc, cant, band;
jugador jug[N];
band=0; //bandera que indica que an no comenz el torneo (no se cargaron los tiros)
cant=0; //cantidad de inscriptos
//se invoca al subprograma que realiza la carga de los inscriptos hasta el momento
cargaInicial(&cant);
opc=-1;
while (opc!=0)
{ //se muestra el men de opciones y se ingresa una opcion
opc=ingresarOpcion();
system("cls");
//se ejecuta la opcin ingresada
switch (opc)
{ case 1:
//se valida si quedan lugares para un nuevo inscripto
if (cant==N)
{ printf("\nImposible agregar otro jugador. \nSe ha alcanzado el m%cximo de jugadores
posibles: %d ", 160, N);
fflush(stdin);
getchar();
}
else
{ //se valida si ya comenz o no el torneo
if (band==0)
//se invoca al subprograma que permite cargar un nuevo inscripto al torneo
cargarOtroJugador(&cant);
else
{ printf("\nImposible agregar otro jugador, ya comenz%c el torneo. ", 162);
fflush(stdin);
getchar();
}
}
Facultad de Ciencias Exactas, Ingeniera y Agrimensura UNR
Escuela de Formacin Bsica Dpto. Matemtica
Informtica I


Prctica Nro. 8 2014 Pg 11 de 11

break;
case 2:
//se valida si ya se cargaron o no los tiros
if (band==0)
//se invoca al subprograma que permite cargar los tiros de todos los jugadores
cargarTiros(jug, &band);
else
{ printf("\nYa se cargaron los tiros de todos los jugadores. ");
fflush(stdin);
getchar();
}
break;
case 3:
//se valida si ya se cargaron o no los tiros como para poder categorizar
if (band!=0)
//se invoca al subprograma que permite categorizar los jugadores
//detecta los 3 ganadores y graba el archivo con los que calificaban
categorizar(jug, cant);
else
{ printf("\nDeben cargarse los tiros antes de poder determinar los ganadores. ");
fflush(stdin);
getchar();
}
break;
case 0:
printf("\n\nGracias por usar el sistema...\n\n");
//genera una pausa de 3000 milisegundos que permite leer el cartel
Sleep(3000);
}
}
}

Potrebbero piacerti anche