Foros del Web » Programación para mayores de 30 ;) » C/C++ »

Insertar valores de variables enteras en cadenas

Estas en el tema de Insertar valores de variables enteras en cadenas en el foro de C/C++ en Foros del Web. Hola, intento hacer un ejercicio de practicar que entre algunas cosas me pide que programe una funcion moneda que retorne una cadena de caracteres con ...
  #1 (permalink)  
Antiguo 16/02/2008, 22:42
 
Fecha de Ingreso: febrero-2008
Mensajes: 5
Antigüedad: 16 años, 3 meses
Puntos: 0
Insertar valores de variables enteras en cadenas

Hola, intento hacer un ejercicio de practicar que entre algunas cosas me pide que programe una funcion moneda que retorne una cadena de caracteres con algun mensaje de la forma

"TEXTO" cantidad descripcion, donde cantidad es el valor de una variable entera, y descripcion una cadena de caracteres en otra variable..
Mi duda reside en como pasar todo eso a un arreglo char, porque se me ocurre que podria hacerlo convirtiendo la variable entera en caracter usando toascii(); y concatenar todo con strcat pero me parece un procedimiento engorroso y se me complica en el punto siguiente en el cual se debe devolver un texto seguido por unos datos contenidos en una variable float.

Para ser mas claro, adjunto la funcio que ya he programado...
Código:
char *moneda(float dinero,gaseosa bebida,int cant)
{
char resp[80];
float aux;
aux=cant*bebida.precio;
if(dinero<aux)
     {strcpy(resp,"EL DINERO NO TE ALCANZA PARA COMPRAR "); /*Aca deberia seguir con cant, bebida.nombre*/
     else if(cant>bebida.cant){
          strcpy(resp,"NO HAY SUFICIENTE");         //esta parte supongo que queda  
          strcat(resp,bebida.nombre);                  //bien usando strcat 
          strcat(resp,"DISPONIBLE");}
     else {strcpy(resp,("TU VUELTO ES ");
          aux=dinero-aux;                   //el valor de aux deberia concatenarse a resp..
          
return resp;
  #2 (permalink)  
Antiguo 17/02/2008, 09:44
 
Fecha de Ingreso: febrero-2008
Mensajes: 5
Antigüedad: 16 años, 3 meses
Puntos: 0
Re: Insertar valores de variables enteras en cadenas

Ya lo resolvi usando sprintf, adjunto el codigo por si le sirve de ayuda a alguien..
ahora el unico problema que tengo es que resp se trunca en el primer espacio al ser devuelta a la funcion main

Código:
char *moneda(float dinero,gaseosa bebida,int cant)
{
char resp[80];
char temp;
float aux;
aux=cant*bebida.precio;
if(dinero<aux)
     sprintf(resp,"EL DINERO NO TE ALCANZA PARA COMPRAR %d %sS",cant,bebida.nombre);
   else if(cant>bebida.cant)
          sprintf(resp,"NO HAY SUFICIENTE %sS",bebida.nombre);          
else sprintf(resp,"Tu vuelto es %.2f",(dinero-aux));
system("pause");
return resp;
}
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 00:32.