SHOW:
|
|
- or go back to the newest paste.
| 1 | //Ver os resultados de um aluno de uma disciplina | |
| 2 | int VerNotaExame(Aluno *A, Disciplina *D) | |
| 3 | {
| |
| 4 | Texto AVA = (Texto)malloc(280); | |
| 5 | sprintf(AVA, AVA_PATH, D->nome); | |
| 6 | if(!fexist(AVA)) | |
| 7 | {
| |
| 8 | printf("Ficheiro das avaliações inexistente");
| |
| 9 | return -1; | |
| 10 | } | |
| 11 | ||
| 12 | Texto t = (Texto)malloc(280); | |
| 13 | FILE *ava = fopen(AVA, "r"); | |
| 14 | int num, aval; | |
| 15 | ||
| 16 | printf("\n=========================================================\n");
| |
| 17 | printf(">>Avaliações: %s - (%d)%s<<", D->nome, A->NMec, A->Nome);
| |
| 18 | printf("\nNúmero Mecanográfico\tNome do Aluno\tAvaliação\n");
| |
| 19 | while(fgets(t, 280, ava)) | |
| 20 | {
| |
| 21 | sscanf(t, "%d%d", &num, &aval); | |
| 22 | if(num == A->NMec) | |
| 23 | {
| |
| 24 | printf("%s", t);
| |
| 25 | break; | |
| 26 | } | |
| 27 | } | |
| 28 | fclose(ava); | |
| 29 | return aval; | |
| 30 | } | |
| 31 | ||
| 32 | //prof.cpp | |
| 33 | extern void GuardarDisciplinaHTML(Disciplina *D); | |
| 34 | ||
| 35 | ||
| 36 | case 8: GuardarDisciplinaHTML(D); | |
| 37 | break; | |
| 38 | ||
| 39 | // Guardar base de dados em html | |
| 40 | void GuardarDisciplinaHTML(Disciplina *D) | |
| 41 | {
| |
| 42 | NPerguntas *N; | |
| 43 | NRespostas *R; | |
| 44 | NAlunos *A; | |
| 45 | Texto HTML = (Texto)malloc(MAX_TEXTO); | |
| 46 | sprintf(HTML, HTML_PATH, D->nome); | |
| 47 | FILE *fi = fopen(HTML, "w"); | |
| 48 | ||
| 49 | fprintf(fi, "<!DOCTYPE html>\n<html>\n<head>\n<title>%s</title></head>\n", D->nome); | |
| 50 | fprintf(fi, "<body>\n<div>\n<table style=\"width: 46%%; left:2%%; top:1%%; position:absolute; color:#013064; font-size: 100%%\">\n<td style=\"border-bottom:thin; border-top:thin; border-left:thin; border-right:thin; border-style:solid; border-color:#5B2DB5; width:15%%\">Perguntas e Respostas</td>\n</tr>\n</table>\n"); | |
| 51 | fprintf(fi, "<table style=\"width: 46%%; left:2%%; top:5%%; position:absolute; color:#013064; font-size: 100%%\">\n<tr>\n<td style=\"border-bottom:thin; border-top:thin; border-left:thin; border-right:thin; border-style:solid; border-color:#5B2DB5; width:5%%\">Código</td>\n<td style=\"border-bottom:thin; border-top:thin; border-left:thin; border-right:thin; border-style:solid; border-color:#5B2DB5; width:5%%\">Dificuldade</td>\n<td style=\"border-bottom:thin; border-top:thin; border-left:thin; border-right:thin; border-style:solid; border-color:#5B2DB5; text-align:justify\">Enunciado</td>\n</tr>\n"); | |
| 52 | fprintf(fi, "<tr>\n<td></td>\n<td style=\"border-bottom:thin; border-top:thin; border-left:thin; border-right:thin; border-style:solid; border-color:#5B2DB5; width:5%%\">Código</td>\n<td style=\"border-bottom:thin; border-top:thin; border-left:thin; border-right:thin; border-style:solid; border-color:#5B2DB5; text-align:justify\">Enunciado</td>\n</tr>\n"); | |
| 53 | ||
| 54 | if(D->lp) | |
| 55 | {
| |
| 56 | for(int i=0; i<4; i++) | |
| 57 | - | fprintf(fi, "<td style=\"border-bottom:thin; border-top:thin; border-left:thin; border-right:thin; border-style:solid; border-color:#5B2DB5; width:5%%\">%d</td>\n<td style=\"border-bottom:thin; border-top:thin; border-left:thin; border-right:thin; border-style:solid; border-color:#5B2DB5\">%s</td>\n<td style=\"border-bottom:thin; border-top:thin; border-left:thin; border-right:thin; border-style:solid; border-color:#5B2DB5; width:5%%\">%d</td>\n", A->Info->NMec, A->Info->Nome, A->Info->aval); |
| 57 | + | |
| 58 | N = D->lp->Hash[i]; | |
| 59 | for(int n=0; n<D->lp->Nel[i]; n++) | |
| 60 | {
| |
| 61 | fprintf(fi, "<tr>\n"); | |
| 62 | fprintf(fi, "<td style=\"border-bottom:thin; border-top:thin; border-left:thin; border-right:thin; border-style:solid; border-color:#5B2DB5; width:5%%\">%s</td>\n<td style=\"border-bottom:thin; border-top:thin; border-left:thin; border-right:thin; border-style:solid; border-color:#5B2DB5; width:5%%\">%d</td>\n<td style=\"border-bottom:thin; border-top:thin; border-left:thin; border-right:thin; border-style:solid; border-color:#5B2DB5; text-align:justify\">%s</td>\n", N->Info->Codigo, N->Info->Dificuldade, N->Info->Enunciado); | |
| 63 | fprintf(fi, "</tr>\n"); | |
| 64 | R = N->Info->LRespostas->Inicio; | |
| 65 | for(int m=0; m<N->Info->LRespostas->Nel; m++) | |
| 66 | {
| |
| 67 | fprintf(fi, "<tr>\n"); | |
| 68 | fprintf(fi, "<tr>\n<td></td>\n<td style=\"border-bottom:thin; border-top:thin; border-left:thin; border-right:thin; border-style:solid; border-color:#5B2DB5; width:5%%\">%s</td>\n<td style=\"border-bottom:thin; border-top:thin; border-left:thin; border-right:thin; border-style:solid; border-color:#5B2DB5; text-align:justify\">%s</td>\n</tr>\n", R->Info->Codigo, R->Info->Resp); | |
| 69 | fprintf(fi, "</tr>\n"); | |
| 70 | R = R->prox; | |
| 71 | } | |
| 72 | N = N->prox; | |
| 73 | } | |
| 74 | } | |
| 75 | } | |
| 76 | fprintf(fi, "</table>\n"); | |
| 77 | ||
| 78 | //alunos | |
| 79 | fprintf(fi, "<table style=\"width: 46%%; left:50%%; top:1%%; position:absolute; color:#013064; font-size: 100%%\">\n<tr>\n<td style=\"border-bottom:thin; border-top:thin; border-left:thin; border-right:thin; border-style:solid; border-color:#5B2DB5; width:15%%\">Alunos</td>\n</tr></table>"); | |
| 80 | fprintf(fi, "<table style=\"width: 46%%; left:50%%; top:5%%; position:absolute; color:#013064; font-size: 100%%\">\n<tr>\n<td style=\"border-bottom:thin; border-top:thin; border-left:thin; border-right:thin; border-style:solid; border-color:#5B2DB5; width:5%%\">Numero Mecanográfico</td>\n<td style=\"border-bottom:thin; border-top:thin; border-left:thin; border-right:thin; border-style:solid; border-color:#5B2DB5\">Nome</td>\n<td style=\"border-bottom:thin; border-top:thin; border-left:thin; border-right:thin; border-style:solid; border-color:#5B2DB5; width:5%%\">Avaliação</td>\n</tr>\n"); | |
| 81 | if(D->la) | |
| 82 | {
| |
| 83 | A = D->la->Inicio; | |
| 84 | for(int i=0; i < D->la->Nel; i++) | |
| 85 | {
| |
| 86 | fprintf(fi, "<tr>\n"); | |
| 87 | if(A->Info->ex) | |
| 88 | fprintf(fi, "<td style=\"border-bottom:thin; border-top:thin; border-left:thin; border-right:thin; border-style:solid; border-color:#5B2DB5; width:5%%\">%d</td>\n<td style=\"border-bottom:thin; border-top:thin; border-left:thin; border-right:thin; border-style:solid; border-color:#5B2DB5\">%s</td>\n<td style=\"border-bottom:thin; border-top:thin; border-left:thin; border-right:thin; border-style:solid; border-color:#5B2DB5; width:5%%\">%d</td>\n", A->Info->NMec, A->Info->Nome, VerNotaExame(A->Info, D)); | |
| 89 | else fprintf(fi, "<td style=\"border-bottom:thin; border-top:thin; border-left:thin; border-right:thin; border-style:solid; border-color:#5B2DB5; width:5%%\">%d</td>\n<td style=\"border-bottom:thin; border-top:thin; border-left:thin; border-right:thin; border-style:solid; border-color:#5B2DB5\">%s</td>\n<td style=\"border-bottom:thin; border-top:thin; border-left:thin; border-right:thin; border-style:solid; border-color:#5B2DB5; width:5%%\">N/A</td>\n", A->Info->NMec, A->Info->Nome); | |
| 90 | fprintf(fi, "<tr>\n"); | |
| 91 | A = A->prox; | |
| 92 | } | |
| 93 | } | |
| 94 | fprintf(fi, "</table>\n"); | |
| 95 | ||
| 96 | fprintf(fi, "</div>\n</body>\n<html>"); | |
| 97 | } |