Underc0de

Foros Generales => Dudas y pedidos generales => Mensaje iniciado por: Tuncousin en Octubre 31, 2020, 10:04:09 PM

Título: [SOLUCIONADO] Ayuda con una función en C++
Publicado por: Tuncousin en Octubre 31, 2020, 10:04:09 PM
Tengo esta funcion a la que le entra un dato tipo double y en base a ese dato analiza las sentencias para copiar segun sea el caso el texto deseado en la cadena tipo_imc_actual que la tengo declarada global como char tipo_imc_actual[35], el problema es que cuando yo hago el llamado a la funcion no me regresa nada aunque yo coloque cout<<tipo_imc_actual; no me muestra ese texto, pero al verificar el archivo de texto donde se guarda la info si esta el texto guardado, pero cuando quiero mostrar el texto que esta almacenado en esa variable tipo_imc_actual no me muestra el texto
(https://i.imgur.com/VVrjJEI.jpg)

Título: Re:Ayuda con una función en C++
Publicado por: DtxdF en Octubre 31, 2020, 11:04:55 PM
@Tuncousin (https://underc0de.org/foro/index.php?action=profile;u=113555)

Sería grato que nos pasara un poco más del código o el código completo para poder analizarlo y no perdernos de alguna incongruencia.

En cualquier caso, puede que esto le sirva de ejemplo para que lo compare y veo si hay algún error:

Código (cpp) [Seleccionar]
#include <iostream>
#include <cstdlib>

#define MAX_BUFF 35

char tipo_imc_actual[MAX_BUFF];

inline void copy_to_type(const char *s) {
strncpy(tipo_imc_actual, s, MAX_BUFF);

}

void tipo_de_peso(double a) {
if (a < 16.0)
copy_to_type("Bajo peso | Delgadez severa");
else if (a >= 16.0 && a <= 16.99)
copy_to_type("Bajo peso | Delgadez moderada");
else if (a >= 17.0 && a <= 18.49)
copy_to_type("Bajo peso | Delgadez leve");
else if (a >= 18.5 && a <= 24.99)
copy_to_type("Peso normal");
else if (a >= 25.0 && a <= 29.99)
copy_to_type("Sobrepeso | Preobeso");
else if (a >= 30.0 && a <= 34.99)
copy_to_type("Obesidad | Obesidad leve");
else if (a >= 35.0 && a <= 39.99)
copy_to_type("Obesidad | Obesidad media");
else
copy_to_type("Obesidad | Obesidad morbida");

}

int main(void) {
tipo_de_peso(10);

std::cout << tipo_imc_actual << std::endl;

return EXIT_SUCCESS;

}


~ DtxdF
Título: Re:Ayuda con una función en C++
Publicado por: Tuncousin en Noviembre 01, 2020, 02:41:27 PM
@DtxdF (https://underc0de.org/foro/index.php?action=profile;u=71723)

muchas gracias por la respuesta creí que ese era mi problema pero no, el problema es al momento de leer el archivo la opción 4 del menú que no me lee correctamente el archivo para mostrar todos los datos, muestra solo el primer registro en un bucle infinito y también al momento de actualizar algún dato no se termina de cerrar y sobrescribir el archivo para que se haga el cambio y se me hace raro que me pasen estas cosas ya que estoy reutilizando el código de un proyecto anterior en el cual no sucede eso 

PROYECTO ACTUAL
https://drive.google.com/file/d/1Byh-NBM0V_Bj7NpZpWhflvYGLRytSAMz/view?usp=sharing
PROYECTO ANTERIOR
https://drive.google.com/file/d/15RLOM7E4EOKfmQs3T-zUqsC70m_PyIpG/view?usp=sharing
Título: Re:Ayuda con una función en C++
Publicado por: DtxdF en Noviembre 01, 2020, 03:02:51 PM
@Tuncousin (https://underc0de.org/foro/index.php?action=profile;u=113555)

Genial que su proyecto esté funcionando. Doy este tema por solucionado  ;D

~ DtxdF