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

 

 


Tema destacado: Introducción a Git (Primera Parte)


  Mostrar Mensajes
Páginas: 1 2 [3] 4 5
21  Programación / Programación C/C++ / Re: error al compilar en: 18 Mayo 2012, 17:25 pm
 Al parecer estas tratando de definir la funcion dentro de otra, eso no puede suceder, debes colocar todo el codigo una fuera de la otra:

Código
  1. #include <iostream>
  2. #include <unistd.h>
  3.  
  4. char cookie[8];
  5. int numbercookies=1;
  6. bool bucle=true;
  7.  
  8. void funcion(void);
  9.  
  10. int main()
  11. {
  12.     while(bucle==true) funcion();
  13.     return 0;
  14. }
  15.  
  16. void funcion(void)
  17. {
  18.    cout << "I WANT A COOKIE\t" << endl;
  19.    numbercookies++;
  20.    cin >> cookie;
  21.    if (cookie=="cookie") numbercookies--;
  22.  
  23.    else ;
  24.  
  25.    if (numbercookies==0) bucle=false;
  26.  
  27.  
  28.    sleep(2);
  29. }
  30.  
22  Programación / Programación C/C++ / Re: cargar struct dentro de una matriz en: 18 Mayo 2012, 06:33 am
 De acuerdo a lo que dices, he corregido errores potenciales del codigo, aunque no estoy conforme porque no se ajusta a especificaciones estandar.

 No lo he probado pero creo que esta bien, sin embargo observa las correcciones que hice.

Código
  1. #include <conio.h>
  2. #include <stdio.h>
  3. #define TAM 3
  4.  
  5. typedef struct
  6. {
  7.   int tipo;
  8.   float produccion;
  9.   float valor;
  10. }t_parcela;
  11.  
  12. void ver_archivo(FILE*);
  13. void cargar_matriz(t_parcela*[][TAM]);
  14.  
  15. void main()
  16. {
  17.   int i,j;
  18.   FILE*pf;
  19.   t_parcela parcela[TAM][TAM];
  20.   cargar_matriz(parcela);
  21.   pf=fopen("campo.dat","w+b");
  22.   {
  23.      for(i=0;i<TAM;i++)
  24.         for(j=0;j<TAM;j++)
  25.         {
  26.            if(parcela[i][j].produccion!=0 && parcela[i][j].tipo!=99)
  27.            {
  28.               fseek(pf,((i*TAM)+j)*sizeof(t_parcela),SEEK_SET);
  29.               fwrite(&parcela[i][j],sizeof(parcela),1,pf);
  30.            }
  31.         }
  32.   }
  33.   fclose(pf);
  34.   ver_archivo(pf);
  35.   getch();
  36. }
  37.  
  38. void cargar_matriz(t_parcela p[TAM][TAM])
  39. {
  40.   int i,j;
  41.   for(i=0;i<TAM;i++)
  42.      for(j=0;j<TAM;j++)
  43.         {
  44.             puts("Escriba el tipo de grano(entero de 1 a 5)");
  45.             scanf("%d",&p[i][j].tipo);
  46.             puts("Escriba la produccion obtenida");
  47.             scanf("%f",&p[i][j].produccion);
  48.             puts("Escriba el valor de la produccion");
  49.             scanf("%f",&p[i][j].valor);
  50.         }
  51. }
  52.  
  53. void ver_archivo(FILE*pf)
  54. {
  55.   t_parcela parcela;
  56.         pf=fopen("campo.dat","rb");
  57.         fread(&parcela,sizeof(t_parcela),1,pf);
  58.         while(!feof(pf))
  59.         {
  60.            printf("%d",parcela.tipo);
  61.            printf("%f",parcela.produccion);
  62.            printf("%f",parcela.valor);
  63.            fread(&parcela,sizeof(t_parcela),1,pf);
  64.         }
  65.         fclose(pf);
  66. }
  67.  

Antes te sugiero que modifiques las salidas de los printf() agregando espacios como saltos de lineas para que puedas leer mejor los resultados.

 Saludos
23  Programación / Programación C/C++ / Re: Curso básico lenguaje C en: 18 Mayo 2012, 05:24 am
 Buena iniciativa. Imagino que tambien lo haces para afianzar tus conocimientos, por lo tanto cuando tenga tiempo voy a analizar tus exposiciones y comentar cualquier errata si es que encuentro alguna.

 Saludos
24  Programación / Programación C/C++ / Re: Hallar el codigo fuente de un programa en visual c++ 7.10 en: 18 Mayo 2012, 05:13 am
 El desensamblador IDA tiene una herramienta para obtener un codigo fuente equivalente de un ejecutable, aun asi es muy basico, eso creo. Segun tengo entendido, para obtener un codigo fuente de cualquier ejecutable primero tendras que comprender que es lo que hace el compilador ante determinadas sentencias. Osea que te veras en la tarea de aprender assembly, C/C++, las API de windows y quisas una que otra cosa mas. Lo que quieres hacer es la tarea comun de los analistas de malware.

 En alguna parte del servidor de Ricardo Narvaja hay una serie de archivos .doc donde realiza el analisis del codigo obtenido en ensamblador a partir de codigos en C.

 No se mucho sobre el tema, pero alguna vez tuve la curiosidad de aprender a reversar.

 Saludos
25  Programación / Programación C/C++ / Re: ayuda asignar valores..!!! en: 17 Mayo 2012, 20:24 pm
 No puedes hacer que una variable este vacia.. por convencion, a la hora de programar es comun que el valor NULL, cero,'\0' o cualquier caracter de escape, EOF, o -1 sean los que señalizen algun estado o suceso
26  Programación / Programación C/C++ / Re: Separar string Ayuda en: 17 Mayo 2012, 20:13 pm
Observa:
http://c.conclase.net/librerias/?ansifun=strtok
27  Programación / Programación C/C++ / Re: Como ingresar dos strings como parametros en una funcion en: 17 Mayo 2012, 20:07 pm
 El codigo seria

Código
  1. void instruccion( string cad, string instruct, int *n , int *k )
  2.  
  3. {
  4.  
  5.    cout<<"INSTRUCCION: ";
  6.  
  7.  
  8.  
  9.    for( ; isspace(cad[n])==0 && cad[n]!=59 && cad[n];  ++(*n),++(*k) )  
  10.    {
  11.  
  12.        instruct.insert( *k, cad, *n, 1 );
  13.  
  14.        cout<<cad[n];
  15.  
  16.    }
  17.  
  18.        cout<<endl;
  19.  
  20. }
  21.  

 En concepto, la unica diferencia seria lo que pasas como argumento en cada llamada a la funcion. Sin embargo, en realidad dentro del sistema suceden procesos totalmente diferentes. Es un tema de arquitectura de computadores

Saludos
28  Programación / Programación C/C++ / Re: Como ingresar dos strings como parametros en una funcion en: 15 Mayo 2012, 23:10 pm
 El error se encuentra en la palabra "instruccion". Tanto el nombre de la variable como el de la funcion son iguales y esto no debe ser asi. Cambiandole el nombre al parametro String instruccion creo que ya lo tendras solucionado.

¿Qué es lo que quieres conseguir con la función instruccion?

 Si mal no entiendo, recorre el primer string y almacena cada caracter en el segundo y a la vez lo imprime en pantalla. Todo eso siempre y cuando no sea un espacio, un punto y coma ni el caracter de final de cadena '\0'. Pero no le veo utilidad alguna en que tenga que recibir un puntero a los indices de cada string.

Saludos
29  Programación / Programación C/C++ / Re: STL: Uso de vector para administrar vectores 3D (para juegos) en: 12 Mayo 2012, 17:28 pm
 La idea acerca del uso de funciones es la portabilidad en la mayor medida de lo posible. En este caso las funciones que muestras dependen estrictamente de seis instancias de una clase llamada vector. Por otro lado, noto que el dominio de valores posibles para index es mayor al realmente valido en func_vec_add y func_vec_list.

 Con respecto a las librerias, para el ejemplo que muestras no necesitas las librerias string, fstream.h y windows.h

 Solo son pequeños detalles que yo no dejaria pasar por alto. Lejos de eso, interesante ilustracion.

 Saludos
30  Programación / Programación C/C++ / Re: Error de codigo en Devc++ 4.9 en: 7 Mayo 2012, 14:04 pm
 El ANSI/ISO C Standard ("C99") especifica que siempre main() debe retornar int. Esto permite que un dispositivo u otro software pueda obtener informacion acerca de como termina un programa en C, de lo contrario se ignora y listo.

 Puedes tambien escribir el main() sin anteponerle el int y el compilador tiene que entender que esta implicito, osea que estas obligado a retornar un valor entero desde main().
Páginas: 1 2 [3] 4 5
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines