| |||
menu array buen dia me gustaria un pequeño ejemplo de menu con un array me confunde mucho lo que va en un .h y en el .cpp. lo estoy hacindo en eclipse solo necesito un pequeño ejempplo para guiarme. muy agradecido |
| |||
Respuesta: menu array Buenas. Lo primero es recordarte que no estás hablando con tus amigos de toda la vida en la calle. Estás escribiendo en un foro que intenta ser mínimamente serio. No debería ser tan complicado pararse un par de minutos y escribir un mensaje bien escrito y sin faltas ortográficas obvias... que alguna se puede escapar, pero es que en tu caso es ligeramente sangrante. Incluso si después de enviar el mensaje te das cuenta de que es mejorable puedes editarlo mientras nadie te responda. No me queda muy claro si tu intención es programar en C o C++ (los .h son típicos de C y los .cpp son típicos de C++). No es excesivamente relevante dado lo escueto de tu mensaje, pero estaría bien que tomases nota para siguientes mensajes. Bueno, al lío. Tanto en C como en C++ tienes libertad absoluta para poner donde te de la gana cada pieza del código. Lo único que sucede es que has de respetar ciertas reglas de dependencia, pero salvo eso no hay restricciones en cuanto al diseño (puedes poner un programa entero en un solo fichero y una sola línea de código). El problema que tiene poner todo el código junto es que cada modificación por tonta que sea en un fichero provoca la recompilación de este fichero y de todos aquellos que enlacen al mismo. Si tienes un programa de 10.000 líneas en un solo fichero verás que modificar cualquier tontería implica volver a compilar las 10.000 líneas con el tiempo que ello conlleva. Para evitar este problema lo usual es separar los diferentes elementos que componen el programa en dos tipos de archivos (cabecera y código). En las cabeceras suelen estar las declaraciones de las funciones y tipos (estructuras, clases y typedef) que se van a usar en el resto del programa. En los archivos de código lo usual es encontrar la implementación de las funciones, clases y estructuras antes citadas. De esta forma si se modifica algo en un archivo de código (lo más usual), la recompilación se limita a únicamente un fichero... en el caso de las cabeceras la recompilación es algo más grande. Organizar el código en ficheros también ayuda a mantenerlo organizado. Todo lo anterior hay que asimilarlo teniendo en cuenta que no es una norma fija y que puede haber excepciones. Quizás la más importante son los templates. todo el código del template tiene que estar en los archivos de cabecera. Esto tiene sus razones (aunque personalmente no las comparto) pero no viene a cuento mencionarlas ahora. También te puedes encontrar con pequeñas funciones implementadas en la cabecera. Esto se suele hacer generalmente por una obsesión generalizada por el rendimiento (las funciones implementadas en la cabecera pueden ser etiquetadas como inline, lo que permite que el compilador sustituya la llamada a la función por el código de la misma, lo que mejora el rendimiento. En la línea contraria también te puedes encontrar funciones cuya declaración esté en el archivo de código. La razón para hacer esto es que se pretende que dicha función se use exclusivamente dentro de dicho fichero y se desea que no sea accesible desde el resto del código. La única regla que tienes que respetar es que no puedes usar nada que no hayas declarado o implementado previamente. Un saludo.
__________________ La ayuda se paga con esfuerzo o con dinero. Si no estás dispuesto a esforzarte y quieres que te hagan los deberes pide presupuesto, al menos así ahorrarás tiempo. |
| |||
Respuesta: menu array muchas gracias amigo, la verdad muy apenado; escribí rápido y no revise para corregir. la verdad soy nuevo en c++, mis dudas son con este lenguaje y debido a que lo estoy haciendo en eclipse, cuando genero la clase eclipse crea la clase nombre.cpp y un nombre.h yo uso el .h para declarar y hago un include <nombre.h> en el .cpp pero para efectos de array, son varias clases que en realidad no se como incluirlas. por eso solo pedi un ejemplo de menu para guiarme. saludos y muchas gracias por responder |
| |||
Respuesta: menu array La convención es usar #include "ruta" para los ficheros locales de tu proyecto y #include <ruta> para librerías externas. ¿Por qué? Pues porque como todo en C++, "algo" no es igual a "Algo". El include con comillas únicamente intenta localizar los ficheros en las rutas locales, mientras que el include con llaves tiene un rango de búsqueda más amplio... el efecto de usar el include con llaves de forma abusiva es un aumento del tiempo que le lleva al compilador hacer su trabajo... además usar ambos tipos de includes ayuda a mantener el código un poquito más limpio y legible. Lo normal a la hora de estructurar el código en C++ es usar una pareja de ficheros (cabecera y código) por clase. Puede parecer un poco coñazo si la clase es sencilla y no tiene más que unas pocas líneas de código, pero luego en la vida real esa clase tan sencilla puede acabar mutando hasta convertirse en un monstruo de varios miles de líneas de código y entonces te das cuenta que es un engorro tener dos o tres de estas clases en un mismo fichero. En cuanto a lo que comentas del array, si no enseñas nada de código es complicado hacerse una idea de tu problema. Cita: ... el sistema en el que trabajo tarda unas 6 horas y pico en compilarse completamente jejejejeje... donde quedarán esos 20 minutos :)Un saludo.
__________________ La ayuda se paga con esfuerzo o con dinero. Si no estás dispuesto a esforzarte y quieres que te hagan los deberes pide presupuesto, al menos así ahorrarás tiempo. |
| ||||
Respuesta: menu array Cita: !!!... el sistema en el que trabajo tarda unas 6 horas y pico en compilarse completamente jejejejeje... donde quedarán esos 20 minutos :) Personalmente nunca he trabajado en proyectos con ese tiempo de compilación. Sólo recuerdo alguna vez intente compilar Xorg en una máquina con un AMD K6. Recuerdo que lo deje toda la noche, y todo el día siguiente. En algún punto de la siguiente noche acabó. Incluso en mi máquina actual compilar QTWebkit tarda algunas horas. Datos curiosos. |
| |||
Respuesta: menu array ok muchas gracias en realidad tengo claro lo que es el .h y el .cpp gracias a sus comentarios. en cuanto a lo que debo hacer bueno intentare realizar algo y mostrarlo de cualquier manera muchas gracias |
| |||
Respuesta: menu array ok muchas gracias en realidad tengo claro lo que es el .h y el .cpp gracias a sus comentarios. en cuanto a lo que debo hacer bueno intentare realizar algo y mostrarlo de cualquier manera muchas gracias |
Etiquetas: Ninguno |