<html><body><div style="color:#000; background-color:#fff; font-family:times new roman, new york, times, serif;font-size:12pt"><div>Hola, alguien me puede echar una mano con la escritura de un fichero?</div><div>No logro entender porque no me escribe en el fichero comidas.plato y luego no saca nada del fichero y lo tengo que escribir de nuevo,como si no se almacena nada cuando se vuelve a ejecutar el programa.</div><div>Tengo una struct con todos los datos necesarios y la funcion para guardar el nombre de la comida, su precio, y referencia.</div><div>Seria para buscar el plato por su referencia y que te muestre el precio y el nombre de esta.<br></div><div>Gracias por tu tiempo, un saludo<br></div><div style="color: rgb(0, 0, 0); font-size: 16px; font-family: times new roman,new york,times,serif; background-color: transparent; font-style: normal;"><br></div><div style="color: rgb(0, 0, 0); font-size: 16px; font-family: times new roman,new
york,times,serif; background-color: transparent; font-style: normal;"><br></div><div style="color: rgb(0, 0, 0); font-size: 16px; font-family: times new roman,new york,times,serif; background-color: transparent; font-style: normal;"><br></div><div style="color: rgb(0, 0, 0); font-size: 16px; font-family: times new roman,new york,times,serif; background-color: transparent; font-style: normal;">struct pedido{<br> char telefono[50];//numero de telefono del cliente<br> char calle[50];//nombre de calle del cliente<br> char portal[50];<br> char piso[50];<br> float pedidos;//valor pedido<br> float total_pedidos;//valor total de los
pedidos<br> float precio;<br> int referencia;<br> char plato[50]; <br> };<br></div><div style="color: rgb(0, 0, 0); font-size: 16px; font-family: times new roman,new york,times,serif; background-color: transparent; font-style: normal;"><br></div><div style="color: rgb(0, 0, 0); font-size: 16px; font-family: times new roman,new york,times,serif; background-color: transparent; font-style: normal;">struct pedido comidas_precios(struct pedido comidas)<br>{<br> struct pedido {//estructura para lectura<br> int ref;<br> char comida[50];<br> float prec;<br>
}lectura; <br> <br> int a; <br> int encontrado=0; <br> lectura.ref=0;<br> //int com,lec; <br> <br> for(a=0;a<50;a++)<br> {<br> comidas.plato[a] = '\0'; <br> lectura.comida[a] ='\0';<br> }<br> system("cls"); <br> FILE *fc;//fc = fichero comidas<br> fc=fopen("C://c_files//proyecto//comidas.txt","ab+");<br> <br> if(fc==NULL)<br> {<br> printf("\nEl fichero no existe");<br>
}<br> else<br> {<br> printf("\nIntroduce la referencia de la comida: ");<br> scanf("%d",&lectura.ref);<br> fflush(stdin); <br> rewind(fc);//pone el fichero desde el principio<br> <br> printf("\n%d",lectura.ref);<br> <br> do<br> {<br> fread(&comidas,sizeof(struct pedido),1,fc);<br> if(lectura.ref ==
comidas.referencia)<br> { <br> encontrado = 1; <br> printf("\nSi"); <br> break; <br> }<br>
}while(!feof(fc));<br> <br> <br> if(encontrado==1)<br> { <br> fgets(comidas.plato,1,fc);<br> printf("\nReferencia: %d",comidas.referencia); <br> printf("\nComida: %s",comidas.plato);<br> printf("\nPrecio: %.2f",comidas.precio);<br> }<br>
else<br> {<br> comidas.referencia=lectura.ref;//<br> printf("\n%d",comidas.referencia);//<br> printf("\nNombre del plato: ");<br> gets(comidas.plato);<br> printf("\nIntroduce el precio de %s: ",comidas.plato);<br> scanf("%f",&comidas.precio);<br> fflush(stdin);<br>
<br> printf("\n%s",comidas.plato);<br> <br> }<br> fwrite(&comidas,sizeof(struct pedido),1,fc);<br> //fgets(comidas.plato,fc);<br> }<br> <br> fclose(fc); <br> getchar();<br>return comidas; <br>}<br><br></div></div></body></html>