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

 

 


Tema destacado: Recopilación Tutoriales y Manuales Hacking, Seguridad, Privacidad, Hardware, etc


  Mostrar Mensajes
Páginas: 1 ... 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 [32] 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 ... 160
311  Programación / Programación C/C++ / Re: [Ayuda] expected unqualified-id before '{' token en: 4 Junio 2014, 18:59 pm
En la definición de la función "Save" tienes un punto y coma de mas justo después del paréntesis derecho:
Código
  1. int Save (int key_stroke, char *file); // Hay que eliminar el ';'
  2. {
  3.   return 0;
  4. }

Solo tienes que eliminar ese carácter y si apenas empiezas con el lenguaje C++ te recomiendo que te enfoques primero en el lenguaje y solo después en extensiones.

Un saludo
312  Programación / Programación C/C++ / Re: Duda sobre cierto código en C en: 25 Mayo 2014, 15:24 pm
¿Ese es todo el código fuente?

Lo pregunto porque no debería generarse esa salida ya que toda variable "global" se inicializa a 0, 0.0 o NULL dependiendo del tipo (por supuesto eso sucede solo si no indicas explícitamente un valor inicial).

Y por favor la próxima vez que tengas una duda en relación al lenguaje C utiliza el foro apropiado: Programación C/C++.

Un saludo
313  Programación / Programación C/C++ / Re: Liberar memoria asignada a una estructura en: 24 Mayo 2014, 23:50 pm
No lo es. La función malloc reserva un bloque con (al menos) el tamaño indicado y retorna su dirección. Para liberar ese bloque se debe llamar a la función free con la mentada dirección como argumento.

Siguiendo tu ejemplo la forma correcta es:
Código
  1. free(variable);

Un saludo
314  Programación / Programación C/C++ / Re: Problema con programa para hallar numeros primos en: 24 Mayo 2014, 17:11 pm
esa condición debe de ser la única que cumplan los números primos y es lo que no se hacer, como aislar los numeros que solo cumplen esa condicion y ninguna mas.
Solo tienes que utilizar un bucle que se repita mientras el residuo de la división "N / contador" sea diferente de cero con el contador iniciando con el valor dos y terminando de forma natural con el valor N si el numero es primo (si tiene un valor menor significa que no lo es).

Un ejemplo:
Código
  1. int i;
  2. int j;
  3.  
  4. for (i = 2; i < 100; i++){
  5.   for (j = 2; i % j != 0; j++)
  6.      ;
  7.  
  8.   if (j == i)
  9.      printf("%d\n", j);
  10. }

Esa es la forma mas fácil pero menos eficiente, ejemplos sobre como reducir el numero iteraciones los puedes consultar mediante el motor de búsqueda de los foros.

Un saludo
315  Programación / Programación C/C++ / Re: Conversion de String Constante a Char* en: 24 Mayo 2014, 16:08 pm
no entiendo porque me bota un warning en esta funcion
Código
  1. char* Item_Name(int Item)
  2. {
  3.    char* ItemName[10];
  4.  
  5.    ItemName[0] = "Producto 1";
  6.    ItemName[1] = "Producto 2";
  7.  
  8.    // ...
  9.  
  10.    return ItemName[Item-1];
  11. };
Se presenta el mensaje de advertencia porque en C++ una cadena literal como "Producto 1" es de tipo "const char [N]" y este, en las asignaciones y sentencia de retorno, genera un valor de tipo "const char *". El problema es que los tipos no coinciden ya que tanto la función como los elementos del array los declaras de tipo "char *" (sin el calificador const).

Una solución ya la indico x64Core, otra opción es simplemente utilizar el tipo correcto:
Código
  1. const char *Item_Name(int Item)
  2. {
  3. const char *ItemName[10];
  4.  
  5. ItemName[0] = "Producto 1";
  6. ItemName[1] = "Producto 2";
  7.  
  8. // ...
  9.  
  10. return ItemName[Item - 1];
  11. }

Un saludo
316  Programación / Programación C/C++ / Re: Duda archivos en C (solucionado) en: 19 Mayo 2014, 18:36 pm
Las funciones getchar, fgetc y getc retornan un valor de tipo int, este se debe almacenar en una variable del mismo tipo para evitar problemas, también se pueden evitar las sentencias duplicadas para la lectura del archivo.

Con los cambios la función termina así:
Código
  1. int mayorLinea(FILE *in)
  2. {
  3.   int ch;
  4.   int i;
  5.   int max;
  6.  
  7.   i = max = 0;
  8.   while ((ch = fgetc(in)) != EOF){
  9.      i++;
  10.  
  11.      if (ch == '\n'){
  12.         if (i > max)
  13.            max = i;
  14.         i = 0;
  15.      }
  16.   }
  17.  
  18.   return max;
  19. }

Un saludo
317  Programación / Programación C/C++ / Re: libro c++ 11? en: 19 Mayo 2014, 02:06 am
En español no.

Si te sirve algunos libros en ingles y de calidad actualizados al estándar C++11:
C++ Primer (5th Edition)
The C++ Programming Language (hardcover) (4th Edition)
The C++ Standard Library: A Tutorial and Reference (2nd Edition)

Un saludo
318  Programación / Programación C/C++ / Re: A que equivale... en: 18 Mayo 2014, 17:26 pm
Una última cosa, con relación al tema original del tema. Si en vez de tener el acceso a los miembros de la estructura con notación puntero uso por ejemplo
Código
  1. vector[i].miembro;
¿cómo lo puedo representar a notación de puntero?

Es que he probado con
Código
  1. *(vector + i).miembro;
y me da error.
Eso sucede porque el operador "." tiene mayor prioridad que "*" y esa expresión se termina evaluando así:
Código
  1. *((vector + i).miembro);

Para que se evalué en la forma correcta debes utilizar paréntesis:
Código
  1. (*(vector + i)).miembro;
O utilizar el operador "->":
Código
  1. (vector + i)->miembro;

Un saludo
319  Programación / Programación C/C++ / Re: Problema Matriz dinámica en: 18 Mayo 2014, 17:19 pm
Declaré en c++ una matríz de orden [2][N] de la siguiente forma:
Código
  1. Matriz=new float*[2];
  2. for(int x=0;x<2;x++)
  3. Matriz[x]=new float[centinela2];

Pero sólo me permite ingresar 4 valores a la misma, después de eso el programa se detiene y no encuentro la razón.
Con solo ese fragmento de código no es posible ayudarte, tienes que publicar el código fuente completo.

Un saludo
320  Programación / Programación C/C++ / Re: ayuda intercambiando switch por if-else en: 15 Mayo 2014, 04:39 am
estoy intentando de intercambiar la sentencia switch por un if-else anidado y mi problema viene acarreado a la hora de que cada vez se ejecuta una sentencia se ejecuta igualmente el último else
Como ya te indico MeCraniDOS el problema que tienes es un error logico: al introducir la calificacion seguida de un avance de linea este lo procesas y por supuesto se considerara una entrada no valida. Soluciones hay varias: descartar el resto de la linea mediante un bucle, leer el caracter con scanf utilizando el especificador " %c", etc..

Código
  1. int calificacion;
Lo primero que veo es que declaras calificación como un entero, y luego lo comparas como un carácter
No hay problema con ello ya que el retorno de getchar, la macro EOF y los caracteres literales como 'a', 'b', etc. son todos de tipo int.

Un saludo
Páginas: 1 ... 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 [32] 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 ... 160
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines