Você está na página 1de 12

Identificação

Orientado por:
José Dias Queta

Instituição:
Instituto Médio de Administração e Gestão /Garsu

Endereço completo da instituição:


Bairro Cabonda-Papelão, AV. Do Aeroporto defronte ao condomínio Ana Paula.

Integrantes do grupo:
 Afonso Costa Domingos
 Agostinho Neto Amaro
 Alfredo Alexandre Domingos
 João Manuel S. Da Costa
 Justino Afonso Chicomo
 Ludmilson José
 Nunés Muanza Afonso Francisco
 Paulo dos Santos Neves
 Sebastião F. Domingos
 Victor Antonio Lucas

Assinatura dos estudantes:

• __________________________________________
• __________________________________________
• __________________________________________
• __________________________________________
• __________________________________________
• __________________________________________
• __________________________________________
• __________________________________________
• __________________________________________
• __________________________________________

1
Introdução
O presente relatório descreve o algoritmo de gestão de matrículas em uma
escola. O objetivo do algoritmo é facilitar o processo de matrícula de alunos,
permitindo que o usuário insira os dados necessários e realize a matrícula de
forma eficiente.

2
Descrição do algoritmo:
O nosso algoritmo utiliza uma estrutura denominada Aluno, e nele contem
os campos nome, idade, classe, curso, inscricao e matricula, que serão utilizados
ao longo do programa por meio das variáveis “alunos e novoAluno” que são do
tipo struct Aluno, e os campos são invocados por meio do operador (.).
1. cadastrarAluno():
Responsável por coletar e armazenar informações sobre os alunos. O
procedimento “cadastrarAluno()” solicita ao usuário quantos alunos deseja
cadastrar e o valor inserido é armazenado na variável (numa).
Usa um loop para iterar sobre o número especificado de alunos, coleta
informações como nome, idade, número de matrícula, valor de inscrição e classe.
Com base na classe inserida o programa oferece opções de cursos
disponíveis para a respectiva classe, para a 7ª Classe o programa exibe o
seguinte menu:
1. Auxiliar de contabilidade
2. Operador de Informatica
E para a 10ª Classe estão disponíveis os seguintes:
1. Tecnico de Informatica
2. Contabilidade
3. Informatica de Gestao
4. Administracao Publica
5. Financas
Armazena as informações no array global alunos verificando se o numero
de alunos cadastrados chegue ao máximo, e se for o caso é apresentada uma
mensagem informando que a quantidade de vagas foi esgotada.
2. exibirAlunos():
Exibe a lista de alunos matriculados. Utiliza um loop para iterar sobre o
vetor alunos.
Exibe informações como nome, idade, classe, curso e número de matrícula
de cada aluno.
3. alterarMatricula():
Permite a alteração das informações de um aluno com base no número de
matrícula. Solicita ao usuário o número de matrícula do aluno a ser alterado.

3
Procura pelo aluno com base no número de matrícula e, se encontrado,
permite a atualização das informações, e depois Exibe uma mensagem indicando
o sucesso da alteração.

4. main():
Dentro do método principal é realizada a autenticação do usuário com
nome de usuário e senha predefinidos. Utilizando a função de comparação de
strings strcmp da biblioteca “string.h”.
Exibe um menu principal em um loop do-while permitindo ao usuário escolher
entre cadastrar aluno, exibir alunos, alterar matrícula ou sair do programa, chama
as funções correspondentes com base na escolha do usuário.
Apresentação do algoritmo

#include <stdio.h>
#include <string.h>
#define MAX_ALUNOS 50
struct Aluno {
char nome[60];
int idade;
int classe;
float inscricao;
char curso[50];
int matricula;
};
struct Aluno alunos[MAX_ALUNOS];
int numAlunos = 0;
struct Aluno novoAluno;
void cadastrarAluno() {
int z;
int op;

4
printf("Informe quantos alunos pretende cadastrar: ");
int numa=0;
scanf("%d", &numa);

for(z=0; z<numa; z++){


if (numAlunos < MAX_ALUNOS) {
printf("Nome do aluno %d: \n",z + 1);
fflush(stdin);
gets(novoAluno.nome);

printf("Idade do aluno %d: \n",z + 1);


scanf("%d", &novoAluno.idade);

printf("Numero de matricula do aluno %d: \n",z + 1);


scanf("%d", &novoAluno.matricula);

while (novoAluno.inscricao != 1000){


printf("Insira o valor (em kz) de inscricao para o aluno %d:\n",z + 1);
scanf("%f", &novoAluno.inscricao);

if(novoAluno.inscricao == 1000) {
printf("O aluno %s esta inscrito para fazer
matricula.\n",novoAluno.nome);
}else{
printf("O valor de inscricao nao esta correto.\
n");
}
}
printf("\nInforme a classe em que o aluno %d sera matriculado (7 ou
10):\n",z + 1);
scanf("%d", &novoAluno.classe);
5
//SE A CLASSE ESCOLHIDA FOR 7
if (novoAluno.classe == 7){
printf("\nCursos disponiveis para o primeiro ciclo:\n");
printf("1. Auxiliar de contabilidade\n");
printf("2. Operador de Informatica\n");
printf("*** Escolha o curso: ");
scanf("%d", &op);

switch(op){
case 1:
strcpy(novoAluno.curso,"Auxiliar de contabilidade");
printf("O aluno %s esta matriculado na %d classe no curso de
%s\n",novoAluno.nome, novoAluno.classe, novoAluno.curso);break;
case 2:
strcpy(novoAluno.curso,"Operador de Informatica");
printf("O aluno %s esta matriculado na %d classe no curso de
%s\n",novoAluno.nome, novoAluno.classe, novoAluno.curso);break;
default:
printf("Opcao invalida.");break;
}
//SE A CLASSE ESCOLHIDA FOR 10
}else if(novoAluno.classe == 10) {
printf("Cursos disponiveis para o segundo ciclo:\n");
printf("1. Tecnico de Informatica\n");
printf("2. Contabilidade\n");
printf("3. Informatica de Gestao\n");
printf("4. Administracao Publica\n");
printf("5. Financas\n");
printf("*** Escolha o curso: ");
scanf("%d", &op);

6
switch(op){
case 1:
strcpy(novoAluno.curso,"Tecnico de Informatica");
printf("O aluno %s esta matriculado na %d classe no curso de
%s\n",novoAluno.nome, novoAluno.classe, novoAluno.curso);break;
case 2:
strcpy(novoAluno.curso,"Contabilidade");
printf("O aluno %s esta matriculado na %d classe no curso de
%s\n",novoAluno.nome, novoAluno.classe, novoAluno.curso);break;
case 3:
strcpy(novoAluno.curso,"Informatica de Gestao");
printf("O aluno %s esta matriculado na %d classe no curso de
%s\n",novoAluno.nome, novoAluno.classe, novoAluno.curso);break;
case 4:
strcpy(novoAluno.curso,"Administracao Publica");
printf("O aluno %s esta matriculado na %d classe no curso de
%s\n",novoAluno.nome, novoAluno.classe, novoAluno.curso);break;
case 5:
strcpy(novoAluno.curso,"Financas");
printf("O aluno %s esta matriculado na %d classe no curso de %s\
n",novoAluno.nome, novoAluno.classe, novoAluno.curso);break;
default:
printf("Opcao invalida.");break;
}
}
alunos[numAlunos++] = novoAluno;

printf("=====================================\n");
} else {
printf("Limite maximo de vagas atingido.\n");

7
}
}
}

void exibirAlunos() {
int i;
printf("\nLista de Alunos Matriculados:\n");
for (i = 0; i < numAlunos; i++) {
printf("========================================\n");
printf("Nome: %s\n", alunos[i].nome);
printf("Idade: %d\n", alunos[i].idade);
printf("Classe: %d\n", alunos[i].classe);
printf("Curso: %s\n", alunos[i].curso);
printf("Numero de Matricula: %d\n", alunos[i].matricula);
printf("========================================\n");
printf("\n");
}
}

void alterarMatricula() {
int op;
int i;
int matricula;
printf("Digite o numero de matricula do aluno para alterar
informacoes: ");
scanf("%d", &matricula);

for (i = 0; i < numAlunos; i++) {


if (alunos[i].matricula == matricula) {
printf("Digite as novas informacoes:\n");

8
printf("Nome do aluno: \n");
fflush(stdin);
gets(alunos[i].nome);

printf("Idade do aluno \n");


scanf("%d", &alunos[i].idade);

printf("classe do aluno \n");


scanf("%d", &alunos[i].classe);

printf("Curso do aluno \n");


fflush(stdin);
gets(alunos[i].curso);

printf("Numero de matricula do aluno \n");


scanf("%d", &alunos[i].matricula);

printf("Matricula do aluno alterada com sucesso!\n");


return;
}
}
printf("Aluno nao encontrado.\n");
}

int main() {
char nome_usuario[]="the brin";
char senha_usuario[]="1234";
char nome[20];
char senha[20];
9
int opcao;

printf("Informe o nome de usuario: ");


fflush(stdin);
gets(nome);
printf("Informe a senha: ");
fflush(stdin);
gets(senha);

if(strcmp(nome, nome_usuario) ==0 && strcmp(senha, senha_usuario)==0){


printf("\nLOGIN BEM SUCEDIDO\n");
do {
printf("\nMENU PRINCIPAL: \n");
printf("1. Cadastrar Aluno\n");
printf("2. Exibir Alunos\n");
printf("3. Alterar Matricula\n");
printf("0. Sair\n");
printf("Escolha uma opcao: ");
scanf("%d", &opcao);
switch (opcao) {
case 1:
cadastrarAluno();break;
case 2:
exibirAlunos();break;
case 3:
alterarMatricula();break;
case 0:
printf("Saindo do programa.\n");break;
return;
default:
10
printf("Opcao invalida.\n");break;
}
} while (opcao != 0);
}else{
printf("Nome de usuario e (ou) senha invalidos!\n");
}
return 0;
}

11
Conclusão
O algoritmo de gestão de matrículas apresentado fornece uma estrutura
básica para realizar o processo de matrícula de alunos em uma escola. Ele
permite a coleta de informações necessárias, como nome do aluno, valor de
inscrição, classe e curso desejado. O algoritmo também inclui validações para
garantir que as informações inseridas sejam corretas.

12

Você também pode gostar