Kimossab

Base de Dados para HTML

Jun 9th, 2014
240
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  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.         {
  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. }
Advertisement
Add Comment
Please, Sign In to add comment