Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - Ferno

#421
EDIT: Dije cualquier cosa, mis disculpas. Ahora reviso!

Bien, por lo que me he fijado, el error que marcas debe salir en el header.c. Pues el problema es simple, desde el header.c no tienes ninguna referencia hacia el struct NodoCliente. Este tipo de dato está definido en el header.h, entonces debes incluir una referencia. Esto es, debes incluir el "header.h" en el "header.c"

Más específicamente, en el header.c escribes
#include "header.h"

Cuéntame como te fue. Espero que hayas entendido.
#422
Cita de: R3tr0 en 27 Febrero 2011, 12:56 PM
Tengo una duda respecto a la función main , porque en ocasiones se le pone int delante y otras veces no? Depende de las librerias??

El ANSI C dice que la función main posee un valor de retorno de tipo int. Es por eso que si codeas en ANSI C, DEBES incluir el tipo de retorno int para la función main. Lástima que mucha gente lo omite :(
#423
Aparece en casi todas las páginas y foros que visité. No leí bien cual es el problema aún. Pero es cosa de imageshack
#424
Si escribes "%c" el programa espera leer un char y guardarlo en la variable.
Si escribes "%s" el programa espera leer un string y guardarlo en la variable.

Tu problema radicaba en la lectura del caracter de salto de línea ('\n') el cual queda almacenado en el buffer de entrada cuando apretas enter al momento de escribir un caracter o de realizar determinada entrada de datos por el stdin. Cuando ingresabas el primer caracter y le dabas a enter, había dos caracteres almacenados en el buffer, el que tu escribiste, y el enter. El primero, se le asignaba a tu variable, el segundo, se le asignaba a la próxima variable tipo char la cual pedías tomar un valor!

Lo que podías hacer era fabricarte una funcion para recortar ese caracter de salto de línea.

Tu problema se solucionó al incluir "%s" porque así, el programa toma TODA la línea (y no solo un caracter por vez), es decir, toma tanto el caracter que tu escribistes, como el salto de línea. Si no estoy mal, y corríjanme si me equivoco, lo que sucede ahora es que, como tu variable soporta solo 1 byte por ser del tipo char, se le asigna el primer caracter a esta, y se "elimina" el caracter de salto de línea.
#425
Programación C/C++ / Re: Raiz cuadrada en c
21 Febrero 2011, 17:27 PM
No, porque dentro del for, el valor de la variable "i" va iterando, creciendo de 1 en 1. Por ende, cada vez que se ejecute sqrt en el for, te dirá la raiz de cada valor que toma "i" (el cual, como te dije, va aumentando)
#426
Programación C/C++ / Re: Raiz cuadrada en c
21 Febrero 2011, 16:19 PM
Mira bien lo que estás haciendo.
Estás declarando una variable de tipo int "i" y luego usas sqrt(i) a dicha variable.
Pero dicha variable no posee NINGUN VALOR. Apenas la creaste!!
Esa función sqrt(i) debes aplicarla a cada valor que se encuentre entre tu N y tu M, por ende, debe poseer un valor diferente cada vez que se utiliza, por ende, debe ir dentro del ciclo for.

PD: Revisa bien ese error, y piensa en lo que hiciste! Le estás sacando raiz cuadrada a la nada, debido a que no le asignaste ningún valor a la variable "i". (De más está decir que tampoco cumplía con lo pedido en tu enunciado)
#427
Scripting / Re: Ayuda en python pliss
21 Febrero 2011, 14:49 PM
Seguramente te podrán ayudar muchísimo mejor en la sección Scripting donde se tratan temas de Python ^^

http://foro.elhacker.net/scripting-b64.0/
#428
Te explico un poco con palabras.

Tu sabes que hay 4 incógnitas. Y la suma de estas 4 incógnitas dan 104.
Bien, si decides llamar X a la incógnita "edad de la madre" entonces solo guiate por los datos que te dan:

Madre = X

Si el padre es 6 años mayor que ella, entonces:
Padre = X +6

Además te dice que los gemelos nacieron cuando la madre tenía 27 años (esto es equivalente a decir que se llevan 27 años de diferencia), es decir, la edad de cada uno de los gemelos es:
G1 = X - 27
G2 = X - 27

Pero, justamente, como son gemelos, tienen la misma edad, y son 2, por ende, la suma de las edades de los gemelos es:

G1 + G2 = (X - 27) + (X - 27) = 2 * (X - 27)

Y terminando, la ecuación del problema es la suma de todas las edades:

104 = Padre + Madre + G1 + G2
104 = (X + 6) + X + (X - 27) + (X - 27)
104 = (X + 6) + X + 2 * (X - 27)

Y despejas X.
Espero que haya quedado claro, cualquier cosa, pregunta de vuelta!
#429
Tu error es que te olvidaste de sumar las edades de los gemelos!!!

Padre = x + 6
Madre = x
Gemelos = 2(x - 27)

Entonces todo eso suma 104 años.

x + 6 + x + 2(x - 27) = 104
2x + 2x - 54 = 98
4x = 152
x = 38.

Padre = 44
Madre = 38
Gemelos = 11 cada uno.
#430
Cita de: samur88 en 19 Febrero 2011, 14:46 PM
Disculpa otra duda que tendría sería, si quiero leer todos los nodos de la lista, lo hago de esta forma en el codigo que me has pasado pero no me funciona correctamente, el bucle se ejecuta no leyendo todos los nodos almacenados y luego el programa se cierra automáticamente:
void leer_fic(){
FILE *fp;
tipoNodo *aux;
while(!feof(fp)){
fp = fopen("pacientes.txt","r+b");

fread(&aux,sizeof(tipoNodo),1,fp);

puts("LECTURA!");
printf("DNI:%d\n",aux->dni);
printf("FECHA:%d\n",aux->fecha);
puts("FIN DE LECTURA");
aux = aux->siguiente;
getchar();
}
fclose (fp);
}



Un saludo y gracias de nuevo.



Que alguien me corrija si me equivoco, pero estoy seguro que debes abrir el archivo antes de corroborar que no ha llegado a su fin (usar fopen antes de feof). Además debes sacarlo del bucle, sino estarías abriendo el archivo constantemente (si es que funciona!!).