Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- void consultNotas ( char input_sig[] ,tagNotas notas[] ){
- int idx;
- for(idx=0;idx<MaxNotes;idx++){
- if( !stricmp(input_sig, notas[idx].sigla_disciplina) || !stricmp(input_sig, "TODAS") )
- printf("\nNotas de %s: %d",notas[idx].sigla_disciplina,notas[idx].classific);
- }
- PAUSA();
- }
- int consultMed ( tagNotas notas[], char sigla_disciplina[], int version, int *num_notas, int *mod_atraso){
- int idx, soma, count, modulos_atraso;
- soma=count=modulos_atraso=0;
- for(idx=0;idx < MaxNotes;idx++){
- if( notas[idx].classific > 9 ) {
- if( !stricmp(notas[idx].sigla_disciplina, sigla_disciplina) || (!stricmp(sigla_disciplina, "TODAS") && version == 1)) {
- soma += notas[idx].classific;
- count++;
- }
- }
- else
- modulos_atraso++;
- }
- *mod_atraso = modulos_atraso;
- *num_notas = count;
- return soma;
- }
- double Media( tagNotas notas [] , tagDisciplinas disciplinas[], char input_sig[]) {
- int idx, soma, numero_notas, total_notas, mods_atraso;
- for(idx=0; idx < MaxDiscip;idx++) {
- if(disciplinas[idx].sigla_disciplina[0] != '\0') {
- soma += consultMed(notas,disciplinas[idx].sigla_disciplina,0,&numero_notas, &mods_atraso);
- if(soma != 0) {
- printf("\nMedia de %s: %.2lf", disciplinas[idx].sigla_disciplina, (double)(soma/numero_notas));
- total_notas = numero_notas;
- numero_notas = 0;
- }
- }
- }
- return (double)(soma/total_notas);
- }
- int Quant_Mods_Atraso(tagNotas notas[], tagDisciplinas disciplinas[], char input_sig[]) {
- int idx, mods_atraso, num_notas;
- mods_atraso = num_notas = 0;
- for(idx=0; idx < MaxDiscip; idx++) {
- if( stricmp(input_sig, "todas") )
- strcpy(input_sig, disciplinas[idx].sigla_disciplina);
- consultMed(notas, input_sig, 1, &num_notas, &mods_atraso);
- }
- }
- void menuAluno (tagUsers utilizadores[], tagCursos cursos[], tagDisciplinas disciplinas[], tagNotas notas[], tagNotas sigla_disciplina[], int idx_user){
- int idx, verific, mod_atraso;
- double media;
- char input_c, input_sig[MaxDiscipSigsChars];
- while(TRUE) {
- printf("\t\t\tMenu de Aluno\n\n");
- printf("\t q - Ver notas\n");
- printf("\t w - Consultar Médias\n");
- printf("\t e - Consultar módulos em atraso\n");
- printf("\t r - Sair\n");
- input_c = '\0';
- while(input_c != 'q' && input_c != 'w' && input_c != 'e' && input_c != 'r') {
- fflush(stdin);
- input_c = getch();
- }
- if( input_c == 'r')
- break;
- else
- if( input_c == 'q' ){
- printf("Introduza a sigla da disciplina: ");
- fflush(stdin);
- gets(input_sig);
- verific = Verificar_Disciplina(disciplinas,cursos,utilizadores,idx_user, input_sig);
- if( verific > 0 )
- consultNotas(input_sig, notas);
- }
- else if( input_c == 'w' ){
- media = Media(notas, disciplinas, input_sig);
- if(Media > 0)
- printf("\nMedia Global: %lf", media);
- else if(media == 0) {
- printf("\nNotas nao lancadas!!!\n\n");
- PAUSA();
- system("cls");
- }
- else {
- printf("BUG ALINEA 115: Notas negativas!!\n\n");
- PAUSA();
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement