Ir ao conteúdo
  • Cadastre-se

mallock

Membro Júnior
  • Posts

    1
  • Cadastrado em

  • Última visita

Reputação

1
  1. Boa tarde. Estou com esse programa pra fazer na faculdade, que, é um cadastro de alunos, somente com o registro do aluno e o nome. A ideia inicial é: Entrar com os dados ( nome e RA ), e em seguida fazer a listagem dos registros. O professor pediu o seguinte: Criar um sistema de cadastro de alunos usando structures, switch case e variáveis dinâmicas ( ponteiros ) e ordenar os registros cadastrados em ordem alfabética. O cadastro e a listagem está ok. o problema mesmo está na ordenação dos nomes, que pode ser feito com strcmp e bubble sort. porém ele não quer com vetores. Como pode ser feito isso? o meu código ficou da seguinte forma: #include <stdlib.h> #include <stdio.h> #include <conio.h> #include <locale.h> struct aluno{ int ra; char nome[20]; struct aluno *anterior; struct aluno *ant; int aux; }; void cadastraaluno(); void listaaluno(); struct aluno *al=NULL, *ant=NULL; struct aluno aux; main(){ setlocale(LC_ALL,"portuguese"); int opcao; do{ printf("============== SISTEMA CADASTRO DE ALUNOS ==============\n\n"); printf("\n 1- Cadastrar"); printf("\n 2- Listar"); printf("\n 3- Sair\n"); printf("\n Qual opção? "); scanf("%d",&opcao); switch(opcao){ case 1:{ cadastraaluno(); break; } case 2:{ listaaluno(); break; } case 3:{ printf("Saindo..."); break; } default:{ printf("opção inválida."); } } getch(); }while(opcao!=3); getch(); } void cadastraaluno(){ al=(struct aluno*) malloc(sizeof(struct aluno)); printf("RA:"); scanf("%d",&(*al).ra); fflush(stdin); printf("NOME:"); gets((*al).nome); (*al).anterior=ant; ant=al; } void listaaluno(){ printf("\n Foram cadastrados os seguintes dados: \n\n"); while((*al).anterior !=NULL){ // enquanto registro anterior não for nulo. printf("\n RA: %d",(*al).ra); printf("\n NOME: %s\n",(*al).nome); al=(*al).anterior; aux=*ant; *ant=*al; *al=aux; } //fecha laço while; printf("\n RA: %d",(*al).ra); printf("\n NOME: %s",(*al).nome); getch(); } Agradeço a atenção.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

 

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!