1
« en: Martes 12 de Junio de 2007, 20:23 »
Lo primero de todo pedir disculpas, por el otro tema que abrí, y segundo haber si ahora podeis ayudarme a encontrar donde he cometido los errores.
He empezado a hacer el ejercicio que os había comentado basándome en otro ejercicio similar que hice hacce tiempo, pero no acaba de funcionar.
#include <stdio.h>
#include <string.h>
struct sstock
{
char codigo_producto [4];
char descripcion_producto [20];
int stock_actual;
float valor;
};
void entrar_stock(struct sstock astock[4])
{
int i;
for(i=0;i<4;i++)
{
printf("\n\nIntroduce el producto [%d]",i);
printf("\nCodigo_producto:"); scanf("%s",astock.codigo_producto);
printf("\nDescripcion_producto:"); scanf("%s",astock.descripcion_producto);
printf("\nStock_actual:"); scanf("%d",&astock.stock_actual);
printf("\nValor:"); scanf("%f",&astock.valor);
}
}
void buscar_stock(struct sstock astock[4], char *codigo_producto)
{
int i;
for(i=0;i<4;i++)
if (strcmp(astock.codigo_producto,codigo_producto)==0)
{
printf("\n\nProducto: [%d]",i);
printf("\nCodigo_producto: %s",astock.codigo_producto);
printf("\nDescripcion_producto: %s",astock.descripcion_producto);
printf("\nStock_actual: %d",astock.stock_actual);
printf("\nValor: %f",astock.valor);
}
}
void imp_stock(struct sstock astock[4])
{
int i;
for(i=0;i<4;i++)
{
printf("\n\nProducto: [%d]",i);
printf("\nCodigo_producto: %s",astock.codigo_producto);
printf("\nDescripcion_producto: %s",astock.descripcion_producto);
printf("\nStock_actual: %d",astock.stock_actual);
printf("\nValor: %f",astock.valor);
}
}
void ordenar_stock(struct sstock astock[4])
{
int i,j;
struct sstock tstock;
for(i=0;i<4-1;i++)
for(j=i+1;j<4;j++)
if (strcmp(astock.codigo_producto,astock[j].codigo_producto)>0)
{
strcpy(tstock.codigo_producto,astock.codigo_producto);
strcpy(tstock.descripcion_producto,astock.descripcion_producto);
tstock.stock_actual=astock.stock_actual;
tstock.valor=astock.valor;
strcpy(astock.codigo_producto,astock[j].codigo_producto);
strcpy(astock.descripcion_producto,astock[j].descripcion_producto);
astock.stock_actual=astock[j].stock_actual;
astock.valor=astock[j].valor;
strcpy(astock.codigo_producto,tstock.codigo_producto);
strcpy(astock.descripcion_producto,tstock.descripcion_producto);
astock.stock_actual=tstock.stock_actual;
astock.valor= tstock.valor;
}
}
main()
{
struct sstock astock[4];
int opcion;
char codigo_producto[4];
do
{
do
{
printf("\n 1- Entrar stock");
printf("\n 2- Buscar stock");
printf("\n 3- Listar stock");
printf("\n 4- Salir\n");
printf("Opcion:");
scanf("%d",&opcion);
} while (opcion<1 || opcion>4);
switch(opcion)
{
case 1: entrar_stock(astock);
break;
case 2:
printf("Introduce el codigo_producto a buscar:");
scanf("%s",codigo_producto);
buscar_stock(astock,codigo_producto);
getche();
break;
case 3:
imp_stock(astock);
ordenar_stock(astock);
break;
case 4: exit(1);
break;
}
getch();
} while (1);
}
El fallo es que escoja la opción del menú que escoja siempre me pide que introduzca los datos.
Una pregunta, como puedo guardar los productos en un fichero?