Alguna ayuda :D seria agradable ... ( C)

Iniciado por m4rkk0s, 10 Julio 2012, 19:32 PM

0 Miembros y 1 Visitante están viendo este tema.

m4rkk0s

Antes que nada gracias por pasarse por el tema

la cuestion es la sgte.. tengo

typedef struct proyecto {
char nombreproducto[255];
char responsable[255];
char respro [450];
}producto_t;


y tengo otra que es igual pero que se llama peticion


mi duda es la sgte...
yo imprimo de esta forma

void imprimir_proyecto(proyecto_t proyecto){
printf("\nel proyecto es: %s y su responsable del producto  : %s\n\n",proyecto.nombre,peticion.responsable);


como hago para que me tome la parte de peticion.. =?

DickGumshoe

¡Hola!

¿Cómo que te tome la parte de petición? ¿Le has pasado por parámetros el struct petición?


Saludos.

m4rkk0s

buenas.. osea... como es... yo pongo la funcion


void imprimir_producto(producto_t producto){
    printf("el producto es: %s \n responsable es %s\n ",producto.nombreproducto,producto.respro);

}


osa entiendo que ahi me deberia de imprimir lo que hice en la variable producto... mi dia es si yo quiero  imprimir valores que tiene la struc producto y valores uqe tiene la struc peticion

como deberia de hacer la sentencia dentro del void imprimir?

DickGumshoe

#3
Que yo vea tienes el código bien... En todo caso pasarle por parámetros el struct producto si no es una variable global. Es que sin el código completo es muy complicado ver en qué fallas y tu duda...

EDITO: Ya he entendido tu duda.

Pásale por parámetros el otro struct, tal y como has hecho con el producto, y en el printf lo usas igual.

Saludos.

m4rkk0s

perdon la demora de la respuesta... estaba probando unas cosas... ahora prubeo eso gracias!! como siempre gracias por la molestia que te tomas para ayudarme un abrazo

do-while

¡Buenas!

Para pasar mas de un parametro a una funcion tienes que indicar el tipo y el identificador de cada uno de ellos, separandolos por comas, entre los parentesis que delimitan la lista de parametros:


tipo_de_retorno identificador_de_funcion (tipo1 identificador1, tipo2 identificador2, ... , tipoN identificadorN)
{
    El codigo de tu funcion
}


En los prototipos de funcion el compilador ignora los identificadores, solo tiene en cuenta el numero y tipo de parametros que recibe la funcion, pero por cuestiones de claridad de codigo suele ser mas que recomendable que incluyas los identificadores tambien en el prototipo, ya que asi el codigo se entiende mejor.

¡Saludos!

   
Advertencia - mientras estabas escribiendo, una nueva respuesta fue publicada. Probablemente desees revisar tu mensaje.
- Doctor, confundo los números y los colores.
- Vaya marrón.
- ¿Marrón? ¡Por el culo te la hinco!

m4rkk0s

buenas!! perdon la demora en la respuesta... y sobretodo gracias por responder :D


void imprimir_proyecto (proyecto_t proyecto, producto_t producto){

printf("CC263_NEW_%s_proyecto : %s = %s %s\n",proyecto.nombre,proyecto.responsable,producto.respro);
                    }


eso tendria q hacer???
y para imprimir en el main

seria




int main (){
proyecto_t s = crear_proyecto();
producto_t  d= crear_producto();
imprimir_proyecto (s,d);}


proyecto y producto son struc como  la que hice al principio
eje

producto_t crear_producto(){

    producto_t producto;
//aca iria lo que hace osea pide datos y los deja en una variable con gets


DickGumshoe

Sí, eso es lo que tienes que hacer para imprimirlo en main().

Saludos!

m4rkk0s

#8
de nuevo el bruto preguntando :D

una consulta... yo kreo un archivo de esta forma


FILE* miarchivo;
char* nombrearchivo;
char nombrefuncion[55];
int indice=3;
int indice1=3;
   strcpy ( nombrefuncion, proyecto.nombre );
   strcat ( nombrefuncion, ".txt");
   nombrearchivo = nombrefuncion;
   miarchivo= fopen(nombrearchivo,"w+a");

fprintf (miarchivo,"hola 1\n");

esto esta dentro de un struc..
una vez que lo krea yo lo quiero llamar desde un void imprimir...

pero no se como llamarlo para que agregue el resultado de los demas struc.. porque si bien ya logre uqe imprima otras cosas.. no imprimer lo q yo quiero ..porque lo escribo y no sale.. me imprime vacio osea nada.. como que no toma como lo llamo...

yo utilizo

FILE* miarchivo;
fopen (nombrearchivo, "w+a");

DickGumshoe

Es por esto:

nombrearchivo = nombrefuncion;

Tienes que copiar nombrefuncion en nombrearchivo con strcpy(). No se puede hacer mediante un '='.

Saludos.