// usando uma unica matriz com 3 planos
// Thiago Jose de Paula
#include "conio.h"
#include "stdio.h"
#include "string.h"
#include "stdlib.h"
#include "dos.h"
void borda(int,int,int,int);
void ler(char *,int);
void imprimir(char *,int);
void ordenar(char *);
void som();
int s;
void main ()
{
char valores[10][20][3];
clrscr();
borda(1,1,79,24);
borda(15,6,65,8);
borda(15,10,65,18);
for(int i=0;i&;t;10;i++)
ler(&valores[i][0][0],i);
ordenar(&valores[0][0][0]);
gotoxy(32,21);
printf("ORDENANDO...");
som();
clrscr();
borda(1,1,79,24);
borda(5,5,25,7);
borda(30,5,50,7);
borda(55,5,75,7);
gotoxy(13,6);printf("NOME");
gotoxy(38,6);printf("CURSO");
gotoxy(63,6);printf("IDADE");
borda(5,9,25,20);
borda(30,9,50,20);
borda(55,9,75,20);
for(i=0;i&;t;10;i++)
imprimir(&valores[i][0][0],i);
getch();
}
void borda(int x1,int y1,int x2,int y2)
{
int a,xa1=0,xa2=0,ya1,ya2;
xa1=x1;
xa2=x1;
ya1=y1;
ya2=y1;
for(a=0;a&;t;=(x2-x1);a++)
{
gotoxy(xa1,y1);
printf("Í");
xa1++;
}
for(a=0;a&;t;=(x2-x1);a++)
{
gotoxy(xa2,y2);
printf("Í");
xa2++;
}
for(a=0;a&;t;=(y2-y1);a++)
{
gotoxy(x1,ya1);
printf("º");
ya1++;
}
for(a=0;a&;t;=(y2-y1);a++)
{
gotoxy(x2,ya2);
printf("º");
ya2++;
}
gotoxy(x1,y1);
printf("É");
gotoxy(x2,y1);
printf("»");
gotoxy(x1,y2);
printf("È");
gotoxy(x2,y2);
printf("¼");
}
void ler(char *p,int i)
{
gotoxy(21,12);
printf("Nome: ");
gotoxy(20,14);
printf("Curso: ");
gotoxy(20,16);
printf("Idade: ");
gotoxy(32,7);
printf("Cadastro n§ %d ",i+1);
gotoxy(21,12);
printf("Nome: ");
gets(p);
p+=20;
gotoxy(20,14);
printf("Curso: ");
gets(p);
p+=20;
gotoxy(20,16);
printf("Idade: ");
gets(p);
}
void ordenar(char *p1)
{
char *a1,*p2,*a2,tmp,*aux;
int a=10;
a1=p1;
a2=a1+60;
p2=a2;
aux=a1+600;
for(int z=0;z&;t;9;z++)
{
for(int x=0;x&;t;a;x++)
{
for(int v=0;v&;t;60;v++)
{
if(p2==aux||p2>aux)
break;
if (*p1>*p2)
{
for(int u=v;u&;t;60;u++)
{
tmp=*p1;
*p1=*p2;
*p2=tmp;
p1++;p2++;
}break;
}
if (*p1==*p2)
{
p1++;p2++;
}
if (*p1&;t;*p2)
break;
}
p1=a1;
p2=a2+60;
a2=a2+60;
}
a1+=60;
p1=a1;
a2=a1;
p2=a2+60;
a--;
}
}
void imprimir(char *p,int linha)
{
gotoxy(7,10+linha);
printf("%s",p);
p+=20;
gotoxy(32,10+linha);
printf("%s",p);
p+=20;
gotoxy(57,10+linha);
printf("%s",p);
}
void som()
{
int a;
randomize();
for (int b=0;b&;t;15;b++)
{
a=random(1000)+200;
sound(a);
delay(75);
nosound();
}
}
|