El problema es que solo sirve para hidruros y oxidos (donde el elemento H o O no varia. Cuando son dos elementos variables como en un haluro (no importa que no sepas lo q es, solamente q pueden ser dos elementos cualquiera, entonces si o si tendria q usar simb() en ambos)
Te subo el codigo esta vez arregle un par de cosas y ya funciona, pero sigo con la duda de por que ecuacion ecibia ambos argumentos simb() iguales
EDITO: recien lei tu respuesta, entendi lo de static que me dijiste, asi que ahora lo arreglo, en el codigo que esta en esta respuesta ya esta arreglado lo de declarar las variables primero, lo que si no entendi es lo de que no pongo el tipo de retorno. Por ejemplo en elementos.h, metalono esta con el tipo de retorno int, no se que me corregiste (exepto que te hallas fijado en la "estructura" que puse en la respuesta anterior, que era solo representativa y no tenia ninguno de los tipos de retorno))Igualmente ya funciona y ahora que me aclaraste lo de static ya voy a poder seguir con la funcion formula() para oxidos y haluros.GRACIAS--------------------------------------------------------------------------------------------
Entonces mucho no sirve
lo que si no entendi es lo de que no pongo el tipo de retorno. Por ejemplo en elementos.h, metalono esta con el tipo de retorno int
Ahora que me aclaraste eso de static ya puedo hacer que funcione con halurosGracias de nuevo
Es que las funciones mostrar, etc, solamente devuelven 0 (al no poner tipo de retorno es como poner int, cierto?) para que luego main termine (tambien podria hacerlas void), ya que en realidad esas funciones se utilizan una vez sola en el programa (para que son funciones entonces? jajaja, es solo para que me entienda mejor ya que no comento demasiado los programas como veras, tengo q acostumbrarme)
Ahora me surgio otra duda, en la funcion romanos tambien uso staticy la uso tambien 2 veces en este caso, y me devuelve los valores q quiero (distintos), por ejemplo "I" y la segunda vez "III"porque?no tendria que devolverme ambas veces "I"? quizas no entendi tan bien lo que me explicaste
Edito: ya hice simb sin static y funciono, gracias
En C++ no hay tipos de retorno por defecto y tu programa en C no compila.
Si pones void es que no retorna nada (no podes usar return), 0 es un entero.
Que una funcion se use una sola vez no significa que no deba retornar nada, no tiene nada que ver ...
Mi programa lo compilo con el DevC++esta compilando en c++? (es decir que no tiene nada que ver que el codigo este en un archivo.c?)como cambio para que compile en C? (es que nunca me di cuenta si compilaba en c++, nunca me tiro ningun error con respecto a los tipos de retorno automaticos ni nada)