AYUDA URGENTE

jedesa
01 de Mayo del 2004
necesito pasar este programa a funciones
#include <stdio.h>
#include <stdlib.h>
#include <conio.c>

#define e 2
#define c 2
void marca(int i,int j);
void listar(int i,int j);
int media(int i,int j);
int mejores(int i,int j);

int main()
{

int maraton[e][c],carrera[e],corre[c];
int i,j,f,q,equipo,corredor,opc;
int suma[c],media[e],mini;
char resp,respo;
// Leer el equipo y asignarle el dorsal a los participates.

printf("DESEA RELLENAR LAS MARCAS DE LOS PARTICIPANTES??S / Nn");
scanf("%c",&respo); // hacemos la pregunta de iniciativa
do
{
if((respo=='s')||(respo=='S')) // si es que si comienza el programa
{



// Mostrar el menu de los corredores del maraton.
marca(i,j);
do
{

do
{

textcolor(10);
printf("*************************************n");
printf("...........****MENU****..............n");
printf("1. LISTAR PARTICIPANTES DE LA CARRERAn");
printf("2. LISTAR LA MEDIA DE LOS EQUIPOSn");
printf("3. LISTAR LOS DIEZ CORREDORES MAS RAPIDOS DEL MARATONn");
printf("4. CORREDOR CON MEJOR MARCA DEL MARATONn");
printf("0. SALIRn");
printf("**************************************n");
textcolor(15);
printf("ELIJA LA OPCION QUE DESEA REALIZARn");
printf("n");
scanf("%d",&opc);
fflush(stdin);
}while((opc<0)||(opc>4));

switch(opc)
{
// listamos todos los corredores que van a participar en el maraton
case 1:
printf("LISTAR PARTICIPANTES DE LA CARRERAn");
textcolor(13);
listar(i,j);
printf("ntt CARRERA ");
printf("n");


break;

// muetra la media de cada equipo sumando las marcas de los corredores
// y partiendo la suma por el numero de corredores que hay
case 2:
textcolor(13);
printf("ntt MEDIA "); // la media saldra por equipos
printf("n");
for(i=0;i<e;i++) //se recorre el vector inicializando suma[i]a 0
{
suma[i]=0;
for(j=0;j<c;j++)
{
suma[i]=suma[i]+maraton[i][j];// se suman todas las marcas de los corredores del mismo equipo
}
media[i]=suma[i]/c; // y se saca la media
// la media saldra con numeros enteros
}
for(i=0;i<e;i++){
q=i+1; // utilizamos la variable q para no machacar el contador i

textcolor(7);
printf(" EQUIPO:%d",q);
printf("t%.2d segnn",media[i]);

}
break;



case 3:

textcolor(13);
printf("ntt LOS DIEZ MAS RAPIDOS");
printf("nn");
textcolor(7);
for(i=0;i<c;i++)
{
f=i+1;

carrera[i]=maraton[0][j];

corre[i]=0;
printf("t EQUIPO%d:",f);
for(j=0;j<c;j++)
{
if(maraton[i][j]<carrera[i])

{
carrera[i]=maraton[i][j];
corre[i]=j;
}
}
textcolor(7);
printf("t CORREDOR%2d:%2d sn",corre[i]+1,carrera[i]);


}
break;

case 4:
textcolor(13);
printf("tt MEJOR MARCA PERSONAL DEL MARATONn");
printf("n");
mini=maraton[0][0];

corredor=1;
equipo=1;


for(i=0;i<e;i++)
{
for(j=0;j<c;j++)
{

if (maraton[i][j]<mini)
{
mini=maraton[i][j];
corredor=i+1;
equipo=j+1;

}

}
}
textcolor(15);
printf("n CORREDOR %d.%d:tt%dsegn",equipo,corredor,mini);



break;
// la ultima opcion es salir
case 0:
printf("SALIR n");
return 0;

}
printf("nn");
printf("DESEA REALIZAR OTRA CONSULTA??S / N");
printf("nn");
scanf("%c",&resp);
printf("nn");

}while((resp!='s')||(resp!='S'));

}else
return 0;

}while((respo!='s')||(respo!='S'));
void marca(int i,int j);
{
int hor=0,seg=0,min=0,s,k,marca,dorsal,maraton[i][j];

for(i=0;i<e;i++){

k=i+1;

textcolor(11);
printf(" tt EQUIPO %dnn",k);

for(j=0;j<c;j++){

s=j+1;
if(s==10)
{
s=0;
}
dorsal=s*10+k;
textcolor(14);
printf("EL CORREDOR CON LA DORSAL:%dn",dorsal);

do

{
textcolor(15);
printf("Horas: ", hor);
fflush(stdin);

scanf("%d", &hor);
printf("n");
if ((hor<0)||(hor>24)){
textcolor(12);
printf("INTRODUZCA HORA CORRECTAn");
}
}while(hor<0 || hor>24);
do
{

printf("Minutos: ", min);
fflush(stdin);
scanf("%d", &min);
printf("n");
if ((min<0)||(min>59)){
textcolor(12) ;
printf("INTRODUZCA BIEN LOS MINUTOSn");
}
}while(min<0 || min>59);
do
{

printf("Segundos:", seg);
fflush(stdin);

scanf("%d", &seg);
printf("n");
if ((seg<0)||(seg>59)){
textcolor(12);
printf("INTRODUZCA BIEN LOS SEGUNDOSn");
}
}while(seg<0 || seg>59);

marca=hor*3600+min*60+seg; // pasamos todo a segundos y lo almacenamos en la variable marca
maraton[i][j]=marca;


}
}

}

void listar(int i,int j);
{
int a,z,maraton[i][j],marca,hor,seg,min;
for (i=0; i<e; i++) // recorremos de nuevo el vector
{

a=i+1; // Usamos la variable a para no machacar el contador i
textcolor(7);
printf("EQUIPO %d:",a);
// la variable a nos muestra el equipoa que pertenece
for (j=0; j<c; j++)
{
z=j+1; // Usamos la variable z para no machacar el contador j

printf("t CORREDOR%2d:",z);
// la variable z nos dira de qeu corredor hablamos

marca=maraton[i][j];
hor=min=seg=0;
while(marca>=3600) //contamos las horas que hay en los segundos de la marca personal.
{
hor=hor+1;
marca=marca-3600;
}
while(marca>=60) //contamos los minutos que hay en los segundos de la marca personal.
{
min=min+1;
marca=marca-60;
}
seg=marca; //lo que nos sobra son los segundos restantes.
printf(" %dh",hor); //aqui nos muestra por pantalla la hora minutos y segundos de cada corredor
printf("%dmin",min);
printf("%ds",seg);
}
printf("nn");
}
}

system("PAUSE");
return 0;
}


noel solw
01 de Mayo del 2004
Que es lo que quieres. Leyendo el programa, he visto que esta mas o menos dividido en funciones.
No me resulta claro que es lo que siginifica "pasar el
programa a funciones".