#include #include # define MAXIMO 5 typedef struct { int ra[MAXIMO]; char nome[MAXIMO][50]; }tAluno; //le os dados dos alunos void lerDados(tAluno *dados); //ordena void ordena(tAluno *dados); void imprimir(tAluno dados); int tam; int main(int argc, char *argv[]) { tAluno aluno; int opcao; tam=0; printf("--------------------------------------\n\n"); printf("-----------Escolha a opcao:-----------\n\n"); printf("1- Inserir um novo registro\n"); printf("2- Listar os registros da tabela\n"); printf("3- Sair\n"); printf("--------------------------------------\n\n"); do { printf("Informe a opcao 1, 2 ou 3: "); scanf("%d", &opcao); printf("\n"); switch (opcao) { case 1: if ( tam == MAXIMO){ printf("Voce ja inserio o maximo de alunos!!\n\n"); } else{ lerDados (&aluno); ordena(&aluno); tam = tam+1; } break; case 2: imprimir(aluno); break; case 3: return(0); default: printf("Opcao invalida\n\n"); break; } } while (opcao != 3); system("PAUSE"); return 0; } void lerDados (tAluno *dados) { fflush(stdin); printf(" Digite o nome do aluno: "); gets(dados->nome[tam]); fflush(stdin); printf(" Digite o ra do aluno: "); scanf("%d", &dados->ra[tam]); printf("\n"); } void ordena(tAluno *dados){ int aux; int i,j; char aux2[50]; for (i=0;ira[j] > dados->ra[j+1]) { aux = dados->ra[j+1]; dados->ra[j+1] = dados->ra[j]; dados->ra[j] = aux; strcpy(aux2, dados->nome[j+1]); strcpy( dados->nome[j+1], dados->nome[j]); strcpy( dados->nome[j], aux2); } } } } void imprimir(tAluno dados){ int p; for( p=0; p