[LUG.ro Mix] Duda con C, la ultima, lo juro..
Matias Sanchez
lugro-mix@lugro.org.ar
Wed, 5 Jul 2006 13:25:30 -0300
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.