#include <stdio.h>
#include <stdlib.h>
#include <locale.h>
#define MAX_PRODUTOS 30
typedef struct aluno {
char n_aluno[30];
int idade;
char nome;
}Aluno;
int leAlunos(Aluno aluno[], int idade, char n_aluno) {
printf("\n\n");
printf("N_Aluno: "); aalush(stdin);
scanf("%s", &aluno[n_aluno].nome);
printf("Idade: "); aalush(stdin);
scanf("%d",&aluno[n_aluno].idade);
printf("Nome: "); aalush(stdin);
scanf("%s", &aluno[n_aluno].nome);
n_aluno++;
return n_aluno;
}
int procurarAluno(char A1[], Aluno aluno[], int idade, char n_aluno)
{
int i;
for(i=0; i<idade; i++) {
if(strcmp(aluno[n_aluno].nome)== 0) {
printf("\n Aluno encontrado! ");
printf("\n+++++++++++++++++++++++++++++\n");
printf("\n\nCódigo: %d\n", i+1);
printf("n_aluno.......: %s\n", aluno[i].n_aluno);
printf("Idade......: %d\n", aluno[i].idade);
printf("Nome.......: %s\n", aluno[i].nome);
printf("\n++++++++++++++++++++++++++++++\n");
return i;
} else
printf(" \n Aluno não encontrado!\n ");
return -1;
}
}
void listarAluno(Aluno aluno[], int idade, char n_aluno) {
int i;
for (i=0; i<n_aluno; i++) {
printf("\n\nCódigo: %d\n", i+1);
printf("N_Aluno.......: %s\n", aluno[i].n_aluno);
printf("Idade......: %d\n", aluno[i].idade);
printf("Nome.......: %s\n", aluno[i].nome);
printf("\n+++++++++++++++++++\n\n");
}
}
int removerAluno(Aluno aluno[], int idade, int posicao, char n_aluno) {
int indice = posicao;
int i = 0;
if (posicao == n_aluno-1) {
n_aluno--;
}
else {
for (i=indice; i<n_aluno; i++) {
aluno[i] = aluno[i+1];
}
}
n_aluno--;
return n_aluno--;
}
int menu() {
system ("cls");
int opcao;
printf("\n\n ==== MENU DE OPÇÕES ====\n");
printf("0 - SAIR \n");
printf("1 - Registar um novo aluno \n");
printf("2 - Modificar dados de um aluno \n");
printf("3 - Apagar aluno \n");
printf("4 - Mostrar alunos da turma ordenados de forma crescente pelo número \n");
printf("5 - Pesquisar aluno \n");
printf("6 - Lista todos os alunos \n");
printf("\nEscolha uma opção: ");
scanf("%d", &opcao);
return opcao;
}
void main()
{
Aluno aluno[MAX_PRODUTOS];
int i;
int n_aluno = 0;
int opcao_selecionada;
char A1[30];
int posicao;
setlocale(LC_ALL,"");
do {
opcao_selecionada = menu();
switch(opcao_selecionada) {
case 0: break;
case 1:
n_aluno = leAluno(aluno,n_aluno);
break;
case 2:
printf(" \n Digite o aluno que quer visualizar: ");
scanf("%s",&A1);
posicao=procurarAluno(A1, nome, n_aluno);
system ("pause");
break;
case 3:
listarAluno(nome,n_aluno);
system ("pause");
break;
case 4:
printf(" \n Digite o aluno que quer eleminar: ");
scanf("%s",&Al);
posicao=procurarAluno(Al, nome,n_aluno);
if(posicao!=-1)
n_aluno=removerAluno(posicao, nome, n_aluno);
system("pause");
break;
default:
printf("\n\n A Opção %d não é válida.\n\n ",opcao_selecionada);
system ("pause");
break;
}
}while (opcao_selecionada != 0);
}