Francisco Aldana Hernández

Francisco Aldana Hernández
Sistemas Computacionales

domingo, 7 de noviembre de 2010

Proyecto :::::: Introduccion de datos de N alumnos y ordenamiento por medio de opciones...

#include"iostream.h"
#include"conio.h"
#include"stdio.h"
#include"string.h"
char nombre[20][30],apellidoa[20][30],apellidob[20][30];
int menu()
{
int opcion,salir=1,opc;
while(salir==1)
{
clrscr();
salir=0;
printf("::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::");
gotoxy(1,2);printf(":");gotoxy(1,3);printf(":");gotoxy(1,4);printf(":");gotoxy(1,5);printf(":");
gotoxy(1,6);printf(":");gotoxy(1,7);printf(":");gotoxy(1,8);printf(":");gotoxy(1,9);printf(":");
gotoxy(1,10);printf(":");gotoxy(1,11);printf(":");gotoxy(1,12);printf(":");gotoxy(1,13);printf(":");
gotoxy(1,14);printf(":");gotoxy(1,15);printf(":");gotoxy(1,16);printf(":");gotoxy(1,17);printf(":");
gotoxy(1,14);printf(":");gotoxy(1,15);printf(":");gotoxy(1,16);printf(":");gotoxy(1,17);printf(":");
gotoxy(1,18);printf(":");gotoxy(1,19);printf(":");gotoxy(1,20);printf(":");gotoxy(1,21);printf(":");
gotoxy(1,22);printf(":");gotoxy(1,23);printf(":");gotoxy(1,24);printf(":");
gotoxy(1,25);printf(":::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::");
gotoxy(30,2);printf("******-|-Menu-|-******");
gotoxy(3,5);printf("1.- Ordenar por apellidos");
gotoxy(3,6);printf("2.- Ordenar por nombre");
gotoxy(3,7);printf("3.- Ordenar por promedio mas alto al mas bajo");
gotoxy(3,8);printf("4.- Ordenar por promedio mas bajo al mas alto");
gotoxy(3,9);printf("5.- Salir");
gotoxy(8,12);printf("Que opcion deseas?");
opcion=getche();
clrscr();
switch(opcion)
{
case '1': opc=1; break;
case '2': opc=2; break;
case '3': opc=3; break;
case '4': opc=4; break;
case '5': opc=0; break;
default:
{
salir=1;
printf("Opcion Invalida");
getch();
}
}
}
return(opc);
}
int ordennomap(int num,int lista[],int opc)
{
    int i,aux=0;
    int c,temp2, j;
    char nombreaux[30],apellidoaaux[30],apellidobaux[30];
if (opc==1)
{
for(i = (num-1); i >= 0; i--)
{
    temp2=num-1;
    for(j = 1; j <= temp2; j++)
    {
        if(strcmp(apellidoa[j-1],apellidoa[j]) > 0)
            {
                aux=lista[j-1];
                lista[j-1]=lista[j];
                lista[j]=aux;
                strcpy(apellidoaaux, apellidoa[j-1]);
                strcpy(apellidoa[j-1], apellidoa[j]);
                strcpy(apellidoa[j], apellidoaaux);
                strcpy(apellidobaux, apellidob[j-1]);
                strcpy(apellidob[j-1], apellidob[j]);
                strcpy(apellidob[j], apellidobaux);
                strcpy(nombreaux, nombre[j-1]);
                strcpy(nombre[j-1], nombre[j]);
                strcpy(nombre[j], nombreaux);
            }
    }
}
             printf("Ordenado por apellidos alfabeticamente:\n\n");
     for(c=0;c<num;c++)
     {
     cout<<"El alumno "<<nombre[c]<<" "<<apellidoa[c]<<" "<<apellidob[c]<<" con un promedio de "<<lista[c]<<endl;
     }
}
else
{
for(i = (num-1); i >= 0; i--)
{
    temp2=num-1;
    for(j = 1; j <= temp2; j++)
    {
        if(strcmp(nombre[j-1],nombre[j]) > 0)
            {
                aux=lista[j-1];
                lista[j-1]=lista[j];
                lista[j]=aux;
                strcpy(apellidoaaux, apellidoa[j-1]);
                strcpy(apellidoa[j-1], apellidoa[j]);
                strcpy(apellidoa[j], apellidoaaux);
                strcpy(apellidobaux, apellidob[j-1]);
                strcpy(apellidob[j-1], apellidob[j]);
                strcpy(apellidob[j], apellidobaux);
                strcpy(nombreaux, nombre[j-1]);
                strcpy(nombre[j-1], nombre[j]);
                strcpy(nombre[j], nombreaux);
            }
    }
}
             printf("Ordenado por nombres alfabeticamente:\n\n");
     for(c=0;c<num;c++)
     {
     cout<<"El alumno "<<nombre[c]<<" "<<apellidoa[c]<<" "<<apellidob[c]<<" con un promedio de "<<lista[c]<<endl;
     }
}
}


void ordenar(int lista[],int num,int opc)
{
  int c=0,c1=0,c2=0,aux=0;
  char nombreaux[30],apellidoaaux[30],apellidobaux[30];
  for(c1=0;c1<=num;c1++)
  {
     for(c2=0;c2<num;c2++)
     {
          if(lista[c2]>lista[c2+1])
          {
             aux=lista[c2];
             lista[c2]=lista[c2+1];
             lista[c2+1]=aux;
             strcpy(nombreaux,nombre[c2]);
             strcpy(nombre[c2],nombre[c2+1]);
             strcpy(nombre[c2+1],nombreaux);
             strcpy(apellidoaaux,apellidoa[c2]);
             strcpy(apellidoa[c2],apellidoa[c2+1]);
             strcpy(apellidoa[c2+1],apellidoaaux);
             strcpy(apellidobaux,apellidob[c2]);
             strcpy(apellidob[c2],apellidob[c2+1]);
             strcpy(apellidob[c2+1],apellidobaux);
          }
        }
     }
     if (opc==4)
     {
     printf("Ordenado del promedio mas bajo al mas alto:\n\n");
     for(c=0;c<num;c++)
     {
     cout<<"El alumno "<<nombre[c]<<" "<<apellidoa[c]<<" "<<apellidob[c]<<" con un promedio de "<<lista[c]<<endl;
     }
     }
     else
     {
     printf("Ordenado del promedio mas alto al mas bajo:\n\n");
     for(c=num-1;c>=0;c--)
     {
     cout<<"El alumno "<<nombre[c]<<" "<<apellidoa[c]<<" "<<apellidob[c]<<" con un promedio de "<<lista[c]<<endl;
     }
}   }






int main()
{
int num=3,resp=1;
clrscr();
printf("::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::");
gotoxy(1,2);printf(":");gotoxy(1,3);printf(":::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::");
gotoxy(1,4);printf(":");gotoxy(1,5);printf(":");gotoxy(1,6);printf(":");gotoxy(1,7);printf(":");
gotoxy(1,8);printf(":");gotoxy(1,9);printf(":");gotoxy(1,10);printf(":");gotoxy(1,11);printf(":");
gotoxy(1,12);printf(":");gotoxy(1,13);printf(":");gotoxy(1,14);printf(":");gotoxy(1,15);printf(":");
gotoxy(1,16);printf(":");gotoxy(1,17);printf(":");gotoxy(1,14);printf(":");gotoxy(1,15);printf(":");
gotoxy(1,16);printf(":");gotoxy(1,17);printf(":");gotoxy(1,18);printf(":");gotoxy(1,19);printf(":");
gotoxy(1,20);printf(":");gotoxy(1,21);printf(":");gotoxy(1,22);printf(":");gotoxy(1,23);printf(":");
gotoxy(1,24);printf(":");
gotoxy(36,24);printf("Realizado por Francisco Aldana Hernandez ISC");
gotoxy(1,25);printf(":::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::");
gotoxy(5,2);printf("Sistema de registro de calificaciones con vista deseada por el usuario");
gotoxy(20,10);printf("Cuantos alumnos deseas introducir?\n");
gotoxy(36,11);scanf("%d",&num);
int contador=0,auxiliar=0,c=0,c1=0,lista[20],calificacion[20][3];
int opc=0;
clrscr();
  for(c=0;c<num;c++)
  {
  printf("Introduce el nombre: -->");
  scanf("%s",&nombre[c]);
  printf("Introduce el primer apellido: -->");
  scanf("%s",&apellidoa[c]);
  printf("Introduce el segundo apellido: -->");
  scanf("%s",&apellidob[c]);
  auxiliar=0;
  for(c1=0;c1<3;c1++)
  {
     cout<<"Introduce la calificacion "<<c1+1<<": ";cin>>calificacion[c][c1];
     auxiliar+=calificacion[c][c1];
  }
  lista[contador]=auxiliar/3;
  contador=contador+1;
  clrscr();
  }
  clrscr();
while(resp==1)
{
opc=menu();
clrscr();

if(opc==0)
{
printf("No se selecciono ninguna opcion!!!!!!");
}
if(opc==1)
{
ordennomap(num,lista,opc);
}
if(opc==2)
{
ordennomap(num,lista,opc);
}
if(opc==3)
{
ordenar(lista,num,opc);
}
if(opc==4)
{
ordenar(lista,num,opc);
}
getch();
printf("\n------------------------------------------------------------------\nDeseas continuar\n 1.- Si\n 2.- No\n");
scanf("%d",&resp);
}
}

1 comentario: