Está en la página 1de 5

include<conio.

h>
#include<stdio.h>
#include<ctype.h>
#include<stdlib.h>
#include<string.h>
#define CICLISTA 7
struct ciclista
{
char nombre[30];
char club[30];
int puntos;
char prueba[30];
};
void menu();
void altas(struct ciclista* ciclistas,int &pos );
void consulta_club(struct ciclista* ciclistas);
void consulta_ciclista(struct ciclista* ciclistas);
void consulta_gral(struct ciclista* ciclistas);
void bajas(struct ciclista* ciclistas, int &pos);
void modificaciones(struct ciclista* ciclistas);
void main()
{
struct ciclista ciclistas[CICLISTA]={"osus","k-9",97,"resistencia","rangel","ra
ngek7",99,"velocidad","Pedro","los homosexuales",19,"maraton","alex ","titis",14
,"400m"};
char opc;
int cont=4;
clrscr();
do
{
menu();
flushall();
scanf("%c",&opc);
switch (opc)
{
case 'a':
if(cont<CICLISTA)
{altas( ciclistas, cont);
cont++; }
else
{ printf("\n\n\t Estas al limite");
}
break;
case 'b':consulta_gral(ciclistas);
break;
case 'c': consulta_ciclista(ciclistas);
break;
case 'd': consulta_club(ciclistas);
break;
case 'e': bajas(ciclistas, cont); cont--;
break;
case 'f': modificaciones (ciclistas);
break;
case 'g':printf("\tHasta la proximaA");break;
default: printf("Valor invalido");break;
}
}while(opc!='g');

getch();
}
void menu()
{
clrscr();
printf("\nTus opciones son:");
printf("\n a) Altas");
printf("\n b) Consulta General");
printf("\n c) Consulta por ciclista");
printf("\n d) Consulta por club");
printf("\n e) Bajas");
printf("\n f) Modificaciones");
printf("\n g) salir");
getch();
}
void altas( struct ciclista* ciclistas, int &pos)
{
int b,c;
clrscr();
do
{
clrscr();
printf("\nNombre: ");
b=0;
flushall();
gets(ciclistas[pos].nombre);
for(c=0;c<CICLISTA-1;c++)
if(c!=pos)
if(strcmpi(ciclistas[pos].nombre,ciclistas[c].nombre)==0)
{b=1;printf("participante registrado");
getch();}
}while(b==1);
printf("\nClub ");
flushall();
gets(ciclistas[pos].club);
printf("\nPuntos ");
do
{ flushall();
if(scanf("%d",&ciclistas[pos].puntos))
{b=1;}
else
{printf("Error introduzca su puntuacion");
b=-1;}
}while(b==-1);
printf("\nPrueba ");
flushall();
gets(ciclistas[pos].prueba);
pos++;
}
void consulta_gral(struct ciclista* ciclistas)
{
int i,j,auxpuntos=0;
char auxnom[30]={0},auxprueba[30]={0}, auxclub[30]={0};
clrscr();
for(i=0;i<CICLISTA-1;i++)
for(j=i+1;j<CICLISTA;j++)
if(strcmpi(ciclistas[i].nombre,ciclistas[j].nombre)<0)
{
strcpy(auxnom,ciclistas[i].nombre);
strcpy(ciclistas[i].nombre,ciclistas[j].nombre);
strcpy(ciclistas[j].nombre, auxnom);
strcpy(auxclub,ciclistas[i].club);
strcpy(ciclistas[i].club,ciclistas[j].club);
strcpy(ciclistas[j].club, auxclub);
strcpy(auxprueba,ciclistas[i].prueba);
strcpy(ciclistas[i].prueba,ciclistas[j].prueba);
strcpy(ciclistas[j].prueba, auxprueba);
auxpuntos=ciclistas[i].puntos;
ciclistas[i].puntos=ciclistas[j].puntos;
ciclistas[j].puntos=auxpuntos;
}
printf("NOMBRE \t CLUB \t PUNTOS \t PRUEBA");
for(i=CICLISTA-1;i>=0; i--)
{ if(ciclistas[i].nombre[0]!=0)
{
printf("\n\n%s %12s %5d %23s\n\n",ciclistas[i].nombre, cicli
stas[i].club, ciclistas[i].puntos, ciclistas[i]. prueba);
// gotoxy(l+2,12);printf("%s", ciclistas[c].nombre);
}
}
getch();
}//llave de consulta gral
void bajas(struct ciclista* ciclistas, int &pos)
{
int c, t;
char cieli[30];
clrscr();
printf("Nombre del ciclista a eliminar: ");
flushall();
gets(cieli);
for(c=0;c<CICLISTA-1; c++)
if(strcmpi(cieli,ciclistas[c].nombre)==0)
{
ciclistas[c].nombre[0]=0;
ciclistas[c].club[0]=0;
ciclistas[c].puntos=0;
ciclistas[c].prueba[0]=0;
pos--;
t=1;
printf("competidor dado de baja");
} if(t==-1)
printf("competidor no existente");
getch();
}
void consulta_club( struct ciclista* ciclistas)
{
clrscr();
char busclub[30];
int c, r=-1;
printf("Introduce Club a buscar: ");
flushall();
gets(busclub);
for(c=0;c<CICLISTA-1;c++)
{if(strcmpi(ciclistas[c].club,busclub)==0)
{
r=c;
break;
}
}
if(r==c)
{
printf("\n NOMBRE CLUB PUNTOS PRUEBA\n\n");
{
gotoxy(5,5);
printf("%5s",ciclistas[c].nombre);
gotoxy(20,5);
printf("%5s",ciclistas[c].club);
gotoxy(35,5);
printf("%5d",ciclistas[c].puntos);
gotoxy(45,5);
printf("%5s",ciclistas[c].prueba);
getch();
}
}
if(r==-1)
printf("ERROR");
getch();
}
void consulta_ciclista( struct ciclista* ciclistas)
{
clrscr();
char busciclista[30];
int c,r=-1;
printf("Introduce Nombre de Ciclista a buscar: ");
flushall();
gets(busciclista);
for(c=0;c<CICLISTA-1;c++)
{if(strcmpi(ciclistas[c].nombre,busciclista)==0)
{
r=c;
break;
}
}
if(r==c)
{
printf("\n NOMBRE CLUB PUNTOS PRUEBA\n\n");
{
gotoxy(5,5);
printf("%5s",ciclistas[c].nombre);
gotoxy(20,5);
printf("%5s",ciclistas[c].club);
gotoxy(30,5);
printf("%5d",ciclistas[c].puntos);
gotoxy(40,5);
printf("%5s",ciclistas[c].prueba);
getch();
}
}
if(r==-1)
printf("ERROR");
getch();
}
void modificaciones(struct ciclista* ciclistas)
{ int c,b;
char modi[30];
clrscr();
printf("Nombre de Ciclista a modificar: ");
flushall();
gets(modi);
for(c=0;c<CICLISTA-1;c++)
{ if(strcmpi(modi,ciclistas[c].nombre)==0)
{
printf("Introduce club : ");
flushall();
gets(ciclistas[c].club);
printf("Introduce puntos obtenidos: ");
do{
flushall();
if(scanf("%d", &ciclistas[c].puntos))
{b=1;}
else
{printf("error introdusca los puntos");b=-1; }
} while(b==-1);
flushall();
printf("Introduce la prueba: ");
gets(ciclistas[c].prueba);
}
}
getch();
}