cc/paradigmas/t3/cliente/Questionario.cpp

00001 #include "Questionario.h"
00005 Questionario::Questionario (string id) : m_id(id) {}
00006 
00007 Questionario::~Questionario() {
00008    Questoes::iterator i;
00009    for (i=questoes.begin(); i!=questoes.end(); i++) {
00010       delete *i;
00011    }   
00012 }
00013 
00019 void Questionario::setTitulo ( string new_var ) {
00020    m_titulo = new_var;
00021 }
00022 
00028 string Questionario::getTitulo ( ) {
00029    return m_titulo;
00030 }
00031 
00037 void Questionario::setId ( string new_var ) {
00038    m_id = new_var;
00039 }
00040 
00046 string Questionario::getId ( ) {
00047    return m_id;
00048 }
00049 
00053 void Questionario::saveToHtml (string arquivo ) {
00054    fstream htmlFile;
00055    
00056    htmlFile.open(arquivo.c_str(), fstream::out);
00057    if (htmlFile.fail()) {
00058       throw string("Não foi possível criar " + arquivo);
00059    }  
00060    htmlFile << "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0 Transitional//EN\">";
00061    htmlFile << "<html><head>";
00062    htmlFile << "<META HTTP-EQUIV=\"Content-Type\" CONTENT=\"text/html; charset=utf-8\">";
00063    htmlFile << "<LINK REL=\"stylesheet\" TYPE=\"text/css\" HREF=\"questionario.css\">";
00064    htmlFile << "<title>" << m_titulo << "</title></head><body>";
00065    htmlFile << "<h1>"<< m_titulo <<"</h1>";
00066    htmlFile << "<Form method=\"POST\" ACTION=\"cgi-bin/questgen.cgi\">";
00067    htmlFile << "<input type=\"hidden\" name=\"quest.count\" value=\""<< questoes.size() <<"\">";
00068    Questoes::iterator i;
00069    for (i=questoes.begin(); i!=questoes.end(); i++) {
00070       htmlFile << "<div class=\"questao\">";
00071       htmlFile << (**i).getHtml();
00072       htmlFile << "</div>";
00073    }
00074    htmlFile << "<input type=\"submit\" name=\"submit\" >";
00075    htmlFile << "</form>";
00076    htmlFile << "</body></html>";
00077    htmlFile.close();
00078 }
00079 
00083 void Questionario::lerDados ( ) {
00084    int n=0;
00085    
00086    cout << "Digite o titulo do questionario: " << endl;
00087    cout << ">>> ";
00088    getline(cin,m_titulo);
00089       
00090    cout << "Digite o numero de questões (no mínimo 1): " << endl;
00091    cout << ">>> ";
00092    cin >> n;
00093    cin.ignore();
00094    while (n<1) {
00095       cout << "Valor inválido. No mínimo uma." << endl;
00096       cout << ">>> ";
00097       cin >> n;
00098       cin.ignore();
00099    }
00100    //Leitura da questões   
00101    int i;
00102    for (i=1; i<=n; i++) {
00103       Questao *q;
00104       int tipo = 0;
00105       cout << "Qual o tipo da questão " << i << "?" << endl;
00106       cout << "1. Questao Descritiva " << endl;
00107       cout << "2. Questao Sim/Não " << endl;
00108       cout << "3. Questao Alternativa " << endl;
00109       cout << ">>> ";
00110       cin >> tipo;
00111       cin.ignore();
00112       while ((tipo<1) || (tipo>3)) {
00113          cout << "Valor inválido. " << endl;
00114          cout << ">>> ";
00115          cin >> tipo;
00116          cin.ignore();
00117       }
00118       switch (tipo) {
00119          case Q_DESCRITIVA: 
00120               q = new QuestaoDescritiva(i);  
00121               break;
00122          case Q_SIMNAO: 
00123               q = new QuestaoSimNao(i);  
00124               break;
00125          case Q_ALTERNATIVA: 
00126               q = new QuestaoAlternativa(i);  
00127               break;     
00128          default:
00129               continue;      
00130       }
00131       q->lerDados();
00132       questoes.push_back(q);
00133       cout << endl;
00134    }        
00135 }
00136 
00137 
00138 
00139 

Gerado em Tue Aug 7 04:08:07 2007 para questgen por  doxygen 1.5.1