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

 

 


Tema destacado: Entrar al Canal Oficial Telegram de elhacker.net


  Mostrar Mensajes
Páginas: 1 2 3 4 [5] 6 7 8 9 10 11 12 13
41  Programación / Programación C/C++ / ¿Alguna mano con programas Cliente/Servidor [Sockets] en C++? en: 1 Octubre 2015, 01:57 am
Verán, quiero empezar a programar sockets pero no tengo ni idea de qué hacer o cómo empezar. He buscado información en internet pero he encuentro código y más código ya hecho, y obviamente no entiendo nada. O sea, no explican línea por línea para qué sirve 'X' cosa o qué hace exactamente. Por eso vengo a pedirles si alguno tiene un libro o algo para empezar desde cero. Porque como dije, no tengo ni idea de cómo empezar.

Se los agradecería un montón. :)
42  Programación / Programación C/C++ / [Problema] Incorrecta selección del Switch. en: 30 Septiembre 2015, 02:15 am
Verán, estoy haciendo un programa que lo que hace es que si escribes cierta cantidad en números, este los traslada a letras, por ejemplo: 16 - "dieciséis".

Por ahora sólo estoy con decenas, ya luego lo haré con números mayores, pero tengo un problema, hay valores que sí funcionan, y otros que no. Por ejemplo, 54, 88, 19, y otros con los que no funcionan. Por ejemplo, 18, 87, 84. Al escribir esos números (y otros varios) me manda a la condición incorrecta y escribe lo que no debería.

Las 2 líneas que están en comentario fueron de una prueba para asegurarme que le estaba pasando el parámetro correcto a la función, y ver qué valor tomaba la variable lAux, que efectivamente en algunos casos, toma el incorrecto, por ejemplo, a veces cuando le paso 7 me devuelve un "seis".

Acá les dejaré el código que llevo:

Código
  1. #include <iostream>
  2. #include <string.h>
  3.  
  4. using namespace std;
  5.  
  6. string lNumero(int i);
  7. void decimas(int num);
  8.  
  9. int main(void) {
  10.  
  11.    int num = 0;
  12.  
  13.    cout << "Escribe un numero: ";
  14.        cin >> num;
  15.  
  16.    decimas(num);
  17.    cout << endl;
  18.  
  19.    return 0;
  20. }
  21.  
  22. void decimas(int num) {
  23.    float aux = (float)num/10;
  24.    num /= 10;
  25.    aux = (aux - num) * 10;
  26.  
  27.    string lAux = lNumero(aux);
  28.    //cout << lAux << endl;
  29.    //cout << aux << endl;
  30.  
  31.    switch(num) {
  32.    case 0:
  33.        cout << lAux;
  34.    break;
  35.    case 1:
  36.        switch((int)aux) {
  37.            case 0: cout << "diez"; break;
  38.            case 1: cout << "once"; break;
  39.            case 2: cout << "doce"; break;
  40.            case 3: cout << "trece"; break;
  41.            case 4: cout << "catorce"; break;
  42.            case 5: cout << "quince"; break;
  43.            default: cout << "dieci" << lAux; break;
  44.        }
  45.    break;
  46.    case 2:
  47.        if (aux == 0) cout << "veinte";
  48.        else cout << "veinti" << lAux;
  49.    break;
  50.    case 3:
  51.        if (aux == 0) cout << "treinta";
  52.        else cout << "treinta y " << lAux;
  53.    break;
  54.    case 4:
  55.        if (aux == 0) cout << "cuarenta";
  56.        else cout << "cuarenta y " << lAux;
  57.    break;
  58.    case 5:
  59.        if (aux == 0) cout << "cincuenta";
  60.        else cout << "cincuenta y " << lAux;
  61.    break;
  62.    case 6:
  63.        if (aux == 0) cout << "sesenta";
  64.        else cout << "sesenta y " << lAux;
  65.    break;
  66.    case 7:
  67.        if (aux == 0) cout << "setenta";
  68.        else cout << "setenta y " << lAux;
  69.    break;
  70.    case 8:
  71.        if (aux == 0) cout << "ochenta";
  72.        else cout << "ochenta y " << lAux;
  73.    break;
  74.    case 9:
  75.        if (aux == 0) cout << "noventa";
  76.        else cout << "noventa y " << lAux;
  77.    break;
  78.    }
  79. }
  80.  
  81. string lNumero(int i) {
  82.    switch(i) {
  83.    case 1: return "uno";
  84.    case 2: return "dos";
  85.    case 3: return "tres";
  86.    case 4: return "cuatro";
  87.    case 5: return "cinco";
  88.    case 6: return "seis";
  89.    case 7: return "siete";
  90.    case 8: return "ocho";
  91.    case 9: return "nueve";
  92.    }
  93.    return "cero";
  94. }
  95.  
  96.  
43  Programación / Programación C/C++ / Re: Pregunta sobre condicional If. en: 29 Julio 2015, 01:07 am
Hombre gracias, me he olvidado por completo que en C++ no se pueden comparar cadenas con "==" así no más. Hahah :)
44  Programación / Programación C/C++ / Pregunta sobre condicional If. en: 29 Julio 2015, 00:47 am
Miren, intento hacer un programa que agarre el segundo argumento que se le pase desde la línea de comandos y luego este imprima un mensaje si es el correcto:
Algo por ejemplo así:

programa.exe argumento.

Luego dentro del programa se comparará si ese argumento es el que está dentro ya establecido o otro, de ser así imprimirá un mensaje en la pantalla.
Pero no sé qué estoy haciendo mal, este es el código que llevo:

Código
  1. #include <iostream>
  2.  
  3. using namespace std;
  4.  
  5. int main(int argc, char* argv[])
  6. {
  7.    /*
  8.     cout << "Cantidad de argumentos: " << argc << endl;
  9.  
  10.     for(int i = 0; i < argc; i++) {
  11.         cout << argv[i] << endl;
  12.     }*/
  13.  
  14.    //cout << argv[1] << endl;
  15.    if(argv[1] == (char*)"123") {
  16.        cout << "Argumento correcto." << endl;
  17.    }
  18.  
  19.    cin.get();
  20.    return 0;
  21. }
  22.  

Gracias de antemano. :D
45  Programación / Programación C/C++ / Re: ¿Cómo evitar almacenamientos no deseados? en: 26 Junio 2015, 02:40 am
solo revisa si cin falló

Código
  1. #include <iostream>
  2. using namespace std;
  3.  
  4. int main(void)
  5. {
  6.     int n;
  7.     cin >> n;
  8.     if(cin.fail()){
  9.          cout << "esto no es un entero" << endl;
  10.          return 0;
  11.     }
  12.     if(n > 10) cout << "Es mayor que 10" << endl;
  13.     else cout << "Es menor a 10" << endl;
  14.  
  15.     cin.get();
  16.     return 0;
  17. }

Vale, gracias.
46  Programación / Programación C/C++ / ¿Cómo evitar almacenamientos no deseados? en: 26 Junio 2015, 02:18 am
Me gustaría saber cómo podría hacer para evitar que los usuarios ingresaran valores que no corresponden al tipo de variable. Por ejemplo, supongamos que tengo un código bastante sencillo como este:

Código
  1. #include <iostream>
  2. using namespace std;
  3.  
  4. int main(void)
  5. {
  6.     int n;
  7.     cin >> n;
  8.  
  9.     if(n > 10) cout << "Es mayor que 10" << endl;
  10.     else cout << "Es menor a 10" << endl;
  11.  
  12.     cin.get();
  13.     return 0;
  14. }
  15.  

Pero, ¿cómo podría hacer para prever una situación donde en lugar de un número introduzca un caracter o una cadena de caracteres y realizar otra acción?

Sé que es algo bastante simple y hasta ridículo, pero igual me gustaría saberlo.

Gracias de antemano. :) 
47  Programación / Programación C/C++ / Re: ¿Cómo detengo un Thread? en: 27 Diciembre 2014, 17:21 pm
Hehe gracias. :) Utilicé una variable booleana global para reconocer lo que había ingresado por teclado y tomar la decisión del for. Me quedó así:

Código
  1. #include <iostream>
  2. #include <thread>
  3. #include <Windows.h>
  4.  
  5. using namespace std;
  6.  
  7. bool dThread = false;
  8.  
  9. void firstfor(int* x2)
  10. {
  11. for(int x = 0; x <= 9999; ++x)
  12. {
  13. if(!dThread)
  14. {
  15. *x2 = x;
  16. Sleep(20);
  17. }
  18. else
  19. {
  20. break;
  21. }
  22. }
  23.  
  24. cout << "\nThis for has finished!" << endl;
  25. }
  26.  
  27. int main(void)
  28. {
  29. int x = 0;
  30. int y = 1;
  31.  
  32. thread funcion1(firstfor, &x);
  33.  
  34. while(1)
  35. {
  36. cout << "Type either '1' or '0': "; cin >> y;
  37.  
  38. if (y == 0)
  39. {
  40. dThread = true;
  41. break;
  42. }
  43. else if(y == 1)
  44. {
  45. cout << "Currently the 'x' value is: " << x << endl;
  46. Sleep(1000);
  47. }
  48.  
  49. system("cls");
  50. }
  51.  
  52. funcion1.join();
  53.  
  54. system("pause>nul");
  55. return 0;
  56. }
48  Programación / Programación C/C++ / ¿Cómo detengo un Thread? en: 27 Diciembre 2014, 06:55 am
Verán, quisiera saber cómo hago para detener la ejecución de un Thread mediante una condición. O sea que, si se cumple dicha condición detener la ejecución de ese Thread.

Tengo un código así:
Código
  1. #include <iostream>
  2. #include <thread>
  3. #include <Windows.h>
  4.  
  5. using namespace std;
  6.  
  7. void firstfor(int* x2)
  8. {
  9. for(int x = 0; x <= 9999; ++x)
  10. {
  11. *x2 = x;
  12. Sleep(20);
  13. }
  14.  
  15. cout << "\nThis for has finished!" << endl;
  16. }
  17.  
  18. int main(void)
  19. {
  20. int x = 0;
  21. int y = 1;
  22.  
  23. thread funcion1(firstfor, &x);
  24.  
  25. while(1)
  26. {
  27. cout << "Type either '1' or '0': "; cin >> y;
  28.  
  29. if (y == 0)
  30. {
  31.  
  32. break;
  33. }
  34. else if(y == 1)
  35. {
  36. cout << "Currently the 'x' value is: " << x << endl;
  37. Sleep(1000);
  38. }
  39.  
  40. system("cls");
  41. }
  42.  
  43. cin.get();
  44. return 0;
  45. }

Básicamente el programa te pide que ingreses ya sea el número 0 o 1 para ver qué valor tiene el valor de la variable 'x' actualmente, ya que dicha valor se está aumentado en un proceso diferente. Pero quiero saber cómo hacer para detener ese thread cuando el usuario ingrese el valor 0.
49  Programación / Programación C/C++ / Pregunta sobre funciones anónimas en C++ [Lambda]. en: 25 Diciembre 2014, 18:46 pm
Bueno, es un poco tonto preguntar esto, pero la verdad es que me puse a practicar con las funciones anónimas, y me da un error, tuve dudas así que me puse a practicar con este código simple y me dió el mismo error. ¿Alguien me puede decir qué estoy haciendo mal? Gracias de antemano. :)

Código
  1. #include <iostream>
  2. #include <cstdlib>
  3.  
  4. using namespace std;
  5.  
  6. int main(void)
  7. {
  8.    int x = 2;
  9.  
  10.    int (*funcion1)(int) = [x](int a)
  11.    {
  12.        return (a * x);
  13.    };
  14.  
  15.    cout << funcion1(8) << endl;
  16.  
  17.    system("pause>null");
  18.    return 0;
  19. }
50  Programación / Programación C/C++ / Pregunta sobre parámetros en C++. en: 25 Septiembre 2014, 22:34 pm
Hola, bueno es que me he estado preguntando qué pasa exactamente al pasar un parámetro como este:
Código
  1. MB_ICONINFORMATION | MB_OK
  2.  

Por ejemplo:
Código
  1. MessageBox( hwnd, (LPSTR) "Function Not Yet Implemented.",
  2.                              (LPSTR) szClassName,
  3.                              MB_ICONINFORMATION | MB_OK );
  4.  

¿Qué sucede exactamente? No sé si me logré explicar con exactitud, pero es que he visto muchos códigos fuentes y algunos reciben ese tipo de parámetros; por ende, supe que será de utilidad saberlo con exactitud. Espero respuestas, saludos. :)
Páginas: 1 2 3 4 [5] 6 7 8 9 10 11 12 13
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines