Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - statham

#1
Me refiero al que mas aparece de cada tipo, con esa ocnsulta me saldrian todos lo id_b
#2
Buenas gente, llevo varios días intentando realizar cierto ejercicio donde no consigo sacarlo

Os comento, tengo 2 tablas A y B

Digamos que en la tabla B tengo id_b y tipo

Y en la tabla A, tengo id_A y id_B

Ejemplo

Tabla B
| id_b| tipo
| 1 | a
| 2 | a
| 3 | a
| 4 | a
| 5 | b
| 6 | b

Tabla A
| id_a| id_b
| 1 | 1
| 2 | 1
| 3 | 1
| 4 | 1
| 5 | 6
| 6 | 6

El objetivo seria sacar el id_b de cada tipo de la tabla A que mas se use, en este caso los maximos serian el 1 y 6
No consigo sacar el maximo, solo el numero de veces que aparece id_b en la tabla A y por tanto me saca todos, y solo quiero el mas usado


Lo siguiente seria una vez sacado el maximo(creo que deberia guardarlo en una tabla auxiliar),coger el mas usado, por ejemplo id_b 1 y comprobar si algun campo de esa fila esta vacio o nulo(de la tabla B) y puedo rellenarlo con el resto de filas del mismo tipo y a continuacion eliminar los que no son los mas usados, es decir, los id_b 2,3,4 y 6(de la tabla B)

Aqui directamente no se comparar filas de una misma tabla o diferentes(pero con mismos campos, claro), o de eliminar si , menos mal jejeje pero no se si debe ser la comparacion con una funcion y un cursor que recorrar campos y rellene o algo similar....

Gracias y un saludo.
#3
Desarrollo Web / Unir tablas con sus datos
11 Abril 2019, 16:49 PM
Buenas gente.

Tengo un puqueño problema, resulta que tengo 3 tablas(diferentes) y quiero crear una nueva con todos los campos y datos de estas.

Crear la creo bien , pero luego al intentar meter los datos (que lo hago de 1 en 1 ya que con todas a la vez no se por que no lo consigo) me sale un error, como es normal diciendome que hay columnas que no le cuadra.

Como meteriais 3 tablas con sus datos en 1??

Tengo pensado realizar una funcion que coja una tabla y vaya columnas por columna, si cuadra mete fallo, si no pasa a la siguiente


Y por otro lado, hay alguna manera de comparar tablas, es decir, cojo la tabla A y compare con una tabla B donde todos los registro de A que no esten en B se eliminen¿¿

Un saludo y gracias.
#4
Buenas gente, conoces algun videotutorial, guia o ejemplo de usar jinja2 para c++ o algun metodo similar??

Seria basicamente tener  unos ficheros con una "plantilla", la cual rellenamos con datos leidos anteriormente

Como ejemplo, nuestra plantilla es un contrato de compra/venta de vehiculos donde solo hay que rellenar nombre, dni, precio, etc...

Una manita ??

Saludos.
#5
Programación C/C++ / XSD XML Xerces C++
24 Marzo 2019, 22:44 PM
Buenas chicos como vais, bueno al grano.

Tengo un fichero XML el cual quiero comprobar si es valido mediante una plantilla que me creado aqui https://www.freeformatter.com/xsd-generator.html

Estoy mirando y buscando y de lo que mas o menos me he enterado seria usar Xerces mediante DOM o SAX

Pero hay demasiadas cosas me parece y yo solo quiero un assert facilito que me diga si es valido o no.

Me descargado los archivos del Xerces pero no consigo incluirlo en mi proyecto (C++ usando visual studio)

Alguien lo ha ultilizado alguna vez? algun tutorial o guia facil para comprobar que el fichero xml cumple mi plantilla xsd?

(imagino que mi plantilla lo añado como un .h? o tiene que ser un fichero aparte?)

Un saludo y gracias.
#6
Buenas, llevo ya varios días que no consigo sacar un array de puntero inicializado sin tamaño, donde una vez sabiendo dicho tamaño no soy capaz de reservar memoria o hacer el new

En mi caso tengo una estructura X en la que se encuentran 2 punteros y 2 contadores.
Estos punteros apuntan a otra estructura Y, donde luego quiero crearme por ejemplo un array de 6 punteros que cada apunte a la estructura Y

Esta es mi estructura X

struct iohw {

datas *input;
int icont = 0;
datas *output;
int ocont = 0;
};

Y mi estructura Y
struct datas {
string name;
string type;
int longitud = 0;
string io;
string sentido;
int rango_1 = 0;
int rango_2 = 0;
};


Pues bien yo me creo un puntero a mi estructura X y luego averiguo el tamaño del array de punteros que quiero hacia Y

iohw *io;

io->input = new datas[cont - 1];
io->output = new datas[cont1-1];


cont y cont1 seria el numero de punteros en el array de X que apuntan a Y que quiero
No se si me he explicado bien pero ya he probado con un montón de cosas y nada
**, sin que sean punteros, es decir, un array de estructuras (pero llego a lo mismo),que dichos punteros apunten a un array de otros punteros... vamos un jaleo en el que llevo días y no avanzo...

Viendo el panorama dejo un boceto de lo que intento conseguir, un saludo

#7
Que no sea muy dificil de usar y este bien documentado o con videotutoriales/manuales

Seria para algo como rellenar partes de una plantilla

Ejemplo:

->Se abriria un txt  u otro fichero con este contenido:

Contrato de compraventa de un vehículo usado entre particulares



Lugar y fecha

En   a   de   de 20



(Detallar datos de vendedor y comprador)

Vendedor:

D.  , con N.I.F. nº  , y domicilio en  , calle de  .



Comprador:

D.  , con N.I.F. nº  , y domicilio en  , calle de  .



(Rellenar con los datos del coche)

Vehículo:

Marca: 

Matrícula: 

Nº de Bastidor: 

Kilómetros:


Los datos en negro serian a rellenar con una estructura tipo
contrato.lugar
coche.km
persona.dni

Es que no encuentro algo simple para poder usarlo.

Un saludo
#8
Programación C/C++ / Re: Ayuda con programa de c
13 Febrero 2019, 23:32 PM
prueba con
scanf("%f", &pesos);
#9
Programación C/C++ / Jinja2 c++
13 Febrero 2019, 18:33 PM
Buenas alguien por aqui ha usado este motor de plantilla??

Usando c++ y con este proyecto de github https://github.com/flexferrum/Jinja2Cpp#introduction

Quiero algo simple como rellanar X datos sobre una plantilla para luego crear un fichero con dicho codigo completo.

Sabeis de algun video o libro?

Estoy leyendo manuales pero no se ni donde meter la plantilla ni como hacer referencia a variables por ejemplo de una estructura

Saludos
#10
Cita de: EdePC en  2 Febrero 2019, 23:49 PM
Saludos,

- Anda! en ninguno de mis libros en español he encontrado algo sobre expresiones regulares en C++ :-\, he tenido de echar mano de este otro buen libro en Inglés The C++ Standard Library 2nd Edition: https://www.mica.edu.vn/perso/Vu-Hai/EE3490/Ref/The%20C++Standard%20Library%20-%202nd%20Edition.pdf pág 717 (Chapter 14 Regular Expressions) Wow, la verdad está explicado muy bien, fácil de entender, bastante ejemplificado y práctico, comparándolo con los enigmáticos libros de Bjarne Stroustrup, pues puede ser el creador y todo pero sus libros no son sencillos de comprender :xD

Código (xml) [Seleccionar]
name Turing
key (31)

name Pepe
key (54)

name Vlad
key (12)


Código (cpp) [Seleccionar]
#include <iostream>
#include <fstream>
#include <regex>

using namespace std;

int main() {
 ifstream file("example.txt");
 regex n("(^name\\s)(\\w+)");
 regex k("(^key\\s\\()(\\d+)(\\))");
 smatch m;
 string line;
 while ( getline(file, line) ) {
   if ( regex_search(line, m, n) ) {
     cout << m[2] << endl;
   } else if ( regex_search(line, m, k) ) {
     cout << m[2] << endl;
   }
 }
 file.close();
 return 0;
}


Código (ini) [Seleccionar]
C:\Users\EdSon\Desktop>g++ regex.cpp -o regex.exe && regex.exe
Turing
31
Pepe
54
Vlad
12

C:\Users\EdSon\Desktop>



Buenas, gracias por contestar.
La cosa se complica con el siguiente ejemplo:

A : in XXX (31 downto 0);  
B : in XXX (6 downto 0);

Aqui XXX puede ser en cada linea una palabra diferente, pero no hay problema, consigo sacarla.
La cosa es sacara ese 31 y 6 que van despues del (, al igual que no puedo hacer referencia o eso creo a XXX ya que va cambiando por cada fila



regex e("\\b(in )([^ ]*)");
regex r("\\b(out )([^ ]*)");
smatch m;
regex p("\\()(\\d+)(\\)");

for (int j = 0; j < ioput[i].icont; j++) {
getline(archivo, s);


while (std::regex_search(s, m, e)) {//aqui saco XXX

for (auto x : m) {
aux = x;
}

ioput[i].input[j].type = aux;
std::cout << std::endl;
s = m.suffix().str();
}

//Aqui s tiene como valor (31 down to 0)


while (std::regex_search(s, m, p)) {//aqui buscaria el 31 despues del ( pero me da error al inicializar p

for (auto x : m) {
aux = x;
}

ioput[i].input[j].longitud = stoi(aux);
cout << ioput[i].input[j].longitud;
std::cout << std::endl;
s = m.suffix().str();
}
}