View difference between Paste ID: J5MNnKwX and kjUP5Fxt
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
}