Kimossab

Base de Dados para HTML

Jun 9th, 2014
288
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 5.12 KB | None | 0 0
  1. //prof.cpp
  2. extern void GuardarDisciplinaHTML(Disciplina *D);
  3.  
  4.  
  5.             case 8: GuardarDisciplinaHTML(D);
  6.                 break;
  7.  
  8. // Guardar base de dados em html
  9. void GuardarDisciplinaHTML(Disciplina *D)
  10. {
  11.     NPerguntas *N;
  12.     NRespostas *R;
  13.     NAlunos *A;
  14.     Texto HTML = (Texto)malloc(MAX_TEXTO);
  15.     sprintf(HTML, HTML_PATH, D->nome);
  16.     FILE *fi = fopen(HTML, "w");
  17.  
  18.     fprintf(fi, "<!DOCTYPE html>\n<html>\n<head>\n<title>%s</title></head>\n", D->nome);
  19.     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");
  20.     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");
  21.     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");
  22.    
  23.     if(D->lp)
  24.     {
  25.         for(int i=0; i<4; i++)
  26.         {
  27.             N = D->lp->Hash[i];
  28.             for(int n=0; n<D->lp->Nel[i]; n++)
  29.             {
  30.                 fprintf(fi, "<tr>\n");
  31.                 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);
  32.                 fprintf(fi, "</tr>\n");
  33.                 R = N->Info->LRespostas->Inicio;
  34.                 for(int m=0; m<N->Info->LRespostas->Nel; m++)
  35.                 {
  36.                     fprintf(fi, "<tr>\n");
  37.                     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);
  38.                     fprintf(fi, "</tr>\n");
  39.                     R = R->prox;
  40.                 }
  41.                 N = N->prox;
  42.             }
  43.         }
  44.     }
  45.     fprintf(fi, "</table>\n");
  46.  
  47.     //alunos
  48.     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>");
  49.     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");
  50.     if(D->la)
  51.     {
  52.         A = D->la->Inicio;
  53.         for(int i=0; i < D->la->Nel; i++)
  54.         {
  55.             fprintf(fi, "<tr>\n");
  56.             if(A->Info->ex)
  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);
  58.             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);
  59.             fprintf(fi, "<tr>\n");
  60.             A = A->prox;
  61.         }
  62.     }
  63.     fprintf(fi, "</table>\n");
  64.  
  65.     fprintf(fi, "</div>\n</body>\n<html>");
  66. }
Advertisement
Add Comment
Please, Sign In to add comment