BASE DE DATOS: EJERCICIO 1


Ejercicio de archivos Numero 3


En la tienda el pollo fresco, se venden solo tres tipos de presas  y la información se registra en la siguiente estructura:

struct pollo{
        char fecha[8];   //fecha de la venta
        int libras;           //cantidad de libras vendidas por tipo de presa
        char tipopresa;   //Tipo de presa 1=perniles, 2=pechugas,3=alas
        float valorlibra;   //Valor por libra según el tipo de presa vendida
};

En cada venta sólo se puede registrar un solo tipo de presa.

El programa debe realizar lo siguiente:

1.     Capturar la venta
2.     Calcular el valor vendido por tipo de presa
3.     Calcular el promedio de todas las ventas
4.     Mostrar el tipo de presa más vendido



#include "stdio.h"
#include "conio.h"


struct pollo
{
  char fecha[8];
  int libras;
  float tipopresa;
  float valorlibra;
};
pollo art;


FILE *presa;

int acu;
float suma, prom;
int opc;
int acu1, acu2, acu3;


captura()            /*creamos la funcion captura*/
{
        clrscr();
        presa=fopen("presa.txt","a");
        gotoxy(26,3);printf("!!!!!!! VENTA !!!!!!!\n");
        gotoxy(31,6);printf("Fecha de la venta:\n");
        gotoxy(31,7);scanf("%d",&art.fecha);
        gotoxy(31,8);printf("cantidad x libras:\n");
        gotoxy(31,9);scanf("%d",&art.libras);
        gotoxy(31,10);printf("tipo de presa:\n");
        gotoxy(31,11);printf("1=Perniles; 2=Pechugas; 3=Alas:\n");
        gotoxy(31,12);scanf("%f",&art.tipopresa);
        gotoxy(31,13);printf("valor x libra:\n");
        gotoxy(31,14);scanf("%f",&art.valorlibra);
        acu+=art.libras;
        suma+=art.valorlibra;
        prom=suma/acu;
        getch();
        fwrite(&art,sizeof(struct pollo),1,presa);
        fclose(presa);
return(0);
}

valorven()   /*creamos la funcion valor vendido*/
{
float total1, total2, total3;
float suma1, suma2, suma3=0;
int acu1, acu2, acu3=0;

        presa=fopen("presa.txt","r");
        fread(&art,sizeof(struct pollo),1,presa);
        while (!feof(presa))
        {
             if (art.tipopresa=1)
               {
                total1=art.valorlibra*art.libras;
                suma1=suma1+total1;
                acu1=acu1+1;
                clrscr();
                gotoxy(26,3);printf("Venta total de perniles\n");
                gotoxy(26,6);printf("venta: %f\n",suma1);
                getch();
               }
             if (art.tipopresa=2)
               {
                total2=art.valorlibra*art.libras;
                suma2=suma2+total2;
                acu2=acu2+1;
                clrscr();
                gotoxy(26,3);printf("Venta total de perchugas\n");
                gotoxy(26,6);printf("venta: %d\n",suma2);
                getch();
               }
             if (art.tipopresa=3)
               {
                total3=art.valorlibra*art.libras;
                suma3=suma3+total3;
                acu3=acu3+1;
                clrscr();
                gotoxy(26,3);printf("Venta total de alas\n");
                gotoxy(26,6);printf("venta: %d\n",suma3);
                getch();
               }
               fread(&art,sizeof(struct pollo),1,presa);
        }
    fclose(presa);
 }

proven()      /*creamos la funcion calculos*/
 {
        clrscr();


        gotoxy(26,3);printf("El promedio de las ventas\n",prom);
        getch();
 return(0);
 }

presaven()      /*creamos la funcion de la presa mas vendida*/
 {
        clrscr();
        if ((acu1>acu2) && (acu1>acu3))
             gotoxy(26,3);printf("La presa mas vendida es perniles\n");

        if ((acu2>acu1)  &&  (acu2>acu3))
             gotoxy(26,3);printf("La presa mas vendida es pechugas\n");

        if ((acu3>acu2)  &&  (acu3>acu1))
             gotoxy(26,3);printf("La presa mas vendida es alas\n");

        getch();
 return(0);
 }

 menu()    /*creamos la funcion menu*/
 {
        opc=0;
        while (opc!=5)
             {
                clrscr();
                gotoxy(26,3);printf("!!!!!! Menu !!!!!!\n");
                gotoxy(28,5);printf("1. Venta\n");
                gotoxy(28,6);printf("2. Valor vendido\n");
                gotoxy(28,7);printf("3. Promedio de ventas\n");
                gotoxy(28,8);printf("4. Presa mas vendida\n");
                gotoxy(28,9);printf("5. salir\n");
                gotoxy(27,11);printf("Digite su opción\n");
                gotoxy(34,12);scanf("%d",&opc);
                switch(opc)
                        {
                               case 1:captura();
                               break;
                               case 2:valorven();
                                break;
                               case 3:proven();
                               break;
                               case 4:presaven();
                               break;
                        }

                }
 return(0);
 }
        
 main()
 {
        clrscr();
        menu();
 return(0);
 }


Publicar un comentario

0 Comentarios