Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<stdio.h>
- #include<stdlib.h>
- #include<conio.h>
- #include<locale.h>
- //Variáveis globais
- typedef struct{
- char n_aluno[40];
- int mat_aluno;
- float p1[10], p2[10], e1[10], e2[10], t1[10],med_aluno[10];//Cada nota tem um vetor para um máximo de matérias possível
- int num_cad[10], freq_aluno[10];
- }cad_aluno;
- cad_aluno aluno[500];//Vetor para o maior número de alunos possível. //Nota: Tentar trocar para matriz//
- int mat_aluno = 0;
- typedef struct{
- char n_sala[25];
- int num_sala, num_aluno;
- }cad_sala;
- cad_sala sala[10];
- int num_sala = 0;
- //
- //Funções ALUNO
- void f_aluno_cad();
- void f_aluno_edit();
- void f_aluno_nota();
- //
- //Funções SALA
- void f_sala_cad();
- void f_sala_edit();
- void f_sala_cad_alunos();
- void f_sala_list();
- //
- //Funções INFO
- void f_info_al();
- void f_info_sala();
- void f_info_nota();
- //
- main(){
- setlocale(LC_ALL,"");
- int op_al,op_sl,op_info,op;
- do{
- printf("Selecione a operação desejada: \n");
- printf("1-ALUNOS\n2-SALAS\n3-INFORMAÇÕES\n4-SAIR\n");
- scanf("%d", &op);
- system("cls");
- switch(op){
- case 1:{
- printf("1-CADASTRAR ALUNO\n2-EDITAR ALUNO\n3-EDITAR NOTAS\n4-VOLTAR\n");
- scanf("%d", &op_al);
- system("cls");
- switch(op_al){
- case 1:{
- f_aluno_cad();
- break;
- }
- case 2:{
- f_aluno_edit();
- break;
- }
- case 3:{
- f_aluno_nota();
- break;
- }
- default:{
- if(op_al == 4){
- system("cls");
- return main();
- }
- else
- printf("OPERAÇÃO INVÁLIDA.DIGITE NOVAMENTE.\n");
- break;
- }
- }
- break;
- }
- case 2:{
- printf("1-CADASTRAR SALA\n2-EDITAR SALA\n3-ADICIONAR ALUNOS\n4-LISTAR ALUNOS\n5-VOLTAR\n");
- scanf("%d", &op_sl);
- system("cls");
- switch(op_sl){
- case 1:{
- f_sala_cad();
- break;
- }
- case 2:{
- f_sala_edit();
- break;
- }
- case 3:{
- f_sala_cad_aluno();
- break;
- }
- case 4:{
- f_sala_list();
- break;
- }
- default:{
- if(op_sl == 5){
- system("cls");
- return main();
- }
- else
- printf("OPERAÇÃO INVÁLIDA. DIGITE NOVAMENTE.");
- break;
- }
- }
- break;
- }
- case 3:{
- printf("1-LISTAR ALUNOS\n2-LISTAR SALA\n3-NOTAS ALUNOS\n4-VOLTAR\n");
- scanf("%d", &op_info);
- system("cls");
- switch(op_info){
- case 1:{
- f_info_al();
- break;
- }
- case 2:{
- printf("teste_sub3_02");
- break;
- }
- case 3:{
- printf("teste_sub3_03");
- break;
- }
- default:{
- if(op_info == 4){
- system("cls");
- return main();
- }
- else
- printf("OPERAÇÂO INVÁLIDA.DIGITE NOVAMENTE.\n");
- break;
- }
- }
- break;
- }
- default:{
- if(op == 4){
- printf("VOCÊ SAIU");
- }
- else{
- printf("OPERAÇÃO INVÁLIDA. DIGITE NOVAMENTE.\n");
- }
- break;
- }
- }
- }while(op != 4);
- }
- //funções ALUNO
- void f_aluno_cad(){
- int i, comp_mat,cont;
- printf("CADASTRO DE ALUNO\n");
- printf("Digite o número de matrícula do aluno: \n");
- scanf("%d", &i);
- if(i>500){
- printf("MATRÍCULA MÁXIMA = 500\n");
- return f_aluno_cad();
- }
- else{
- if(aluno[i].mat_aluno != 0){
- comp_mat = 2;
- }
- if(comp_mat == 2){
- printf("NÃO É POSSÍVEL REALIZAR O CADASTRO. O NÚMERO DE MATRÍCULA ESCOLHIDO JÁ ESTÁ EM USO.\n");
- return f_aluno_cad();
- }
- else{
- aluno[i].mat_aluno = i;
- printf("Digite o nome do aluno de matrícula n° %d\n", aluno[i].mat_aluno);
- scanf("%s", &aluno[i].n_aluno);
- printf("CADASTRO REALIZADO COM SUCESSO!\n");
- printf("NOME = %s\nMATRÍCULA = %d\n", aluno[i].n_aluno, aluno[i].mat_aluno);
- printf("Você deseja cadastrar outro aluno?\n1-SIM\n2-NÃO\n");
- scanf("%d",&i);
- if(i == 1){
- system("cls");
- return f_aluno_cad();
- }
- else{
- system("cls");
- }
- }
- }
- }
- void f_aluno_edit(){
- int i,cont,comp_mat, ntt;
- for(cont=0;cont<=500;cont++){
- ntt = ntt + aluno[cont].mat_aluno;
- }
- if(ntt == 0) //Essa comparação é para análise. Se a soma dos números de matrícula for 0, então não há nenhum aluno cadastrado
- comp_mat = 1;
- if(comp_mat == 1){
- printf("NENHUM ALUNO CADASTRADO!\n");
- return f_aluno_cad();
- }
- printf("EDIÇÃO DE ALUNOS\n");
- printf("Digite o número de matrícula que você deseja editar: \n");
- scanf("%d", &i);
- if(aluno[i].mat_aluno == 0){
- printf("Não há nenhum aluno cadastrado com esse número de matrícula\n");
- getch();
- system("cls");
- }
- else{
- printf("Digite o nome do aluno: \n");
- scanf("%s", &aluno[i].n_aluno);
- printf("EDIÇÃO BEM SUCEDIDA! \n");
- getch();
- system("cls");
- }
- }
- void f_aluno_nota(){
- int i,cont,comp_mat,ntt;
- for(cont=0;cont<=500;cont++){
- ntt = ntt + aluno[cont].mat_aluno;
- }
- if(ntt == 0)
- comp_mat = 1;
- if(comp_mat == 1){
- printf("NENHUM ALUNO CADASTRADO!\n");
- }
- else{
- printf("EDIÇÃO DE NOTAS\n");
- printf("Digite a matrícula do aluno que você deseja mudar notas: \n");
- scanf("%d", &i);
- if(aluno[i].mat_aluno == 0){
- printf("NÃO HÁ NENHUM ALUNO CADASTRADO COM ESSE NÚMERO DE MATRÍCULA\n");
- }
- else{
- printf("Digite a primeira nota do aluno %s\n", aluno[i].n_aluno);
- scanf("%f", &aluno[i].p1);
- printf("Digite a segunda nota do aluno: \n");
- scanf("%f", &aluno[i].p2);
- printf("Digite a nota do primeiro exercício do aluno: \n");
- scanf("%f", &aluno[i].e1);
- printf("Digite a nota do segundo exercício do aluno: \n");
- scanf("%f", &aluno[i].e2);
- printf("Agora a nota do trabalho final do aluno: \n");
- scanf("%f", &aluno[i].t1);
- printf("NOTAS CADASTRADAS COM SUCESSO!");
- printf("NOME = %s",aluno[i].n_aluno);
- printf("MATRÍCULA = %d",aluno[i].mat_aluno);
- printf("NOTAS = Prova 01 = %.2f\nProva 2 = %.2f\nExercício 1 = %.2f\nExercício 2 = %.2f\nTrabalho Final = %.2f",aluno[i].p1,aluno[i].p2,aluno[i].e1,aluno[i].e2,aluno[i].t1);
- }
- }
- }
- //funções SALAS
- void f_sala_cad(){
- int i;
- printf("CADASTRO DE SALA\n");
- printf("Digite o número para cadastro da sala: \n");
- scanf("%d", &i);
- if(i > 10){
- printf("NUM MÁX DE SALAS = 10\n");
- }
- else{
- sala[i].num_sala = i;
- printf("Digite o nome da disciplina:\n");
- scanf("%s", &sala[i].n_sala);
- printf("DISCIPLINA CADASTRADA!\n");
- printf("Nome da disciplina: %s\nNúmero da sala: %d\n",sala[i].n_sala,sala[i].num_sala);
- }
- }
- void f_sala_edit(){
- int i;
- printf("Digite o número da sala para edição: \n");
- scanf("%d", &i);
- if(i>10){
- printf("NÚMERO MÁXIMO DE SALAS = 10\n");
- return f_sala_edit();
- }
- else{
- printf("Digite o nome da disciplina: \n");
- scanf("%s", &sala[i].n_sala);
- printf("EDIÇÃO REALIZADA COM SUCESSO!\n");
- printf("NOME = %s\n", sala[i].n_sala);
- }
- }
- void f_sala_cad_aluno(){
- int i,j;
- printf("Digite o número da sala: \n");
- scanf("%d", &i);
- if(i>100){
- printf("NUMERO MÁXIMO DE SALAS = 10\n");
- return f_sala_cad_aluno();
- }
- if(sala[i].num_sala == 0){
- printf("A SALA ESCOLHIDA NÃO ESTÁ CADASTRADA.\nDESEJA CADASTRA-LA?\n1-SIM\n2-NÃO\n");
- scanf("%d", &i);
- if(i == 1){
- system("cls");
- return f_sala_cad();
- }
- if(i == 2){
- return f_sala_cad_aluno();
- }
- }
- else{
- printf("Digite o número do aluno para ser adicionado à sala: \n");
- scanf("%d", &j);
- if(aluno[j].mat_aluno == 0){
- printf("NÃO HÁ NENHUM ALUNO COM ESSE CADASTRO: \n");
- return f_sala_cad_aluno();
- }
- else{
- aluno[j].num_cad[i] = i;
- printf("CADASTRO BEM SUCEDIDO\n");
- printf("Aluno = %s\n",aluno[j].n_aluno);
- printf("Disciplina = %s\n", sala[i].n_sala);
- sala[i].num_aluno = sala[i].num_aluno + 1;
- }
- }
- }
- void f_sala_list(){
- int i,cont;
- printf("Digite de qual sala você quer informações: \n");
- scanf("%d", &i);
- if(sala[i].num_sala == 0){
- printf("A SALA ESCOLHIDA NÃO ESTÁ CADASTRADA.\nDESEJA CADASTRA-LA?\n1-SIM\n2-NÃO\n");
- scanf("%d", &i);
- if(i == 1){
- system("cls");
- return f_sala_cad();
- }
- else{
- return f_sala_list();
- }
- }
- else{
- if(sala[i].num_aluno == 0){
- printf("NÃO HÁ NENHUM ALUNO CADASTRADO NESSA SALA\n");
- return f_sala_list();
- }
- for(cont=0;cont<=50;cont++){
- if(aluno[cont].num_cad[i] == i){
- printf("Nome = %s\nMatrícula = %d\n",aluno[cont].n_aluno,aluno[cont].mat_aluno);
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement