[LUG.ro] Duda con C, la ultima, lo juro..
Matias Sanchez
lugro@lugro.org.ar
Wed, 5 Jul 2006 13:19:30 -0300
Bueno, les pasteo el codigo:
#include <stdio.h>
#include <string.h>
struct datos{
char nombre[30];
int cant;
float precio;
};
char *devuelve(float, int,struct datos);
main()
{
int cant=0,nrogas=0;
float preciodisp;
struct datos gaseosa[5];
gaseosa[3].cant = 5;
gaseosa[3].precio = 2;
strcpy(gaseosa[3].nombre,"Cocaloca");
printf("Ingrese el nro de la gaseosa\n");
scanf("%d",&nrogas);
printf("Ingrese cantidad que desea\n");
scanf("%d",&cant);
printf("Ingrese el dinero del que dispone\n");
scanf("%f",&preciodisp);
printf("%s\n",devuelve(preciodisp,cant,gaseosa[nrogas]));
}
char *devuelve(float disp,int cant,struct datos gas)
{
static char dev[30];
if(cant > gas.cant){
strcpy(dev,"La cantidad de gaseosa disponible es:");
strcat(dev,gas.cant)
}
return dev;
}
Es en realidad una reconstruccion de algo mucho mas grande, y solamente para
probar algo.
Ahora va la pregunta. En la funcion devuelve que tengo que devolver un
puntero a char, necesito que dicho puntero tenga una cadena de caracteres y
ademas concatenarle, en este caso, el entero cant. Obviamente me tira error
el strcat, porque la funcion está definida con parametros char*, pero no se
me ocurre otra manera de hacerlo, siempre teniendo que devolver un puntero a
char y mostrando unicamente con el printf lo que me devuelve la funcion.
Se entiende? Alguien con alguna idea?
Muchas gracias muchachos.