Título: Archivos binarios Publicado por: Beginner Web en 5 Octubre 2018, 11:49 am Hola, miren no se que estoy haciendo mal a la hora de agregar un nuevo registro, quiero que guardar registros de alumnos teniendo en cuenta que sus codigo de alumno no se deben repetir, no se que estoy haciendo mal :(
Código
Título: Re: Archivos binarios Publicado por: OmarHack en 5 Octubre 2018, 13:52 pm Si me indicas lo siguiente te ayudo:
Cual es la parte del código que te da problemas? Qué problemas te da? Que quieres que haga esa parte de código que no hace? Es que no tengo ningún compilador a mano en este sistema. Título: Re: Archivos binarios Publicado por: Serapis en 5 Octubre 2018, 16:24 pm Debes intentar aprender a atrapar tu mismo los errores sencillos...
Por ejemplo, si ya has introducido un código (por ejemplo 56), repite más tarde el mismo código a ver si lo hace bien, si lo hac emal y lo añade, entonces te vas primero a la parte d ela función que búsqueda que compara el solicitado con el existente, es decir aquí: Código He añadido dos líneas comentadas, sustitúyelas por el código correspondiente.... y entonces podrás ver qué pasa, primero viendo si los valores de libreta corresponden con los que has introducido previamente y segundo viendo si el nuevo 'código', se corresponde con el pasado a la función... si ambos son iguales, la comparación debe arrojar true, si no es así, o los valores no corresponden con los introducidos, tendrás un erro en alguna sección previa. Y de paso aprovecho para comentarte que no es buena idea que una función se llame existe y dentro (privada) de ella declares una variable con el mismo nombre, se presta a copnfusión, salvo que hayas agotado todos los nombres posibles (imposible verdad?), porque otorgarle el mismo nombre... siendo privado, cambialo por ejemplo por 'bool hallado=false;' significa lo mismo, pero quien lea (otro que no seas tú, no precisan perder más tiempo en verificaciones innecesarias). ...pero vamos, la idea es que aprendas a colocar líneas de código dentro del código, con el único propósito de detectar tus propios errores... una vez detectado, dichas líneas las comentas y cuando lo des por terminado, si quieres hasta puedes borrarlas... Título: Re: Archivos binarios Publicado por: Beginner Web en 5 Octubre 2018, 17:57 pm Bueno la funcion consulta no me esta retornando valores validos, en un momento mi codigo retornaba puros 0 ahora retorna puros 1
Título: Re: Archivos binarios Publicado por: OmarHack en 5 Octubre 2018, 18:18 pm Cual es la función consulta? No la veo.
Título: Re: Archivos binarios Publicado por: Beginner Web en 5 Octubre 2018, 18:59 pm NEBIRE, solo me lee el primer elemento del archivo los demas no, esta bien el recorrido o tengo que hacer otro especial para archivos binarios?
Título: Re: Archivos binarios Publicado por: Beginner Web en 5 Octubre 2018, 23:26 pm Bueno, ya encontre el error no era lo que decian por aca, ahora quiero que los que piensen sean ustedes, no hace falta que me digan como arreglar el error, como mucho se puede decir la linea donde esta el error nada mas(faltan dos funciones, o sea 2 lineas de codigo) ;-)
Título: Re: Archivos binarios Publicado por: OmarHack en 5 Octubre 2018, 23:32 pm No me gusta mirar el código de los demás. Soy muy obsesivo con el orden, formato y limpieza en estas cosas.
Título: Re: Archivos binarios Publicado por: MAFUS en 6 Octubre 2018, 09:38 am Ahora la segunda parte.
Ahora que ya te desenvuelves bien con la programación debes pasar a las buenas costumbres: Toda función debe tener el tipo devuelto en su definición o declaración: main() { ... Está mal, es un estándar pre ansietat de hace treinta años. No uses typedef para ocultar cosas: FILE todos sabemos que es y que esperar cuando lo vemos, parchivo no. Sigue usando FILE. De igual modo no ocultes punteros: uno ve un puntero y sabe a qué atenerse, si no está el puntero ¿Se trata de una variable normal? Fíjate que las librerías estándar no lo ocultan y en C++ implementaron el paso por referencia para hacer el cometido. Sí usas C++ lleva todo lo posible a ese lenguaje: por ejemplo ya no uses más typedef tcad[50], en su lugar tienes los strings que hacen la misma función, o mejor. Con los archivos igual. Estás mezclando C, C++, estilos de hace 30 años. Es hora de centrarte en C++ y sacarle todo el provecho. Título: Re: Archivos binarios Publicado por: Beginner Web en 6 Octubre 2018, 12:09 pm Esta bien MAFUS, quiero agarrar la logica primero luego me centrare en eso, ademas asi nos estan ennseñando en el secundario, voy a primer año ;-)
Título: Re: Archivos binarios Publicado por: ThunderCls en 7 Octubre 2018, 07:21 am Ahora la segunda parte. Ahora que ya te desenvuelves bien con la programación debes pasar a las buenas costumbres: Toda función debe tener el tipo devuelto en su definición o declaración: main() { ... Está mal, es un estándar pre ansietat de hace treinta años. No uses typedef para ocultar cosas: FILE todos sabemos que es y que esperar cuando lo vemos, parchivo no. Sigue usando FILE. De igual modo no ocultes punteros: uno ve un puntero y sabe a qué atenerse, si no está el puntero ¿Se trata de una variable normal? Fíjate que las librerías estándar no lo ocultan y en C++ implementaron el paso por referencia para hacer el cometido. Sí usas C++ lleva todo lo posible a ese lenguaje: por ejemplo ya no uses más typedef tcad[50], en su lugar tienes los strings que hacen la misma función, o mejor. Con los archivos igual. Estás mezclando C, C++, estilos de hace 30 años. Es hora de centrarte en C++ y sacarle todo el provecho. +1 |