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


 


Tema destacado: ¿Eres nuevo? ¿Tienes dudas acerca del funcionamiento de la comunidad? Lee las Reglas Generales


  Mostrar Mensajes
Páginas: 1 2 3 4 5 [6] 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 ... 111
51  Programación / Programación C/C++ / Re: ¿Qué lenguaje me permite contar submúltiplos de segundo? en: 19 Marzo 2018, 17:35
Con clock() de C. Devuelve cuando ticks han pasado desde el inicio del programa. En un segundo hay CLOCKS_PER_SEC ticks.
52  Programación / Programación C/C++ / Re: Contador de palabras en: 18 Marzo 2018, 19:23
Ya tienes una función de librería que hace eso: strstr.

Algo así:
Código
  1. #include <stdio.h>
  2. #include <string.h>
  3.  
  4. int main() {
  5.    int iCont = 0;
  6.    char cPacman[] = "Hola :v Hola :v Adios :v Adios :v:v:v:v";
  7.    char cPalabra[] = ":v";
  8.    char *aux = cPacman;
  9.  
  10.    while(aux = strstr(aux, cPalabra)) {
  11.        ++iCont;
  12.        aux += strlen(cPalabra); // Para que no me cuente siempre el mismo
  13.                                 // texto muevo aux al final de la palabra encontrada.
  14.    }
  15.  
  16.    printf("El pacman se repite %d", iCont);
  17. }
53  Programación / Programación C/C++ / Re: se busca solucion c++ en: 17 Marzo 2018, 01:39
Pon una muestra del archivo de datos.
54  Programación / Programación C/C++ / Re: array en: 15 Marzo 2018, 12:22
Ok, suerte!  :D
55  Programación / Programación C/C++ / Re: Ayuda con un programa. en: 15 Marzo 2018, 00:35
Apuesto a que no te va a funcionar por diámetro.
56  Programación / Programación C/C++ / Re: Nodos de una lista simple encadenada y dos punteros en: 15 Marzo 2018, 00:30
Pues así como está no.
Tu hace dos cosas:
Declara L1 como Lista.
Define L2 como Lista de tamaño nodo.
57  Programación / Programación C/C++ / Re: Cajero automatico en: 13 Marzo 2018, 23:23
No soy de C++, lo he visto de pincelada, lo mio es el C.

Pero a mi modo de ver el cliente solo debería guardar su saldo, aumentarlo o disminuirlo. Para más seguridad estas deberían ser incluso operaciones privadas a las que no se pudieran acceder desde ningún lugar, solo desde el cajero. Deberían ser funciones amigas.

El encargado de ingresar, retirar o ver el capital del cliente es el cajero y de éste dependen las reglas para hacerlo. Por ejemplo: si se intenta sacar más del capital que hay la operación falla.

Algo así:
Código
  1. #include <iostream>
  2. using namespace std;
  3.  
  4. class Cliente{
  5. public:
  6.    Cliente() {
  7.        capital = 0;
  8.    }
  9.  
  10.    double obtenerCapital() {
  11.        return capital;
  12.    }
  13.  
  14.    void ingreso(double cantidad) {
  15.        capital += cantidad;
  16.    }
  17.  
  18.    void retiro(double cantidad) {
  19.        capital -= cantidad;
  20.    }
  21.  
  22. private:
  23.    double capital;
  24. };
  25.  
  26. class Cajero {
  27. public:
  28.    Cajero() {
  29.        _cliente = NULL;
  30.    }
  31.  
  32.    void nuevoCliente(Cliente &cliente) {
  33.        _cliente = &cliente;
  34.    }
  35.  
  36. #define SI_HAY_CLIENTE() if(!_cliente) { \
  37.     cout << "No hay un cliente definido para realizar esta accion." << endl; \
  38.     return; } else ;
  39.  
  40. #define SI_TIENE_PERMISO(permiso, mensajeError) if(!permiso) { \
  41.     cout << "Operacion denegada.\nRazon: " << mensajeError << "\n" << endl; \
  42.     return; } else ;
  43.  
  44.    void ingreso(double cantidad) {
  45.        bool permiso = true;
  46.        string razon = "";
  47.  
  48.        SI_HAY_CLIENTE() {
  49.            // Condiciones que permiten el ingreso. Si no es posible
  50.            // hacer permiso false y rellenar la razón
  51.  
  52.            SI_TIENE_PERMISO(permiso, razon) {
  53.                _cliente->ingreso(cantidad);
  54.                cout << "Ingresados " << cantidad << " creditos.\n" << endl;
  55.            }
  56.        }
  57.    }
  58.  
  59.    void retiro(double cantidad) {
  60.        bool permiso = true;
  61.        string razon = "";
  62.  
  63.        SI_HAY_CLIENTE() {
  64.            // Condiciones que permiten el retiro. Si no es posible
  65.            // hacer permiso false y rellenar la razón
  66.            // Un ejemplo sería que no hubiera suficiente capital
  67.  
  68.            if(cantidad > _cliente->obtenerCapital()) {
  69.                permiso = false;
  70.                razon = "No hay capital suficiente para realizar esta operacion.";
  71.            }
  72.  
  73.            SI_TIENE_PERMISO(permiso, razon) {
  74.                _cliente->retiro(cantidad);
  75.                cout << "Retirados " << cantidad << " creditos de la cuenta.\n" << endl;
  76.            }
  77.        }
  78.    }
  79.  
  80.    void obtenerCapital() {
  81.        SI_HAY_CLIENTE()
  82.            cout << "Capital actual: " << _cliente->obtenerCapital() << " creditos.\n" << endl;
  83.    }
  84.  
  85. #undef SI_TIENE_PERMISO
  86. #undef HAY_CLIENTE
  87.  
  88.    void cerrarCliente() {
  89.        _cliente = NULL;
  90.    }
  91.  
  92. private:
  93.    Cliente *_cliente;
  94. };
  95.  
  96. int main() {
  97.    Cliente p1;
  98.    Cajero cajero;
  99.  
  100.    cajero.nuevoCliente(p1);
  101.  
  102.    cajero.ingreso(2000);
  103.    cajero.retiro(500);
  104.    cajero.obtenerCapital();
  105.    cajero.ingreso(100);
  106.    cajero.obtenerCapital();
  107.    cajero.retiro(3000);
  108.    cajero.obtenerCapital();
  109.    cajero.cerrarCliente();
  110.    cajero.obtenerCapital();
  111.  
  112.    return 0;
  113. }
58  Programación / Programación C/C++ / Re: introducir n numeros reales en c en: 12 Marzo 2018, 23:03
Tres pistas:
1. En C una sentencia es falsa si se evalúa a 0 y es verdadera si se evalúa diferente a 0.
2. while ejecuta su código asociado si la condición es cierta y repite.
3. scanf devuelve el número de conversiones realizadas con éxito, es decir, en caso de no poder hacer ninguna devuelve 0.
59  Programación / Programación C/C++ / Re: Problema de las 8 reinas en: 12 Marzo 2018, 17:22
Sigo creyendo que es un problema de mala interpretación. Viendo algunas soluciones al tablero de las 8 reinas siempre hay algunas de ellas alineadas, aunque sea a dos saltos de caballo.



Se me ha ocurrido. A ver si en línea recta no quiere decir que el intervalo de de tres reinas significa la misma función de recta entre las tres:
Por ejemplo un salto de caballo [+2, -1], o un salto un poco más largo [+3, +2]. Entonces sí se podría decir que están alineadas por una recta, pero tal y como muestras en el ejemplo de tu ejercicio pues no es una recta; es una línea pero no es recta.
60  Programación / Programación C/C++ / Re: Problema de las 8 reinas en: 12 Marzo 2018, 14:54
La alineación se refiere, cómo has dicho, en la misma diagonal, columna o fila. Para lo demás está bien. Si ya lo tienes resuelto así ya has terminado.
Páginas: 1 2 3 4 5 [6] 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 ... 111
Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines