/* * Mostra na tela os indicadores básicos do jogo: * vidas restantes, HP e pontuação. */ void Jogo::exibeHud() { float x = 0.10 * janela.getSize().x; float y = 0.15 * janela.getSize().y; /* Desenha vidas extras da nave */ static sf::CircleShape losango(20.0, 4); for (int i = 0; i < nave->getVidas(); i++) { double deltaX = 2.5 * losango.getRadius(); losango.setPosition(x + (i * deltaX), y); janela.draw(losango); } /* Desenha caixa da lifebar */ y += 3.0 * losango.getRadius(); static sf::RectangleShape caixa({200.0, 10.0}); caixa.setPosition(x, y); caixa.setFillColor(sf::Color::Blue); janela.draw(caixa); /* Desenha lifebar com parcial do HP */ float k = (float) nave->getHP() / nave->getHPMax(); sf::RectangleShape lifebar({k * caixa.getSize().x, caixa.getSize().y}); lifebar.setPosition(x, y); lifebar.setFillColor(k > 0.25 ? sf::Color::Green : sf::Color::Red); janela.draw(lifebar); /* Imprime pontuação (e, se for o caso, mensagem de pausa) */ y += 2.5 * lifebar.getSize().y; sf::String str = "Score: " + std::to_string(nave->getScore()); if (pausado) str += " (pausa)"; sf::Text texto(str, fonte, 20); texto.setPosition(x, y); janela.draw(texto); }
int main(int argc, char **argv){ if (argc>=8) { Npata_arg=atoi(argv[1]); beta=atof(argv[2]); dh=atof(argv[3]); x_Offset=atof(argv[4]); y_Offset=atof(argv[5]); z_Offset=atof(argv[6]); phi=atof(argv[7])*pi/180.0; Tripode=atof(argv[8]); } else { ROS_ERROR("Nodo 2::[%d] Indique argumentos!\n",Npata_arg); sleep(5000); return 0; } /*Inicio nodo de ROS*/ std::string nodeName("Nodo2_Parametrizacion_pata"); std::string Id(boost::lexical_cast<std::string>(Npata_arg)); nodeName+=Id; ros::init(argc,argv,nodeName.c_str()); ros::NodeHandle node; //ROS_INFO("Nodo2_Parametrizacion just started\n"); //-- Topicos susbcritos y publicados chatter_pub = node.advertise<camina7::AngulosMotor>("DatosDeMotores", 100); ros::Subscriber subInfo = node.subscribe("/vrep/info",1,infoCallback); //-- Recibe topico especifico ros::Subscriber sub = node.subscribe("datosTrayectoria", 100, datosCallback); //-- Clientes y Servicios client_Cinversa = node.serviceClient<camina7::CinversaParametros>("Cinversa"); client_TransHomogenea = node.serviceClient<camina7::TransHomogeneaParametros>("TransHomogenea"); std::string fileName("../fuerte_workspace/sandbox/TesisMaureen/ROS/camina7/datos/SalidaX"); std::string texto(".txt"); fileName+=Id; fileName+=texto; fp1 = fopen(fileName.c_str(),"w+"); std::string fileName2("../fuerte_workspace/sandbox/TesisMaureen/ROS/camina7/datos/SalidaQ"); fileName2+=Id; fileName2+=texto; fp2 = fopen(fileName2.c_str(),"w+"); while (ros::ok() && simulationRunning) { ros::spinOnce(); } fclose(fp1); fclose(fp2); //ROS_INFO("Adios2!"); ros::shutdown(); return 0; }
QString Funcoes::NovaVersao() { QString versao; static bool verificou = false; if( verificou ) return QString(); if( arquivo != 0 && !ftp->hasPendingCommands() )//Se fiver apontado para algum arquivo { if( arquivo->isOpen() ) arquivo->close(); QFile fArquivo( QCoreApplication::applicationDirPath() + "/versao.txt" ); fArquivo.open( QIODevice::ReadOnly ); QTextStream texto( &fArquivo ); do { versao += texto.readLine(); }while( !texto.atEnd() ); if( ftp->errorString() != "Unknown error") { QMessageBox::information(0 , "", "Erro ao verificar por novas versões.\n" "\nRotina: Funcoes::NovaVersao()\nDescrição: " + ftp->errorString() ); } /* else if( ftp->currentCommand() != QFtp::None ) { QMessageBox::information(0 , "", "Executando comando:\n" + QString::number( ftp->currentCommand() ) ); }*/ // else // { // QMessageBox::information(0 , "", "Stado ftp:\n" // + QString::number( ftp->state() ) ); // } arquivo = 0; ftp = 0; verificou = true; delete ftp; delete arquivo; } QString v( versao ); return v; }
int main() { Tarea *listap; //creamos la variable lista. listap=NULL; char identificador[20]; char identificador1[4]; char salto_de_linea[]="\n"; int sal,z; char opcion; system("clear"); asteriscos('*',80,2); texto("GESTOR DE TAREAS DE UNA AGENDA",'*',80); asteriscos('*',80,2); printf("\n\n\x1b[35mIntroduzca su identificador: \x1b[0m"); scanf(" %s",identificador); strcat(identificador,salto_de_linea); system("clear"); sal=0; while(sal!=1){ //entramos en el bucle del menu. printf("\x1b[35mAgenda:\x1b[0m"); printf("\n1)\x1b[35m Crear tarea.\x1b[0m"); printf("\n2)\x1b[35m Ver tarea.\x1b[0m"); printf("\n3)\x1b[35m Ver lista de tareas.\x1b[0m"); printf("\n0)\x1b[35m Salir del programa.\x1b[0m"); printf("\n\n\x1b[35m¿Siguiente operación? \x1b[0m"); scanf(" %c",&opcion); printf("\n"); switch(opcion) { case '1': z=cargarIdentificador(listap);//obtengo el ultimo identificador de la lista. listap=crear_tarea(listap,identificador,z); //llamamos a la funcion crear tarea que nos devuelve la lista actualizada. break; case '2': printf("\x1b[36mIntroduce identificador de tarea: \x1b[0m"); scanf("%s%*c",identificador1); strcat(identificador1, salto_de_linea); ver_tarea(identificador1,identificador); //llamamos a la funcion ver tarea. break; case '3': ver_lista(listap); //llamamos a la funcion de ver lista. break; case '0': sal=sale(listap); //llamamos a la funcion salir que nos devuelve un valor para decidir si salimos del bucle o no. break; default: printf("\033[31mELECCIÓN INCORRECTA,PULSAR 1,2,3 o 0: \x1b[0m \n"); break; } } free(listap);//liberamos el puntero. system("clear"); return 0; }
void ServerLight::readyRead() { BL_FUNC_DEBUG static QByteArray array = ""; QByteArray lectura = ""; QTcpSocket *socket = (QTcpSocket *) sender(); lectura = socket->readAll(); g_buffers[socket] += lectura; array += lectura; QString mensaje = _("Mensaje desde: ")+ socket->peerAddress().toString() + "\n"; QString texto(g_buffers[socket]); fprintf(stderr, "\nPaquete recibido:\n"); fprintf(stderr, array); fprintf(stderr, "\nPaquete finalizado :\n"); fprintf(stderr, QString::number(array.size()).toAscii()); fprintf(stderr, "\nFin Paquete recibido :\n"); /// Si se detecta el final de la transmision se procesa la informacion. if (texto.contains("</DOCUMENT>", Qt::CaseInsensitive)) { if (texto.contains("<GETCOMMAND>categoria_articulo</GETCOMMAND>", Qt::CaseInsensitive)) { fprintf(stderr, categoryArticleXML().toAscii() ); socket->write(categoryArticleXML().toAscii()); /// Hay que cerrar el socket despues del envio. g_buffers[socket] = ""; g_buffers.remove(socket); socket->close(); } else if (texto.contains("<PUTCOMMAND>ticket_data</PUTCOMMAND>", Qt::CaseInsensitive)) { /// Nos han mandado la informacion de un ticket. processTicketDataXML(texto); g_buffers[socket] = ""; g_buffers.remove(socket); socket->close(); } else { //fprintf(stderr, "--NO ENTIENDO--"); } // end if /// Como se ha completado la recepcion de datos y se han procesado, se resetea el buffer de entrada. array = ""; } // end if }
void imprimir(Valores *vet, int l, FILE *fr, char nome[]) { int i; char num; fr = fopen(nome, "wb");//salvar as alterações fwrite(&l, sizeof(int), 1, fr); //fprintf(fr, "%d\n",l); for (i = 0;i < l; i++) { //fprintf(fr, "%c %d %g",vet[i].c, vet[i].inteiro, vet[i].real); //fprintf(fr,"\n"); fwrite(&vet[i].c, sizeof(char), 1, fr); fwrite(&vet[i].inteiro, sizeof(int), 1, fr); fwrite(&vet[i].real, sizeof(float), 1, fr); } fclose(fr); free(vet); texto(vet,l,fr,nome); }
/* * Exibe o número de quadros por segundo que o jogo está * desenhando no momento, caso a opção esteja ativada. */ void Jogo::exibeFps() { float x = 0.80 * janela.getSize().x; float y = 0.15 * janela.getSize().y; /* FPS só é alterado na tela a cada tantos timesteps */ static int fps, cont = 20; cont += getDelayTempo() * 10/1000.0; if (cont >= 20) { fps = 1000.0/(getDelayTempo() - 1); cont = cont % 20; } /* Imprime fps na tela */ sf::String mostrador = std::to_string(fps > 60 ? 60 : fps) + " fps"; sf::Text texto(mostrador, fonte, 20); texto.setPosition({x, y}); janela.draw(texto); }
void MainWindow::openPass(QString fileName) { QByteArray bac = fileName.toLatin1(); char *filec = bac.data(); std::ifstream texto(filec); if (!texto) return; if (!(fileName.isEmpty())) { QString key = QInputDialog::getText(this,"Passphrase","Please insert the encription key for the password file:"); if (key.isNull() || key.isEmpty()) key = alphabet.at(0); if (texto) { on_actionNew_triggered(); QString tempyval; char tmpchr; int i = 0; int tablea = 0; do { texto >> tmpchr; if (tmpchr!='|') tempyval = tempyval + tmpchr; if (tmpchr=='|') { if ((tablea==1) and (tempyval != QString("table1")) and (tempyval != QString("function")) and (tempyval != QString("result")) ) { if ((i%2)!=0) { QTableWidgetItem *titemo = ui->accountList->item((i-1)/2,1) ; if (titemo) titemo->setText(decrypt(tempyval, key, alphabet)) ; } else { QTableWidgetItem *titem = ui->accountList->item((i/2),0) ; if (titem) titem->setText(decrypt(tempyval, key, alphabet)) ; } i++; } if (tempyval == QString("table1")) { tablea=1; } tempyval = ""; } } while (!texto.eof()); texto.close(); } }
/************************************ verificar: Funcion que valida el atributo y el valor asignado a este atributo,por medio de funciones auxiliares. *************************************/ void verificar(char* tag, char* att,char* valor){ int atr; if (strcmp(tag,"a")==0){ len=(sizeof(a)/sizeof(a[0])); atr=verificar_atributo(a,att,"a"); if(atr==1){ if(strcmp(att,"href")==0) url(att,valor); else if(strcmp(att,"shape")==0){ len_v=(sizeof(shape)/sizeof(shape[0])); verificar_valor(shape,valor,"shape"); } else texto(att,valor);// acepta los valores de los atributos generales , que son texto "type","id","class" }} else if (strcmp(tag,"b")==0){ len=(sizeof(b)/sizeof(b[0])); atr=verificar_atributo(b,att,"b"); if(atr==1){ texto(att,valor);// acepta los valores de los atributos generales , que son texto "type","id","class" }} else if (strcmp(tag,"blockquote")==0){ len=(sizeof(blockquote)/sizeof(blockquote[0])); atr=verificar_atributo(blockquote,att,"blockquote"); if(atr==1){ url(att,valor); //cite ->url }} else if (strcmp(tag,"body")==0){ len=(sizeof(body)/sizeof(body[0])); atr=verificar_atributo(body,att,"body"); if(atr==1){ len_v=(sizeof(color)/sizeof(color[0])); verificar_valor(color,valor,att);}} else if (strcmp(tag,"br")==0){ len=(sizeof(br)/sizeof(br[0])); atr=verificar_atributo(br,att,"br"); if(atr==1){ texto(att,valor);// acepta los valores de los atributos generales , que son texto "type","id","class" }} else if (strcmp(tag,"button")==0){ len=(sizeof(button)/sizeof(button[0])); atr=verificar_atributo(button,att,"button"); if(atr==1){ if(strcmp(att,"disabled")==0){ len_v=(sizeof(disabled)/sizeof(disabled[0])); verificar_valor(disabled,valor,"disabled");} else if(strcmp(att,"autofocus")==0){ len_v=(sizeof(autofocus)/sizeof(autofocus[0])); verificar_valor(autofocus,valor,"autofocus");} else texto(att,valor); // acepta los valores de los atributos generales , que son texto "type","id","class" }} else if (strcmp(tag,"caption")==0){ len=(sizeof(caption)/sizeof(caption[0])); atr=verificar_atributo(caption,att,"caption"); if(atr==1){ len_v=(sizeof(align)/sizeof(align[0])); verificar_valor(align,valor,"align");}} else if (strcmp(tag,"code")==0){ len=(sizeof(code)/sizeof(code[0])); atr=verificar_atributo(code,att,"code"); if(atr==1){ texto(att,valor);// acepta los valores de los atributos generales , que son texto "type","id","class" }} else if (strcmp(tag,"footer")==0){ len=(sizeof(footer)/sizeof(footer[0])); atr=verificar_atributo(footer,att,"footer"); if(atr==1){ texto(att,valor); }} else if (strcmp(tag,"div")==0){ len=(sizeof(div_)/sizeof(div_[0])); atr=verificar_atributo(div_,att,"div"); if(atr==1){ if(strcmp(att,"align")==0 ){ len_v=(sizeof(align)/sizeof(align[0])); verificar_valor(align,valor,"align");} else texto(att,valor); // acepta los valores de los atributos generales , que son texto "type","id","class" }} else if (strcmp(tag,"dl")==0){ len=(sizeof(dl)/sizeof(dl[0])); atr=verificar_atributo(dl,att,"dl"); if(atr==1){ texto(att,valor);// acepta los valores de los atributos generales , que son texto "type","id","class" }} else if (strcmp(tag,"dt")==0){ len=(sizeof(dt)/sizeof(dt[0])); atr=verificar_atributo(dt,att,"dt"); if(atr==1){ texto(att,valor);// acepta los valores de los atributos generales , que son texto "type","id","class" }} else if (strcmp(tag,"dd")==0){ len=(sizeof(dd)/sizeof(dd[0])); atr=verificar_atributo(dd,att,"dd"); if(atr==1){ texto(att,valor);// acepta los valores de los atributos generales , que son texto "type","id","class" }} else if (strcmp(tag,"em")==0){ len=(sizeof(em)/sizeof(em[0])); atr=verificar_atributo(em,att,"em"); if(atr==1){ texto(att,valor);// acepta los valores de los atributos generales , que son texto "type","id","class" }} else if (strcmp(tag,"embed")==0){ len=(sizeof(embed)/sizeof(embed[0])); atr=verificar_atributo(embed,att,"embed"); if(atr==1){ if(strcmp(att,"height")==0 | strcmp(att,"width")==0 ) pixels(att,valor); else if(strcmp(att,"src")==0) url(att,valor); else texto(att,valor);// acepta los valores de los atributos generales , que son texto "type","id","class" }} else if (strcmp(tag,"pre")==0){ len=(sizeof(pre)/sizeof(pre[0])); atr=verificar_atributo(pre,att,"pre"); if(atr==1){ if(strcmp(att,"width")==0 ) pixels(att,valor); else texto(att,valor);// acepta los valores de los atributos generales , que son texto "type","id","class" }} else if (strcmp(tag,"form")==0){ len=(sizeof(form)/sizeof(form[0])); atr=verificar_atributo(form,att,"form"); if(atr==1){ if(strcmp(att,"method")==0 ){ len_v=(sizeof(method)/sizeof(method[0])); verificar_valor(method,valor,"method");} else if(strcmp(att,"action")==0) url(att,valor); else texto(att,valor); // acepta los valores de los atributos generales , que son texto "type","id","class" }} else if (strcmp(tag,"headings")==0){ len=(sizeof(headings)/sizeof(headings[0])); atr=verificar_atributo(headings,att,"headings"); if(atr==1){ if(strcmp(att,"align")==0 ){ len_v=(sizeof(align)/sizeof(align[0])); verificar_valor(align,valor,"align");} else { texto(att,valor); // acepta los valores de los atributos generales , que son texto "type","id","class" } }} else if (strcmp(tag,"head")==0){ len=(sizeof(head)/sizeof(head[0])); atr=verificar_atributo(head,att,"head"); if(atr==1){ texto(att,valor); // acepta los valores de los atributos generales , que son texto "type","id","class" }} else if (strcmp(tag,"header")==0){ len=(sizeof(header)/sizeof(header[0])); atr=verificar_atributo(header,att,"header"); if(atr==1){ texto(att,valor); // acepta los valores de los atributos generales , que son texto "type","id","class" }} else if (strcmp(tag,"hr")==0){ len=(sizeof(hr)/sizeof(hr[0])); atr=verificar_atributo(hr,att,"hr"); if(atr==1){ if(strcmp(att,"size")==0 | strcmp(att,"width")==0 ) pixels(att,valor); else if(strcmp(att,"align")==0 ){ len_v=(sizeof(align)/sizeof(align[0])); verificar_valor(align,valor,"align");} else texto(att,valor); // acepta los valores de los atributos generales , que son texto "type","id","class" }} else if (strcmp(tag,"html")==0){ len=(sizeof(html)/sizeof(html[0])); atr=verificar_atributo(html,att,"html"); if(atr==1){ if(strcmp(att,"xmlns")==0 ){ len_v=(sizeof(xmlns)/sizeof(xmlns[0])); verificar_valor(xmlns,valor,"xmlns");} else texto(att,valor); // acepta los valores de los atributos generales , que son texto "type","id","class" }} else if (strcmp(tag,"img")==0){ len=(sizeof(img)/sizeof(img[0])); atr=verificar_atributo(img,att,"img"); if(atr==1){ if(strcmp(att,"align")==0){ len_v=(sizeof(align)/sizeof(align[0])); verificar_valor(align,valor,"align");} else if(strcmp(att,"height")==0 | strcmp(att,"width")==0) pixels(att,valor); else if(strcmp(att,"src")==0) url(att,valor); else texto(att,valor); // acepta los valores de los atributos generales , que son texto "type","id","class" }} else if (strcmp(tag,"input")==0){ len=(sizeof(input)/sizeof(input[0])); atr=verificar_atributo(input,att,"input"); if(atr==1){ if(strcmp(att,"height")==0 | strcmp(att,"width")==0 | strcmp(att,"size")==0) pixels(att,valor); else if(strcmp(att,"src")==0) url(att,valor); else texto(att,valor); // acepta los valores de los atributos generales , que son texto "type","id","class" }} else if (strcmp(tag,"li")==0){ len=(sizeof(li)/sizeof(li[0])); atr=verificar_atributo(li,att,"li"); if(atr==1){ texto(att,valor);// acepta los valores de los atributos generales , que son texto "type","id","class" }} else if (strcmp(tag,"link")==0){ len=(sizeof(link)/sizeof(link[0])); atr=verificar_atributo(link,att,"link"); if(atr==1){ if(strcmp(att,"href")==0) url(att,valor); else if(strcmp(att,"rel")==0) { len_v=(sizeof(rel)/sizeof(rel[0])); verificar_valor(rel,valor,"rel");} else texto(att,valor); // acepta los valores de los atributos generales , que son texto "type","id","class" }} else if (strcmp(tag,"meta")==0){ len=(sizeof(meta)/sizeof(meta[0])); atr=verificar_atributo(meta,att,"meta"); if(atr==1){ texto(att,valor);// acepta los valores de los atributos generales , que son texto "type","id","class" }} else if (strcmp(tag,"object")==0){ len=(sizeof(object)/sizeof(object[0])); atr=verificar_atributo(object,att,"object"); if(atr==1){ if(strcmp(att,"hight")==0 | strcmp(att,"width")==0 ) pixels(att,valor); else if(strcmp(att,"align")==0 ){ len_v=(sizeof(align)/sizeof(align[0])); verificar_valor(align,valor,"align");} else texto(att,valor);// acepta los valores de los atributos generales , que son texto "type","id","class" }} else if (strcmp(tag,"ol")==0){ len=(sizeof(ol)/sizeof(ol[0])); atr=verificar_atributo(ol,att,"ol"); if(atr==1){ if(strcmp(att,"start")==0 ) numero(att,valor); else texto(att,valor); // acepta los valores de los atributos generales , que son texto "type","id","class" }} else if (strcmp(tag,"option")==0){ len=(sizeof(option)/sizeof(option[0])); atr=verificar_atributo(option,att,"option"); if(atr==1){ texto(att,valor);// acepta los valores de los atributos generales , que son texto "type","id","class" }} else if (strcmp(tag,"p")==0){ len=(sizeof(p)/sizeof(p[0])); atr=verificar_atributo(p,att,"p"); if(atr==1){ if(strcmp(att,"align")==0 ){ len_v=(sizeof(align)/sizeof(align[0])); verificar_valor(align,valor,"align");} else texto(att,valor); // acepta los valores de los atributos generales , que son texto "type","id","class" }} else if (strcmp(tag,"span")==0){ len=(sizeof(span)/sizeof(span[0])); atr=verificar_atributo(span,att,"span"); if(atr==1){ texto(att,valor); // acepta los valores de los atributos generales , que son texto "type","id","class" }} else if (strcmp(tag,"strong")==0){ len=(sizeof(strong)/sizeof(strong[0])); atr=verificar_atributo(strong,att,"strong"); if(atr==1){ texto(att,valor); // acepta los valores de los atributos generales , que son texto "type","id","class" }} else if (strcmp(tag,"style")==0){ len=(sizeof(style)/sizeof(style[0])); atr=verificar_atributo(style,att,"style"); if(atr==1){ texto(att,valor); }} else if (strcmp(tag,"select")==0){ len=(sizeof(select_)/sizeof(select_[0])); atr=verificar_atributo(select_,att,"select"); if(atr==1){ if(strcmp(att,"size")==0 ) pixels(att,valor); else texto(att,valor); // acepta los valores de los atributos generales , que son texto "type","id","class" }} else if (strcmp(tag,"table")==0){ len=(sizeof(table)/sizeof(table[0])); atr=verificar_atributo(table,att,"table"); if(atr==1){ if(strcmp(att,"bgcolor")==0){ len_v=(sizeof(color)/sizeof(color[0])); verificar_valor(color,valor,"bgcolor"); } else if(strcmp(att,"border")==0){ len_v=(sizeof(border)/sizeof(border[0])); verificar_valor(border,valor,"border"); } else if(strcmp(att,"align")==0){ len_v=(sizeof(align)/sizeof(align[0])); verificar_valor(align,valor,"align"); } else if(strcmp(att,"width")==0) pixels(att,valor); else texto(att,valor);// acepta los valores de los atributos generales , que son texto "type","id","class" }} else if (strcmp(tag,"td")==0){ len=(sizeof(td)/sizeof(td[0])); atr=verificar_atributo(td,att,"td"); if(atr==1){ if(strcmp(att,"colspan")==0 | strcmp(att,"rowspan")==0){ numero(att,valor); } else if(strcmp(att,"bgcolor")==0){ len_v=(sizeof(color)/sizeof(color[0])); verificar_valor(color,valor,"bgcolor"); } else if(strcmp(att,"align")==0){ len_v=(sizeof(align)/sizeof(align[0])); verificar_valor(align,valor,"align"); } else if(strcmp(att,"width")==0 | strcmp(att,"height")==0) pixels(att,valor); else texto(att,valor);// acepta los valores de los atributos generales , que son texto "type","id","class" }} else if (strcmp(tag,"th")==0){ len=(sizeof(th)/sizeof(th[0])); atr=verificar_atributo(th,att,"th"); if(atr==1){ if(strcmp(att,"colspan")==0 | strcmp(att,"rowspan")==0){ numero(att,valor); } else if(strcmp(att,"bgcolor")==0){ len_v=(sizeof(color)/sizeof(color[0])); verificar_valor(color,valor,"bgcolor"); } else if(strcmp(att,"align")==0){ len_v=(sizeof(align)/sizeof(align[0])); verificar_valor(align,valor,"align"); } else if(strcmp(att,"width")==0 | strcmp(att,"height")==0) pixels(att,valor); else texto(att,valor);// acepta los valores de los atributos generales , que son texto "type","id","class" }} else if (strcmp(tag,"title")==0){ len=(sizeof(title)/sizeof(title[0])); atr=verificar_atributo(title,att,"title"); if(atr==1){ texto(att,valor); }} else if (strcmp(tag,"tr")==0){ len=(sizeof(tr)/sizeof(tr[0])); atr=verificar_atributo(tr,att,"tr"); if(atr==1){ if(strcmp(att,"bgcolor")==0 ){ len_v=(sizeof(color)/sizeof(color[0])); verificar_valor(color,valor,"bgcolor"); } else texto(att,valor); // acepta los valores de los atributos generales , que son texto "type","id","class" }} else if (strcmp(tag,"textarea")==0){ len=(sizeof(textarea)/sizeof(textarea[0])); atr=verificar_atributo(textarea,att,"textarea"); if(atr==1){ if(strcmp(att,"cols")==0 | strcmp(att,"rows")==0) numero(att,valor); else texto(att,valor);// acepta los valores de los atributos generales , que son texto "type","id","class" }} else if (strcmp(tag,"ul")==0){ len=(sizeof(ul)/sizeof(ul[0])); atr=verificar_atributo(ul,att,"ul"); if(atr==1){ texto(att,valor);// acepta los valores de los atributos generales , que son texto "type","id","class" }} else if (strcmp(tag,"script")==0){ len=(sizeof(script)/sizeof(script[0])); atr=verificar_atributo(script,att,"script"); if(atr==1){ url(att,valor); }} else{ printf("Etiqueta invalida\n"); } }