[LUG.ro Mix] Duda con C, la ultima, lo juro..
Nicolás Aimetti
lugro-mix@lugro.org.ar
Wed, 05 Jul 2006 15:50:26 +0000
Hola.
Te conviene usar sprintf en vez de strcpy y strcat. En caso de que
hubieses querido usar strcat en vez de sprintf tendrias que antes
convertir en entero cant en un str y luego concatenarlo. Pero bueno,
para lo que quer'es hacer viene mejor sprintf.
char *devuelve(float disp,int cant,struct datos gas)
{
static char dev[30];
if(cant > gas.cant){
sprintf(dev,"La cantidad de gaseosa disponible es:
%d\n",gas.cant);
}
return dev;
}
el codigo en general se puede corregir bastante m'as, pero me limito
nomas a responder la pregunta simplemente por razones de tiempo m'as que
nada.
Saludos,
Nicol'as.
Matias Sanchez wrote:
> Disculpas por el Offtopic en lugro.
>
>> 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.
>
>
> _______________________________________________
> Lugro-mix mailing list
> Lugro-mix@lugro.org.ar
> http://www.lugro.org.ar/mailman/listinfo/lugro-mix
>