elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Arreglado, de nuevo, el registro del warzone (wargame) de EHN


  Mostrar Temas
Páginas: [1]
1  Comunicaciones / Redes / Apertura de Puertos para un Servidor en: 16 Julio 2019, 12:58 pm
Hola, estoy buscando a alguien que me pueda ayudar en la apertura de puertos para un servidor, específicamente para un servidor de Minecraft.

 

El problema viene cuando no me deja poner el mismo puerto interno que externo(25565), me cambia el numero del puerto externo automáticamente. :-\

Tampoco tengo muy claro que hay que poner exactamente en "Aplicación/Servicio".

Tengo el UPnP activado.

 



Estaría muy agradecido de escuchar los consejos de alguien que entienda de este tema.

Gracias!

PD: Si a día de hoy sigo con el Minecraft xD

2  Programación / Programación C/C++ / No entiendo estos errores!! (SOLUCIONADO) en: 26 Diciembre 2018, 18:55 pm
Hola, estaba intentando realizar un programa que leyese de teclado libros, y los guardase en un vector, para después comparar unas fechas y sacar el dinero gastado en libros un día.

El programa es el siguiente:

Código
  1. #include <iostream>
  2. #include <string>
  3.  
  4. using namespace std;
  5.  
  6. const int MAX = 20;
  7.  
  8. struct FechaAdquisicion
  9. {
  10.    short dia, mes, anyo;
  11. };
  12.  
  13. struct Libro
  14. {
  15.    string nom, autor;
  16.    float precio;
  17.    FechaAdquisicion fecha;
  18. };
  19.  
  20. typedef Libro Vlibros[MAX];
  21.  
  22. struct Libros
  23. {
  24.    Vlibros libros;
  25.    int totalibs;
  26. };
  27.  
  28. void Presentacion(void);
  29. Libro LeerLibros(void);
  30. FechaAdquisicion PedirFecha(void);
  31. void MostrarLibrosFecha(Libros libros, FechaAdquisicion fecha);
  32. float PrecioLibros(Libros libros, FechaAdquisicion fecha);
  33.  
  34. int main (void)
  35. {
  36.    Libros libros;
  37.    FechaAdquisicion fecha;
  38.  
  39.    libros = LeerLibros();
  40.    fecha = PedirFecha();
  41.    MostrarLibrosFecha(libros, fecha);
  42.  
  43.    cout << "El precio de los libros comprados desde esa fecha hasta la actualizada es de " << PrecioLibros(libros, fecha) << " euros." << endl;
  44.  
  45.    return 0;
  46. }
  47.  
  48.  
  49. void Presentacion(void)
  50. {
  51.    cout << "Este programa pide libros al usuario y una fecha, para posteriormente mostrar los libros comprados \n  y el dinero gastado en ese dia." << endl << endl;
  52.    return;
  53. }
  54.  
  55. Libro LeerLibros(void)
  56. {
  57.    Libros l;
  58.  
  59.    cout << "¿Cuantos libros quieres añadir?: ";
  60.    cin >> l.totalibs;
  61.  
  62.    for(int i = 0; i <= l.totalibs; i++)
  63.    {
  64.    cout << "Introduce nombre del libro: ";
  65.    cin >> l.libros[i].nom;
  66.    cout << "Introduce nombre del autor: ";
  67.    cin >> l.libros[i].autor;
  68.    cout << "Introduce precio del libro(€): ";
  69.    cin >> l.libros[i].precio;
  70.    cout << "Introduce la fecha de compra del libro: "<< endl;
  71.    cout << "\t Dia: ";
  72.    cin >> l.libros[i].fecha.dia;
  73.    cout << "\t Mes: ";
  74.    cin >> l.libros[i].fecha.mes;
  75.    cout << "\t Anyo: ";
  76.    cin >> l.libros[i].fecha.anyo;
  77.    }
  78.  
  79.    return l;
  80. }
  81.  
  82. FechaAdquisicion PedirFecha(void)
  83. {
  84.    FechaAdquisicion fecha;
  85.  
  86.    cout << "Dame fecha: ";
  87.    cin >> fecha.dia >> fecha.mes >> fecha.anyo;
  88.  
  89.    return fecha;  
  90. }
  91.  
  92. void MostrarLibrosFecha(Libros libros, FechaAdquisicion fecha)
  93. {
  94.    for(int i = 0; i <= libros.totalibs; i++)
  95.    {
  96.        if(fecha.dia == libros.libros[i].fecha.dia && fecha.mes == libros.libros[i].fecha.mes && fecha.anyo == libros.libros[i].fecha.anyo)
  97.        {
  98.           cout << libros.libros[i].nom << endl;
  99.           cout << libros.libros[i].autor << endl;
  100.           cout << libros.libros[i].precio << endl;
  101.           cout << libros.libros[i].fecha.dia << "/" << libros.libros[i].fecha.mes << "/" << libros.libros[i].fecha.anyo << endl << endl;
  102.        }
  103.    }
  104.  
  105.    return;
  106. }
  107.  
  108. float PrecioLibros(Libros libros, FechaAdquisicion fecha)
  109. {
  110.    int preciototal = 0;
  111.  
  112.    for(int i = 0; i <= libros.totalibs; i++)
  113.    {
  114.        if(fecha.dia == libros.libros[i].fecha.dia && fecha.mes == libros.libros[i].fecha.mes && fecha.anyo == libros.libros[i].fecha.anyo)
  115.        {
  116.            preciototal = preciototal + libros.libros[i].precio;
  117.        }
  118.    }
  119.  
  120.    return;
  121. }
  122.  


Los errores son del tipo:
int main:
[Error] no match for 'operator=' (operand types are 'Libros' and 'Libro')

LeerLibros:
[Error] request for member 'libros' in 'l.Libros::libros', which is of non-class type 'Vlibros {aka Libro [20]}'
[Error] could not convert 'l' from 'Libros' to 'Libro'


¿Alguien sabe algo, o me podrían ayudar a acabar el programa?
Gracias.

P.D:Los fallos no son de escritura, se ve raro debido al foro.
3  Programación / Programación C/C++ / Ayúdame en este programa!! en: 22 Diciembre 2018, 17:12 pm
Hola, soy bastante novato con el tema del C++, sobre todo a la hora de mezclar ficheros con funciones....

Me gustaría hacer un programa que leyese de fichero una matriz cuadrada, primero el numero de filas, seguido del numero de columnas, y para finalizar que recorra toda la matriz y diga si hay algún elemento repetido.

Mi intento de programa es el siguiente:


#include <iostream>
#include <fstream>
#include <string>

using namespace std;

const int MAX1 = 10;
const int MAX2 = 10;

typedef int Matriz[MAX1][MAX2];

void Presentacion(void);
bool LeerFilyCol(ifstream& f);
int SacarFilyCol(ifstream& f);
int ElementosVector(ifstream& f);
void GuardarVector(ifstream& f, int totalnums, Matriz m);
bool ElemRepVec(Matriz m, int totalnums);

int main(void)
{
    bool FilyCol, Rep;
    int totalnums, filcol;
    Matriz m1;
    ifstream f;
    string nomf;
   
    Presentacion();
   
    cout << "Dame fichero con matriz: ";
    cin >> nomf;
    cout << endl;
   
    f.open(nomf);
   
    if(!f)
        cout << "Error al abrir el archivo" << endl;
    else
    {
        FilyCol = LeerFilyCol(f);
 
        if(FilyCol == false)
        {
            cout << "La matriz no cumple las condiciones" << endl;   
        }
        else
        {
            totalnums = ElementosVector(f);
            filcol = SacarFilyCol(f);
           
            totalnums = totalnums / filcol;
           
            GuardarVector(f, totalnums, m1);
            ElemRepVec(m1, totalnums);
       
            if(Rep == false)
                cout << "NO hay numeros repetidos en la matriz" << endl;
            if(Rep == true)
                cout << "Hay numeros repetidos en la matriz" << endl;
        }
    }
   
    f.close();
    return 0;
}



void Presentacion(void)
{
    cout << "Este programa determina si existe...." << endl << endl;
    return;
}

bool LeerFilyCol(ifstream& f)
{
    bool trueofalse;
    int fil, col;
   
    f >> fil >> col;
    if (fil != col || fil > MAX1 || col > MAX2)
        trueofalse = false;
    else
        trueofalse = true;
   
    return trueofalse;
}

int ElementosVector(ifstream& f)
{
    int num;
    int numdenums = 0;
    int ignorar;
   
    f >> ignorar >> ignorar;
   
    while(f >> num)
        numdenums++;
       
    return numdenums;
}

int SacarFilyCol(ifstream& f)
{
    int filcol;
   
    f >> filcol;
   
    return filcol;
}

void GuardarVector(ifstream& f, int totalnums, Matriz m)
{
    int num, i, j, ignorar;
   
    f >> ignorar >> ignorar;
   
    for (i = 0; i < totalnums; i++)
    {
        for (j = 0; j < totalnums; j++)
        {
            f >> num;
            m[j] = num;
        }
    }
    return;
}

bool ElemRepVec(Matriz m, int totalnums)
{
    int i, j, f, c;
    bool rep = false;
   
    for (f = 0; f < totalnums; f++)
    {
        for (c = 0; c < totalnums; c++)
        {
            for (i = 0; i < totalnums; i++)
            {
                for (j = 0; j < totalnums; j++)
                {
                    if (m[f][c] == m[j] && (f != i) && (c != j))
                        rep = true;
                }
            }     
        }
    }
   
    return rep;
}

El programa compila y ejecuta perfectamente, pero no hace lo que debería de hacer, alguien sabe como solucionarlo?
4  Programación / Programación C/C++ / Mi programa no responde! (SOLUCIONADO) en: 22 Diciembre 2018, 13:19 pm
Hola, me gustaría realizar un programa que crease un vector hasta cierto 'num', y los números que lo componen están entre 0 y num - 1. Ademas no ha de repetirse ningún numero dentro del vector.

Mi intento de este programa es el siguiente:

#include <iostream>
#include <cstdlib>
#include <time.h>

using namespace std;

const int MAX = 80;
typedef int Vector[MAX];

void GenerarVector(Vector v, int num);
void MostrarVector(const Vector v, int num);

int main (void)
{
    Vector v;
    int num;
    
    Presentacion();
    
    cout << "Dame numero de elementos del vector: ";
    cin >> num;
    cout << endl;
    
    if(num < 0)
        cout << "El numero no es positivo, no se puede generar el vector";
    else
    {
        GenerarVector (v, num);
        
        cout << "El vector generado es: ";
        MostrarVector (v, num);
    }

    return 0;
}


void Presentacion(void)
{
    cout << "Este programa genera vector de una cantidad de numeros que el usuario "
    cout << "indique, comprendidos  entre 0 y el numero indicado, sin repetirse ningún"
    cout << " numero a lo largo del vector" << endl << endl;
    
    return;
}

void GenerarVector(Vector v, int num)
{
    int numvec;
    bool numrep = false;
    int i = 0;
    int j = 0;
    
    srand(time(NULL));
    
    do
    {
        numvec = rand() % num;
        
        do
        {
            if(numvec = v[j])
                numrep = true;
            else
                numrep = false;
            j++;
        }
        while(j <= i && numrep == false);
        
        j = 0;
        
        if(numrep == false)
        {
            v = numvec;
            i++;
        }    
    }
    while(i < num);
    
    return;
}


void MostrarVector(const Vector v, int num)
{
    int contador = 0;
    int i = 0;
    
    while(contador < num)
    {
        cout << v << " ";
        i++;
        contador++;
    }
    
    return;
}



No informa de ningún error pero al ejecutarse se queda congelado. ¿Alguien sabe cual es el problema?
Me imagino que sera por la función 'GenerarVector'.

Gracias.
5  Programación / Programación C/C++ / Error en compilación! en: 8 Diciembre 2018, 13:35 pm
Hola, estaba creando un programa que realizase la prueba del 9 en una multiplicación.
Al compilar me saca este error:

b6_4_raizdigital.cpp:(.text+0x147): undefined reference to `SumaCifrasNumero(int, int)'

[Error] ld returned 1 exit status

No especifica ninguna linea en ninguno de los 2. El programa es el siguiente:




#include <iostream>

using namespace std;

int SumaCifrasNumero(int a, int suma);
int NumeroMayor9(int a, int b);

int main()
{
    int factor1, factor2, prod, res, rdf1, rdf2, rdprod, rdres, suma = 0, sumfinal = 0;
   
    cout << "Dime primer factor: ";
    cin >> factor1;
    cout << "Dime segundo factor: ";
    cin >> factor2;
    cout << "Dime tu propuesta de resultado: ";
    cin >> res;
   
    prod = factor1 * factor2;
   
    rdf1 = SumaCifrasNumero(factor1, suma);
    if(rdf1 >= 10)
        rdf1 = NumeroMayor9(rdf1, sumfinal);
    else if(rdf1 == 9)
        rdf1 = 0;
   
    rdf2 = SumaCifrasNumero(factor2, suma);
    if(rdf2 >= 10)
        rdf2 = NumeroMayor9(rdf2, sumfinal);
    else if(rdf2 == 9)
        rdf2 = 0;
       
    rdprod = SumaCifrasNumero(prod, suma);
    if(rdprod >= 10)
        rdprod = NumeroMayor9(rdprod, sumfinal);
    else if(rdprod == 9)
        rdprod = 0;
   
    rdres = SumaCifrasNumero(res, suma);
    if(rdres >= 10)
        rdres = NumeroMayor9(rdres, sumfinal);
    else if(rdres == 9)
        rdres = 0;
   
    cout << "La 'raiz digital' de " << factor1 << " es: " << rdf1 << endl;
    cout << "La 'raiz digital' de " << factor2 << " es: " << rdf2 << endl;
    cout << "La 'raiz digital' del producto (" << prod << ") es: " << rdprod << endl;
    cout << "La 'raiz digital' de tu propuesta de resultado es: " << rdres <<endl<< endl;
   
    if(rdprod == rdres)
        cout << "La multiplicación, probablemente, este BIEN." << endl;
    else
        cout << "La multiplicación esta MAL.";
   
    return 0;
}


int SumarCifrasNumero(int a, int suma)
{
    int num;
   
    num = a % 10;
    suma = suma + num;
   
    if (a > 0)
        suma = SumarCifrasNumero(a, suma);
   
    return suma;
}

int NumeroMayor9(int a, int b)
{
    int sumfinal;
   
    if(a >= 0)
        sumfinal = SumarCifrasNumero(a, b);
       
    return sumfinal;
}


¿Alguien sabe algo acerca de estos errores?
6  Programación / Programación C/C++ / Error en la compilación! (Solucionado) en: 6 Diciembre 2018, 19:33 pm
Hola, he empezado con la programación hace poco y tengo un pequeño problema en este programa:


#include <iostream>
#include <fstream>
#include <string>

using namespace std;

int SumaYCuenta(ifstream f, float& suma);


int main(void)
{
    int num_elementos = 0;
    float suma = 0;
    ifstream fich_in;
    string nombre;
    
    cout << "Este programa nos calcula la media de los numeros de un fichero en caso
de que exista algun numero dentro de ese fichero" << endl << endl;
    
    cout << "Dame el nombre del fichero: ";
    cin >> nombre;
    
    fich_in.open(nombre);
    
    if (!fich_in)
        cout << "Error abriendo fichero";
    else
    {
        num_elementos = SumaYCuenta(fich_in, suma);
        
        if (num_elementos != 0)
            cout << "La media es: " << suma / num_elementos;
        else
            cout << "El fichero no contenia ningún elemento.";
    }
    
    fich_in.close();
    
    return 0;
}


int SumaYCuenta(ifstream f, float& suma)
{
    int num;
    int contador = 0;
    
    while(f >> num)
    {
        suma = suma + num;
        contador++;
    }
    
    return contador;
}


-----------------------------------------------------------------------------------------
[Error] use of deleted function 'std::basic_ifstream<char>::basic_ifstream(const std::basic_ifstream<char>&)'

[Error] use of deleted function 'std::basic_ios<char>::basic_ios(const std::basic_ios<char>&)'

[Error] 'std::ios_base::ios_base(const std::ios_base&)' is private

[Error] within this context

[Error] initializing argument 1 of 'int SumaYCuenta(std::ifstream, float&)'


¿Alguien sabe que puedo hacer?
El programa marca la linea 40
Páginas: [1]
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines