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

 

 


Tema destacado:


  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 22 23 24 25 26 27 28 29 ... 83
131  Programación / Programación C/C++ / Re: Leer registro encabezado de archivo | C en: 22 Octubre 2014, 19:29 pm
Gracias a ambos por su ayuda.
En la universidad enseñan una mezcla de C/C++ que me incomoda, no creo que cuando termine acepten desarrollar proyectos de esa manera  :¬¬ , por lo que estoy aprendiendo C por mi cuenta con Programación en C | Joyanes, pero bueno sin salir del tema..

Tambien me di cuenta de otro error.
En mi función submenu estoy trabajando todo con el mismo fd y al inicio del submenu ya leo el encabezado(cuando muestro el nombre del archivo y el numero de registros.)
Y en la funcion para agregar vuelvo a leer el encabezado,pero el "cursor" esta posicionado despues del registro de encabezado , tengo que retroceder al inicio xD!

Estoy haciendo los cambios que me dijeron con el codigo que publique aqui y ya me funciona, cuando llegue a casa publicaré mi programa completo, espero tambien le sirva a alguien cuando visite el hilo  :).

Y por curiosidad(y sin ser chupamedias), quizá es por la experiencia que conoces tanto,como es que funciona el lenguaje y sus funciones, eso casi no e encontrado (o no e sabido buscar), en su mayoria dicen "que es lo que hace", pero no "como lo hace".
Me recomendarías alguna documentación de nivel básico, quiero conocer más a C.

Saludos
En cuanto a lo último el "cómo lo hace" no es parte del desarrollador de otras aplicaciones pues no hay que reinventar la rueda, pero entiendo tu curiosidad pues yo también la tuve y la sigo teniendo, no tienes más que descargar la glibc y leer el código ;)

http://www.gnu.org/software/libc/

http://ftp.gnu.org/gnu/glibc/ De aquí puedes descargarte el código de todas las funciones que usas de C, como están hechas y tal, no creo que te enteres de mucho al igual que yo no lo hice en su momento, es una biblioteca demasiado grande, pero si puedes echarle un ojo a las funciones matemáticas que eso es curioso.
Saludos
132  Programación / Programación C/C++ / Re: Leer registro encabezado de archivo | C en: 21 Octubre 2014, 16:57 pm
Ayer lo estuve mirando y es rarísimo, seguro que se escapa algo, pero no lo veo. Vale, justo cuando estaba escribiendo esto creo que me he dado cuenta del error, tú abres el archivo para escribirlo al desde el final no para leerlo(voy a mirar a ver si es eso)
133  Programación / Programación C/C++ / Re: Array bidimensional y uni. ¿Por qué el arreglo d[i] no se imprime en pantalla??? en: 18 Octubre 2014, 21:29 pm
Hola, creo que el problema está en que en el for cuando calculas la diagonal estás usando un operador de igualdad en lugar del de asignación, concretamente aquí:
Código
  1. void Diag (int a[TAM][TAM], int n, int d[TAM])
  2. {
  3.    cout<<"Te voy a dar la diagonal principal: \n\n";
  4.    for (int i=0; i<n; i++)
  5.        for (int j=0; j<n; j++)
  6.            d[i]==a[i][j]; //<-- Aquí
  7. }
En efecto, ese es el fallo. Una cosa, cuando publiques código hazlo entre las etiquetas GeSHi para que te salga coloreado, y otra cosa la biblioteca stdio.h no es de C++ es de C, si quieres usar esas funciones tienes que incluir cstdio y no la que has puesto.

Un saludo.
134  Programación / Programación C/C++ / Re: Archivo de Estructuras en C en: 3 Octubre 2014, 20:21 pm
Bien, vamos a ver tú al abrir un cibercafé llamas a la función que lo crea pero esa información se pierde cuando sales de esa función, entonces luego eliges que la guarde ¡pero esa información ya no está!, estás haciendo la casa por el tejado.

Primero tienes que hacer la función que crea los cibercafés ¡pero no perder los datos! ¡En la función guardar has creado una nueva variable que es distinta a la anterior! Primero intenta no perder esa información y luego ya intentarás hacer la función de guardar.

Por favor revisa los ámbitos en los que las variables son accesibles.Este enlace te servirá, habla de C++ pero en esta parte es exactamente igual que en C:

http://c.conclase.net/curso/?cap=006

Un saludo.
135  Programación / Programación C/C++ / Re: Archivo de Estructuras en C en: 3 Octubre 2014, 14:59 pm
Sí, vas bien encaminado pero te falta lo que ya te dije en el mensaje anterior. ¿Cuando le pides al usuario el id del ciber por ejemplo? ¿No ves que te falta en el code? La estructura que estás escribiendo está VACÍA , tienes que rellenarla pidiendo los datos al usuario.

Para serte mas concreto, no hay ningún scanf ni nada para pedirle al usuario absolutamente ningún dato del ciber.
136  Programación / Programación C/C++ / Re: Archivo de Estructuras en C en: 2 Octubre 2014, 19:14 pm
Buenas tardes uNolex1, veo que tienes un poco de problema a la hora de comprender la programación estructurada y quizás por eso tu programa, a pesar de tus intentos, no hace lo que te propones. Yo quiero que aprendas bien así que si no te importa no te voy a dar código (cosa que además está un poco penado aquí) , simplemente las pautas, y ya si te atascas un poco te echo una mano.

Un consejito, cuando pongas código, en el editor de mensaje hay algo en lo que pone GeSHi elige C y entre los corchetes pones tu código, es para resaltar la sintaxis de tu código en C y en varios lenguajes de programación.

Vamos a ver, tu quieres guardar una estructura ¿no? Sí, bien, pues entonces tu creas el puntero y le das un espacio en memoria ¡Pero no puedes guardar la estructura inmediatamente después sin pedir los datos! En ese caso la estructura estará vacía y no te quedará nada en el archivo a pesar de que tu función para guardar la estructura está bien ¡pero la estructura está completamente vacía!

En ese caso ¿qué debes hacer para guardar la estructura?

Pasos:
  • Definir un puntero a esa estructura.
  • Darle memoria a esa estructura.
  • PEDIR LOS DATOS Y GUARDARLOS EN LA ESTRUCTURA <-- Esta parte es la que te falta si te das cuenta.
  • Guardar la estructura que has llenado con los datos que has pedido en un fichero.

No hay más, puedo intentar explicartelo de otra manera si no lo comprendes, y en el caso más extremo te daré un poquito de código a ver si así lo vas comprendiendo ¿va?

PD: Un consejo, haz un pequeño programa de prueba guardando una estructura sencilla, una vez comprendas como hacerlo con una y entiendas la dinámica entonces atrévete a poner más de una.

Un cordial saludo.
137  Programación / Programación C/C++ / Re: Archivo de Estructuras en C en: 1 Octubre 2014, 23:24 pm
Hola buenas noches, no estaría de más que pusieses tu estructura cibercafes para saber cómo es y ayudarte mejor. Es evidente que si no ingresas ningún dato ni pasas ningún dato a la función te va a guardar un hueco en blanco.

Puedes ir pidiendo en un while o en un for los datos de las estructuras hasta que el usuario quiera parar y mientras los vas guardando con lo que has puesto. A ver si puedo dar ahora algo más que palabras.


Puedo darte este ejemplo, pero la función de leer la intentas hacer tú:
Código
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3.  
  4. //Estructuras
  5.  
  6. struct _cibercafe{
  7.    int id;
  8.    char direccion[30];
  9. };
  10.  
  11. typedef struct _cibercafe cibercafe;
  12.  
  13. //Declaraciones de funciones
  14.  
  15. void pedirDatos();
  16. void escribirDatos(cibercafe *data);
  17.  
  18. int main()
  19. {
  20.    pedirDatos();
  21.    return 0;
  22. }
  23. void pedirDatos()
  24. {
  25.    char answer = 'y';
  26.    int id = 0;
  27.    do{
  28.        cibercafe *tmpData = malloc(sizeof(cibercafe));
  29.        tmpData->id = id;
  30.        printf("Ingrese la direccion del cibercafe:");
  31.        scanf("%s",tmpData->direccion);
  32.        escribirDatos(tmpData);
  33.        free(tmpData);
  34.        printf("Desea continuar ingresando datos? y/n");
  35.        answer = getchar();
  36.        answer = getchar();
  37.        ++id;
  38.  
  39.    }while(answer == 'y');
  40. }
  41. void escribirDatos(cibercafe *data)
  42. {
  43. FILE *file;
  44. file = fopen("cibercafes", "a");
  45. fprintf(file,"%d&%s,",data->id,data->direccion);
  46. fclose(file);
  47. }
Saludos.
138  Programación / Programación C/C++ / Re: Archivo de Estructuras en C en: 1 Octubre 2014, 00:59 am
Mírate la entrada y salida de ficheros en C/C++ , luego solo es una función para escribir y otra para leer, y si acaso una para modificar. Intentalo y si no te sale nosotros te ayudaremos encantados.

Saludos.
139  Programación / Programación C/C++ / Re: [Aporte] Libro muy actualizado en: 30 Septiembre 2014, 00:32 am
Es un gran aporte, esta editorial es fantástica y el libro está en altísima calidad, muchas gracias.

Un saludo samuelhm.
140  Programación / Programación C/C++ / Re: Ayuda con error de compilación: invalid types ‘float[int]’ for array subscript en: 29 Septiembre 2014, 21:28 pm
Gracias! Supongo que tambien tengo que añadir [] en el return, no?
No, no es necesario (no está bien vamos) pues poniendo solo posicion estás pasando la dirección de memoria del primer elemento del array. Pero si debes poner en el valor de retorno esto:
Código
  1. float* ControlLlamarada(int counter,float position[] /**<-------------- Aquí está el fallo*/)
  2. {
  3.    int FlareCounter = 0;
  4.    if(counter == 30)
  5.    {
  6.        game.getNextFlare(FlareCounter);
  7.        if(FlareCounter <= 10)
  8.        {
  9.            position[0] = 0;
  10.            position[1] = 0.5;
  11.        }
  12.        return position;
  13.    }
  14. }
Cuando en C tu pones:
Código
  1. array[0];
Estás accediendo al valor del elemento de ese array en la posición cero. Y eso es lo mismo que poner:
Código
  1. *array;
Pero eso ya son punteros y no viene al caso, si quieres me puedes preguntar por privado  ;)
Un saludo.
Páginas: 1 2 3 4 5 6 7 8 9 10 11 12 13 [14] 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 ... 83
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines