c – ¿Cómo comprobar si una subcadena se encuentra dentro de una cadena?

Estoy realizando una función, en el que se comprueban 2 cadenas, si ambas cadenas son iguales devuelve 0. Si cadena es una subcadena de solucion devuelve 1, y si no se cumple ninguna de las dos condiciones devuelve 2. Este es mi código:

int comprobar_cadena(const char* cadena, const char *solucion)
{
    if(strcmp(cadena,solucion) == 0)
        return 0;
    else
        {
            if(strstr(cadena,solucion) != NULL)
                return 1;
            else
                return 2;
        }
}

He estado probando el código, pero la función no devuelve 1 si cadena es una subcadena de solucion. ¿Podrían decirme qué error tengo en el código? Muchas gracias de antemano.

sql – Obtener una fila por cada ID de una consulta según el ultimo código de la tabla hija relacionada

Tengo una consulta que deseo me retorne una única fila de acuerdo a codeRecurrence.
Esta es la consulta.

SELECT CODERECURRENCY, CODEDCURRENCYDETAILS, STATUSGENERALVALUE, PROCESSDATE, TRANSACTIONDATE, CONTRACTIDENTIFIER,
DESCRIPCIONARTICULO, NUMBERDOCUMENTCLIENT, CUSTOMERNAME,
VALUE, BUSINESSTYPEVALUE, TYPERECURRENCYDETAILSVALUE, CAUSALTYPE, CAUSALVALUE, NOMBRECATALOGOVALOR, SEQNUM
FROM(
    SELECT REC.CODERECURRENCY, RDET.CODEDCURRENCYDETAILS, REC.STATUSGENERALVALUE, REC.PROCESSDATE, RDET.TRANSACTIONDATE, SUB.CONTRACTIDENTIFIER,
ART.DESCRIPCIONARTICULO, SUB.NUMBERDOCUMENTCLIENT, SUB.CUSTOMERNAME, SUB.INVOICEDATACODE,
REC.VALUE, PROD.BUSINESSTYPEVALUE, RDET.TYPERECURRENCYDETAILSVALUE, RDET.CAUSALTYPE, RDET.CAUSALVALUE, CAT.NOMBRECATALOGOVALOR, 
ROW_NUMBER() OVER (PARTITION BY REC.CODERECURRENCY) AS SEQNUM
FROM SCTMBTRECURRENCY REC, SCTMBTRECURRENCYDETAILS RDET, SCTMBTSUBSCRIPTION SUB, SCTMBTSUBSCRIPTIONPRODUCT PROD, 
SCSPETARTICULO ART, SSPCOTCATALOGOVALOR CAT
WHERE REC.CODERECURRENCY = RDET.CODERECURRENCY 
AND REC.CODESUSCRIPTION = SUB.CODESUSCRIPTION 
AND REC.CODESUBSCRIPTIONPRODUCT = PROD.CODESUBSCRIPTIONPRODUCT 
AND ART.CODIGOARTICULO = PROD.PRODUCTCODE
AND RDET.CAUSALTYPE = CAT.CODIGOCATALOGOTIPO
AND RDET.CAUSALVALUE  = CAT.CODIGOCATALOGOVALOR
AND REC.STATUSGENERALVALUE NOT IN ('FIN','FOB','SCU')
AND RDET.STATUSCURRENCYDETAILSVALUE != 0
AND REC.ORIGINRECURRENCEVALUE = 'INT'
ORDER BY REC.CODERECURRENCY DESC, RDET.CODEDCURRENCYDETAILS DESC
)
WHERE SEQNUM = 1
ORDER BY TRANSACTIONDATE DESC, CODERECURRENCY DESC

Al correr el select interno me devuelve la lista ordenada de manera descendente, haciendo que ROW_NUMBER se posicione de tal manera que el valor de SEQNUM gana el valor de 1 que serviría para comparar después, pero al correr la consulta exterior cambia de posición haciendo que el valor 1 pase a ser 3, haciendo que no me sea de utilidad ya que necesito el ultimo valor insertado según la tabla hija. muestro los datos a continuación.

Consulta Interior.

CODERECURRENCY|CODEDCURRENCYDETAILS|STATUSGENERALVALUE|PROCESSDATE        |TRANSACTIONDATE    |SEQNUM|
--------------|--------------------|------------------|-------------------|-------------------|------|
         16202|               14510|ERR               |2020-10-23 12:08:26|2020-11-27 16:53:57|     1|
         16202|               14094|ERR               |2020-10-23 12:08:26|2020-10-23 12:08:47|     2|
         16202|               14093|ERR               |2020-10-23 12:08:26|2020-10-23 12:08:41|     3|
         16201|               14088|EXR               |2020-10-22 23:51:58|2020-10-22 23:53:43|     1|
         16201|               14087|EXR               |2020-10-22 23:51:58|2020-10-22 23:53:37|     2|
         16201|               14083|EXR               |2020-10-22 23:51:58|2020-10-22 23:53:15|     3|
         16201|               14082|EXR               |2020-10-22 23:51:58|2020-10-22 23:53:09|     4|
         16201|               14078|EXR               |2020-10-22 23:51:58|2020-10-22 23:52:47|     5|
         16201|               14077|EXR               |2020-10-22 23:51:58|2020-10-22 23:52:41|     6|
         16201|               14073|EXR               |2020-10-22 23:51:58|2020-10-22 23:52:19|     7|
         16201|               14072|EXR               |2020-10-22 23:51:58|2020-10-22 23:52:13|     8|
         16123|               13675|ERR               |2020-10-01 17:06:17|2020-10-01 17:06:28|     1|
         16050|               13511|ERR               |2020-09-21 14:11:31|2020-09-21 14:11:31|     1|
         16043|               13470|EXR               |2020-09-16 10:04:20|2020-09-16 10:07:00|     1|
         16031|               13411|ERR               |2020-09-14 16:16:15|2020-09-15 16:16:29|     1|
         15467|               11872|ERR               |2020-09-01 14:52:23|2020-09-01 14:52:23|     1|

Consulta General sin WHERE SEQNUM = 1

CODERECURRENCY|CODEDCURRENCYDETAILS|STATUSGENERALVALUE|PROCESSDATE        |TRANSACTIONDATE    |SEQNUM|
--------------|--------------------|------------------|-------------------|-------------------|------|
         16202|               14510|ERR               |2020-10-23 12:08:26|2020-11-27 16:53:57|     3|
         16202|               14094|ERR               |2020-10-23 12:08:26|2020-10-23 12:08:47|     2|
         16202|               14093|ERR               |2020-10-23 12:08:26|2020-10-23 12:08:41|     1|
         16201|               14088|EXR               |2020-10-22 23:51:58|2020-10-22 23:53:43|     8|
         16201|               14087|EXR               |2020-10-22 23:51:58|2020-10-22 23:53:37|     7|
         16201|               14083|EXR               |2020-10-22 23:51:58|2020-10-22 23:53:15|     6|
         16201|               14082|EXR               |2020-10-22 23:51:58|2020-10-22 23:53:09|     5|
         16201|               14078|EXR               |2020-10-22 23:51:58|2020-10-22 23:52:47|     4|
         16201|               14077|EXR               |2020-10-22 23:51:58|2020-10-22 23:52:41|     3|
         16201|               14073|EXR               |2020-10-22 23:51:58|2020-10-22 23:52:19|     2|
         16201|               14072|EXR               |2020-10-22 23:51:58|2020-10-22 23:52:13|     1|
         16123|               13675|ERR               |2020-10-01 17:06:17|2020-10-01 17:06:28|     1|
         16050|               13511|ERR               |2020-09-21 14:11:31|2020-09-21 14:11:31|     1|
         16043|               13470|EXR               |2020-09-16 10:04:20|2020-09-16 10:07:00|     1|
         16031|               13411|ERR               |2020-09-14 16:16:15|2020-09-15 16:16:29|     1|
         15467|               11872|ERR               |2020-09-01 14:52:23|2020-09-01 14:52:23|     1|

Consulta usando SEQNUM

ODERECURRENCY|CODEDCURRENCYDETAILS|STATUSGENERALVALUE|PROCESSDATE        |TRANSACTIONDATE    |SEQNUM
-------------|--------------------|------------------|-------------------|-------------------|------
        16202|               14093|ERR               |2020-10-23 12:08:26|2020-10-23 12:08:41|     1
        16201|               14072|EXR               |2020-10-22 23:51:58|2020-10-22 23:52:13|     1
        16123|               13675|ERR               |2020-10-01 17:06:17|2020-10-01 17:06:28|     1
        16050|               13511|ERR               |2020-09-21 14:11:31|2020-09-21 14:11:31|     1
        16043|               13470|EXR               |2020-09-16 10:04:20|2020-09-16 10:07:00|     1
        16031|               13411|ERR               |2020-09-14 16:16:15|2020-09-15 16:16:29|     1
        15467|               11872|ERR               |2020-09-01 14:52:23|2020-09-01 14:52:23|     1
        14891|                9665|EXR               |2020-08-25 10:19:16|2020-08-25 10:20:20|     1
        14744|                8449|ERR               |2020-08-11 15:27:24|2020-08-11 15:27:26|     1
        14659|                8192|ERR               |2020-07-16 17:28:18|2020-07-16 17:28:27|     1
        14580|                8028|ERR               |2020-07-09 09:03:34|2020-07-09 09:03:36|     1
        14570|                8008|ERR               |2020-06-29 14:07:09|2020-06-29 14:07:12|     1
        14559|                7970|PEN               |2020-06-26 16:32:35|2020-06-26 16:32:13|     1

Como puedo evitar que cambie el orden al correr toda la consulta. Uso el motor DB2

c# – ¿Cómo paso una lista guardada en un session con un viewbag desde un controller para usarla en la view en ASP.NET?

en una de las vistas necesito poder acceder a la lista del carro de compras, intenté pasarla de esta manera, pero no me la pasó.

public ActionResult Index()
    {
        ViewBag.info = eCommerce.carritodecompras;
        Session("CarritoDeCompras") = eCommerce.carritodecompras;
        return View();
    }

Intento capturar lo que se encuentra pesando la una balanza por intermedio de Java Desktop con la librería RXTX pero no llego a obtener el peso HELP!

Ando realizando pruebas de capturar el peso de una Balanza (Metler Toledo – IND246) con la librería RXTX pero no llego a obtener nada y no que que podría hacer para obtenerlo. Y quisiera saber como podría o de que manera tendría que realizarlo.

html – Como puedo hacerle zoom a una imagen

Hola tenia la duda ya que no me manejo mucho en css ni boostrap como podría hacer para ponerle el mouse sobre la imagen y que la imagen quede en el centro de la pantalla así como zoom para que se pueda ver o leer de mejor forma el contenido de la misma o quizás no quedar en el centro de la pantalla pero si agrandarse mucho mas en su posición cosa que el contenido del flayer se lea con claridad quizá hay una clase de boostrap de ante mano muchas gracias.

<div class="col-12 col-sm-3">
        <a href="">
        <img class="img-fluid shadow-lg" src="https://es.stackoverflow.com/img/muniactual1.jpg" alt="Imagen1">
      </a>
      </div>

Este es el código de cada imagen (de las 4)

introducir la descripción de la imagen aquí

html – ¿Como posiciono un elemento en medio de una pantalla? HTML5 y CSS3

me encuentro aprendiendo HTML y CSS, se como organizar las cosas en el medio de la pantalla utilizando

margin-left:auto;
margin-right:auto;

pero no se como posicionar un bloque en medio de forma vertical.

El codigo CSS del bloque que quiero posicionar es el siguiente:

.content{
height: 350px;
background-color: chocolate;
margin-left:10%;
margin-right: 10%;
padding: 5%;
}

Gracias a todos

base de datos – Hacer pivot a una tabla con un cursoren sql server

Cordial saludo.

Lo que deseo hacer es un cursor que me permita hacer pivot a una tabla, lo he intentado pero no me funciona.

Esta es la tabla que deseo pivotear:

introducir la descripción de la imagen aquí

Este es el código para crear la tabla e insertar los datos:

CREATE TABLE TABLA_1 (
       TERMINAL VARCHAR(MAX),
       TEXT_NAME VARCHAR(MAX),
       CONTENT VARCHAR(MAX)
);

INSERT INTO TABLA_1 (TERMINAL,TEXT_NAME,CONTENT) VALUES(’34’,’ID RAN’,’2′);

INSERT INTO TABLA_1 (TERMINAL,TEXT_NAME,CONTENT) VALUES(’34’,’NOMBRE RAN’,’PORT_L’);

INSERT INTO TABLA_1 (TERMINAL,TEXT_NAME,CONTENT) VALUES(’34’,’NOMBRE RAN’,’LOR_P’);

INSERT INTO TABLA_1 (TERMINAL,TEXT_NAME,CONTENT) VALUES(’56’,’ID RAN’,’5′);

INSERT INTO TABLA_1 (TERMINAL,TEXT_NAME,CONTENT) VALUES(’56’,’NOMBRE RAN’,’PROMPT’);

INSERT INTO TABLA_1 (TERMINAL,TEXT_NAME,CONTENT) VALUES(’78’,’ID RAN’,’5′);

INSERT INTO TABLA_1 (TERMINAL,TEXT_NAME,CONTENT) VALUES(’78’,’ID AS’,’9′);

INSERT INTO TABLA_1 (TERMINAL,TEXT_NAME,CONTENT) VALUES(’88’,’POL_L’,’DEFINIDO’);

y este es el resultado que espero:

introducir la descripción de la imagen aquí

Cabe aclarar que estos datos son de ejemplo, solo quiero saber si se puede dar vuelta a una tabla con un cursor y si la respuesta es sí, quisiera saber como. Estoy empezando con sql serve.

Agradezco la ayuda.

poo – Problema: al realizar una media de datos con Listas enlazadas C++

Que tal buenas tardes tengo un problema al hacer una media con los datos flotantes en una lista enlazada, el caso es que al hacer el método “MEDIA” el programa deja de funcionar y realmente no tengo una idea exacta de realmente que estoy haciendo mal (apenas estoy aprendiendo programación, por lo que no sé como pueda solucionar el problema).
Sé bien que el problema es en ese metodo, pero no me ha quedado claro como utilizarlo de manera correcta con operaciones.

using namespace std;
#include <iostream>
#include <conio.h>

class Nodo{
    float dato,media;
    Nodo *sig;
    Nodo *inicio;
    public:
        Nodo(){
            dato=media = 0.0; 
            sig= NULL;
            inicio= NULL;
        }
        void inserta(){
             Nodo *nuevoF= new Nodo;
            nuevoF->Lee();
            if(inicio==NULL)
                inicio=nuevoF;
            else{
                Nodo *ind= inicio;
                while (ind->sig != NULL)
                    ind= ind->sig;
                
                ind->sig=nuevoF;
            }
            cout<<"nNodo insertado correctamente";
        }
        void Lee(){
            cout<<"nIngresa el dato: ";
            cin>>dato;
        }
        void Muestra(){
            if(inicio==NULL)
                cout<<"nLista vacian";
            else{
                Nodo *ind= inicio;
                cout<<"nDatos de la listan";
                while (ind != NULL){
                    cout<<ind->dato<<'t';
                    ind= ind-> sig;
                }
            }
            cout<<"nnLa media del programa es: "<<media;
        }
        void Media(){
            int cte;
            if(inicio==NULL)
                cout<<"nLista vacian";
            else{
                Nodo *ind= inicio;
                while(ind->dato && ind != NULL){
                    media+=ind->dato;
                    cte++;
                }
                media=media/cte;
            }
        }
        ~Nodo(){
            Nodo *ind;
            while (inicio){
                ind= inicio;
                inicio= inicio->sig;
                delete ind;
            } 
            cout<<"Programa finalizado correctamente";
        }
};

int main(){
    Nodo N;
    char rep;
    do{
        N.inserta();
        cout<<"n bla bla bla otro nodo (S/N)";
        cin>>rep;
    }while (rep== 's'|| rep== 'S');
        N.Media();
        N.Muestra();        
        return 0;    
}


Una vez terminado el metodo media el programa deja se cierra o no marca nada.