Vous êtes sur la page 1sur 4

#include <stdio.

h>
#include <stdlib.h>
#include <string.h>
int main(){
// variables //
int cont=0,menu,salir=0,aux,i,j,n,band=0,control=0,modifcar=0,aux_cantidad,a
ux_precio;
char aux_codigo[20],aux_nombre[20];
FILE *ARCHIVO;
struct TIENDA{
char NOMBRE[20];
char CODIGO[20];
int CANTIDAD;
float PRECIO;
float MONTO;
};
struct TIENDA ALMACEN[100];
do{
system("cls");
printf("1.Registrar datos en un archivo\n2.consultar un archivo\n3.modif
icar\n4.eliminar\n5.Mostrar de forma alfabetica");
printf("\n6.SALIR\n");
scanf("%d",&menu);
switch(menu){
case 1:
printf("Ingrese el nombre del electrodomestico: ");
scanf("%s",&ALMACEN[cont].NOMBRE);
printf("Ingrese el Codigo del electrodomestico: ");
scanf("%s",&ALMACEN[cont].CODIGO);
printf("Ingrese el CANTIDAD del electrodomestico: ");
scanf("%d",&ALMACEN[cont].CANTIDAD);
printf("Ingrese el PRECIO del electrodomestico: ");
scanf("%f",&ALMACEN[cont].PRECIO);
cont++;
ARCHIVO=fopen("productos_electricos.txt","a");
if(ARCHIVO==NULL){ printf("ERROR\n"); }else {
fprintf(ARCHIVO,"nombre: %s\n",ALMACEN[control].NOMBRE);
fprintf(ARCHIVO,"codigo: %s\n",ALMACEN[control].CODIGO);
fprintf(ARCHIVO,"cantidad: %d\n",ALMACEN[control].CANTIDAD);
fprintf(ARCHIVO,"precio: %f \n",ALMACEN[control].PRECIO);
fprintf(ARCHIVO,"monto: %f \n\n",(ALMACEN[control].PRECIO*ALMACEN[co
ntrol].CANTIDAD));
control++;
}
close(ARCHIVO);
break;
case 2:
printf("ingrese el codigo a buscar: ");
scanf("%s",&aux_codigo);
i=0;
band=0;

while(band==0 && i<cont){


if(strcmp(aux_codigo,ALMACEN[i].CODIGO) ==0){
band=1;
}else{i++;}
}
if(band==1){
printf("nombre: %s \ncodigo:%s \ncantidad: %d\nPrecio: %f \nMonto EN
TIENDA: %f\n",ALMACEN[i].NOMBRE,ALMACEN[i].CODIGO,ALMACEN[i].CANTIDAD,ALMACEN[i]
.PRECIO,ALMACEN[i].PRECIO*ALMACEN[i].CANTIDAD);
}
else{
printf("no encontrado");
}
system("pause");
break;
case 3:
printf("ingrese el codigo del articulo a modificar : ");
scanf("%s",aux_codigo);
i=0;
band=0;
while(i<cont && band==0){
if(strcmp(aux_codigo,ALMACEN[i].CODIGO)==0){
band=1;
printf("Ingrese el nombre del electrodomestico: ");
scanf("%s",&ALMACEN[i].NOMBRE);
printf("Ingrese el CANTIDAD del electrodomestico: ");
scanf("%d",&ALMACEN[i].CANTIDAD);
printf("Ingrese el PRECIO del electrodomestico: ");
scanf("%f",&ALMACEN[i].PRECIO);
printf("cambio realizado.\n");
}else{i++;band=0;printf("cambio no realizado.\n");}
}
system("pause");
break;
case 4:
printf("ingrese el codigo del articulo a eliminar : ");
scanf("%s",aux_codigo);
band=0;
i=0;
while(i<cont && band==0){
if(strcmp(aux_codigo,ALMACEN[i].CODIGO)==0){
aux=i;
band=1;
}else{i++;band=0;printf("no encontrado.\n");}
}
if(band==1){
for(i=aux;i<cont;i++){

strcpy(ALMACEN[i].NOMBRE,ALMACEN[i+1].NOMBRE);
strcpy(ALMACEN[i].CODIGO,ALMACEN[i+1].CODIGO);
}
for(i=aux;i<cont;i++){
ALMACEN[i].CANTIDAD=ALMACEN[i+1].CANTIDAD;
ALMACEN[i].PRECIO=ALMACEN[i+1].PRECIO;
}
cont--;
}
break;
case 5:
for(i=0;i<cont;i++){
for(j=i;j<cont;j++){
if(strcmp(ALMACEN[i].NOMBRE,ALMACEN[j].NOMBRE)>0){
strcpy(aux_nombre,ALMACEN[j].NOMBRE);
strcpy(ALMACEN[j].NOMBRE,ALMACEN[i].NOMBRE);
strcpy(ALMACEN[i].NOMBRE,aux_nombre);
strcpy(aux_codigo,ALMACEN[j].CODIGO);
strcpy(ALMACEN[j].CODIGO,ALMACEN[i].CODIGO);
strcpy(ALMACEN[i].CODIGO,aux_codigo);
aux=ALMACEN[j].CANTIDAD;
ALMACEN[j].CANTIDAD=ALMACEN[i].CANTIDAD;
ALMACEN[i].CANTIDAD=aux;
aux=ALMACEN[j].PRECIO;
ALMACEN[j].PRECIO=ALMACEN[i].PRECIO;
ALMACEN[i].PRECIO=aux;
}

}
}
for(i=0;i<cont;i++){
printf("nombre: %s \ncodigo:%s \ncantidad: %d\nPrecio: %f \nMonto EN
TIENDA: %f\n\n\n",ALMACEN[i].NOMBRE,ALMACEN[i].CODIGO,ALMACEN[i].CANTIDAD,ALMAC
EN[i].PRECIO,ALMACEN[i].PRECIO*ALMACEN[i].CANTIDAD);
}
system("pause");
break;
case 6: salir=1;
break;
}//SEGUN.
}while(salir==0);

Vous aimerez peut-être aussi