Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /* Criacao de cursos */
- int Verificar_Disp_Curso(tagCursos cursos[], char nome_input[], char sigla_input[]) {
- int idx;
- for(idx=0; idx < MaxCourses; idx++) {
- if( !stricmp(cursos[idx].nome, nome_input) )
- return 1;
- if( !stricmp(cursos[idx].sigla, sigla_input) )
- return 2;
- }
- return 0;
- }
- int Criar_Curso(tagCursos cursos[], int qtd_cursos) {
- char sigla_input[MaxCourseSigsChars], nome_input[MaxNameChars];
- int verificacao;
- printf("\t\t\tCriar Curso\n\n");
- printf("Sigla: ");
- gets(sigla_input);
- printf("Nome: ");
- gets(nome_input);
- verificacao = Verificar_Disp_Curso(cursos, nome_input, sigla_input);
- system("cls");
- /*if( verificacao == 1 ) {
- printf("Nome ja em utilizacao!!\n\n");
- PAUSA();
- return 0;
- }
- else */if( verificacao == 2 ) {
- printf("Sigla ja em utilizacao!!\n\n");
- PAUSA();
- return 0;
- }
- else {
- strcpy(cursos[qtd_cursos].nome, nome_input);
- strcpy(cursos[qtd_cursos].sigla, sigla_input);
- }
- return 1;
- }
- /* Criacao de disciplinas */
- int Criar_Disciplina(tagDisciplinas disciplinas[], tagCursos cursos[], int quant_discp) {
- char sigla_disciplina_input[MaxDiscipSigsChars], nome_disciplina_input[MaxNameChars/2];
- char sigla_curso_input[MaxCourseSigsChars];
- int quant_mods, verific_sigla_nome, verific_siglaC;
- printf("\t\t\tCriar Disciplina\n\n");
- printf("\tSigla: ");
- gets(sigla_disciplina_input);
- printf("\tNome: ");
- gets(nome_disciplina_input);
- printf("\tSigla do Curso: ");
- gets(sigla_curso_input);
- printf("\tQuantidade de Modulos: ");
- scanf("%d", &quant_mods);
- verific_siglaC = Verificar_Disp_Curso(cursos, "any", sigla_curso_input);
- system("cls");
- if( verific_siglaC != 2) {
- printf("Curso nao encontrado!!\n\n");
- PAUSA();
- }
- else if( !Entre_AB(quant_mods, MaxModulos, MinModulos) ) {
- printf("Numero de modulos tem de estar entre %d e %d!!\n\n", MinModulos, MaxModulos);
- PAUSA();
- }
- else if( !strcmp(sigla_disciplina_input, sigla_curso_input) ) {
- printf("Sigla da disciplina e sigla do curso iguais !!\n\n");
- PAUSA();
- }
- else {
- strcpy(disciplinas[quant_discp].nome, nome_disciplina_input);
- strcpy(disciplinas[quant_discp].sigla_disciplina, sigla_disciplina_input);
- return 1;
- }
- return 0;
- }
- /* Criacao de utilizadores */
- int Criar_Utilizador(tagUsers utilizadores[], tagCursos cursos[], int qtd_users_total, int qtd_users_tipo[]) {
- char input_c = '\0';
- char nome_input[MaxNameChars], sigla_curso_input[MaxCourseSigsChars], password_input[MaxPasswordChars];
- int tipo, numero_input, verific_num, verific_curso;
- printf("\t\t\tCriar Utilizador\n\n");
- printf("\t\t q - Aluno ");
- printf("\t w - Professor");
- while(input_c != 'q' && input_c != 'w') {
- fflush(stdin);
- input_c = getch();
- }
- if( input_c == 'q' ) {
- tipo = TypeAlunos;
- if( qtd_users_tipo[0] == MaxStudents ) {
- printf("Maximo de alunos atingido!!\n\n");
- PAUSA();
- return 0;
- }
- }
- else {
- tipo = TypeProfs;
- if( qtd_users_tipo[1] == MaxProfs ) {
- printf("Maximo de professores atingido!!\n\n");
- PAUSA();
- return 0;
- }
- }
- system("cls");
- printf("\t\t\tCriar Utilizador\n\n");
- printf("\tNome: ");
- gets(nome_input);
- printf("\tNumero: ");
- scanf("%d", &numero_input);
- printf("\tSigla do Curso: ");
- fflush(stdin);
- gets(sigla_curso_input);
- printf("\tPassword: ");
- fflush(stdin);
- gets(password_input);
- verific_num = Verificar_Numero(utilizadores, numero_input);
- verific_curso = Verificar_Disp_Curso(cursos, "any", sigla_curso_input);
- if( verific_num == 0 ) {
- if(tipo == 0) {
- if( !Entre_AB(numero_input, MaxNumAlunos, MinNumAlunos) ) {
- printf("Numero tem de estar entre %d e %d!!\n\n", MinNumAlunos, MaxNumAlunos);
- PAUSA();
- }
- if(tipo == 1) {
- if( !Entre_AB(numero_input, MaxNumProfs, MinNumProfs) ) {
- printf("Numero tem de estar entre %d e %d!!\n\n", MinNumProfs, MaxNumProfs);
- PAUSA();
- }
- }
- }
- else if( verific_curso == 2 ) {
- strcpy(utilizadores[qtd_users_total].nome, nome_input);
- utilizadores[qtd_users_total].numero = numero_input;
- strcpy(utilizadores[qtd_users_total].password, password_input);
- strcpy(utilizadores[qtd_users_total].sigla_curso, sigla_curso_input);
- utilizadores[qtd_users_total].tipo = tipo;
- return tipo;
- }
- else {
- printf("Curso nao encontrado !!\n\n");
- PAUSA();
- }
- }
- else {
- printf("Este numero ja se encontra em utilizacao !!\n\n");
- PAUSA();
- }
- return 0;
- }
- /* Criacao de diplomas */
- /*
- double Media_Utilizador(int num_utilizador, tagNotas notas[], int *num_notas_aluno) {
- double soma;
- int idx, count;
- soma = 0.0;
- count = 0;
- for(idx=0; idx < MaxNotes;idx++) {
- if( notas[idx].numero_aluno == -1 )
- return -1;
- if( notas[idx].numero_aluno == num_utilizador ) {
- if( notas[idx].classific >= 10 ) {
- count++;
- soma += notas[idx].classific;
- }
- else
- return -1;
- }
- }
- *num_notas_aluno = count;
- if( count > 0 )
- return (soma / count);
- else
- return 0;
- }
- int Disciplinas_Aluno(char curso[], tagDisciplinas disciplinas[], int disciplinas_aluno[][3]) {
- int idx, i;
- for(idx=0, i=0; idx < MaxDiscip; idx++) {
- if( !stricmp(disciplinas[idx].sigla_curso, curso) ) {
- disciplinas_aluno[i] = idx;
- i++;
- }
- }
- return i;
- }
- void Criar_Diploma(tagUsers utilizadores[], tagNotas Notas[]) {
- int numero_input, verific_num, num_notas_aluno = 0;
- int disciplinas_aluno[MaxDiscip/2][3];
- char utilizador_curso[MaxCourseSigsChars];
- double media;
- printf("\t\t\tCriacao de Diplomas\n\n");
- printf("Numero de Aluno: ");
- scanf("%d", &numero_input);
- verific_num = Verificar_Numero(utilizadores, numero_input);
- if( verific_num != 0 ) {
- if( utilizadores[verific_num].tipo != 0 ) {
- printf("Esse utilizadores nao e um aluno !!\n\n");
- PAUSA();
- }
- else {
- strcpy(utilizador_curso, utilizadores[verific_num].sigla_curso);
- Disciplinas_Aluno(utilizador_curso,disciplinas, disciplinas_aluno);
- media = Media_Utilizador(numero_input,notas,&num_notas_aluno);
- }
- }
- else {
- printf("Numero nao encontrado !!\n\n");
- PAUSA();
- system("cls");
- }
- }
- */
- void Menu_Administracao(tagUsers utilizadores[], tagCursos cursos[], tagDisciplinas disciplinas[], tagNotas notas[], int quantidades[], int qtds_users[]) {
- char input_c;
- int verific;
- while(TRUE) {
- printf("\t\t\tMenu de Administracao\n\n");
- printf("\t q - Criar Curso\n");
- printf("\t w - Criar Disciplina\n");
- printf("\t e - Criar Utilizador\n");
- printf("\t r - Criar Diploma\n");
- printf("\t t - Sair\n");
- input_c = '\0';
- while(input_c != 'q' && input_c != 'w' && input_c != 'e' && input_c != 'r' && input_c != 't') {
- fflush(stdin);
- input_c = getch();
- }
- system("cls");
- if( input_c == 't' )
- break;
- else if( input_c == 'q' ) {
- if(quantidades[0] == MaxCourses) {
- printf("Numero maximo de cursos atingido <%d>!!\n\n", MaxCourses);
- PAUSA();
- system("cls");
- }
- else {
- verific = Criar_Curso(cursos, quantidades[0]);
- if(verific == 1)
- quantidades[0]++;
- }
- }
- else if( input_c == 'w' ) {
- if(quantidades[1] == MaxDiscip) {
- printf("Numero maximo de disciplinas atingido <%d>!!\n\n", MaxDiscip);
- PAUSA();
- system("cls");
- }
- else {
- verific = Criar_Disciplina(disciplinas,cursos,quantidades[1]);
- if(verific == 1)
- quantidades[1]++;
- }
- }
- else if( input_c == 'e' ) {
- if(quantidades[3] == 550) {
- printf("Maximo de utilizadores antigidos!!\n\n");
- PAUSA();
- system("cls");
- }
- else {
- verific = Criar_Utilizador(utilizadores, cursos, quantidades[3], qtds_users);
- if( verific != 0 ) {
- quantidades[3]++;
- qtds_users[verific]++;
- }
- }
- }
- else if( input_c == 'e' ) {
- // TODO: Acabar Criar_Diploma
- //Criar_Diploma(utilizadores, notas);
- }
- system("cls");
- }
- }
- ///
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement