forked from classroom-ufersa/quickSort
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathmain.c
More file actions
67 lines (63 loc) · 1.99 KB
/
Copy pathmain.c
File metadata and controls
67 lines (63 loc) · 1.99 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "aluno.c"
#define Quantidade_MAX 10
int main(void)
{
system("cls");
Aluno *alunos[Quantidade_MAX]; // vetor de ponteiros para Aluno
int n_alunos = obter_alunos(alunos), i; // vetor preenchido no inicio do programa
char nome[81];
int matricula, documento;
int escolha = 0;
while (escolha != 3)
{
printf("\nMenu:\n");
printf("1. Cadastrar novo aluno\n");
printf("2. Listar alunos cadastrados\n");
printf("3. Sair do programa\n");
printf("Escolha uma opcao: ");
scanf("%d", &escolha);
switch (escolha)
{
case 1:
// add um aluno
if (n_alunos <= Quantidade_MAX - 1)
{
// Solicita ao usuário as informações do novo aluno
printf("Digite o nome do aluno: ");
scanf(" %[^\n]s", nome);
printf("Digite a matricula do aluno: ");
scanf("%d", &matricula);
printf("Digite o documento do aluno: ");
scanf("%d", &documento);
// Cria o novo aluno usando as informações fornecidas pelo usuário
Aluno *novo_aluno = cria_aluno(nome, matricula, documento);
alunos[n_alunos++] = novo_aluno;
atualiza_arquivo(alunos, n_alunos);
}
else
{
printf("NUMERO MAXIMO DE ALUNOS ATINGIDO\n");
}
break;
case 2:
/* Funcao de listar */
exibe_alunos(alunos, n_alunos);
break;
case 3:
printf("Saindo do programa...\n");
// Liberando a memória alocada para cada aluno
for (i = 0; i < n_alunos; i++)
{
free_aluno(alunos[i]);
}
break;
default:
printf("Opção inválida! Tente novamente.\n");
break;
}
}
return 0;
}