elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Estamos en la red social de Mastodon


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  me gustaria q me revisaran este programa en c++
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: me gustaria q me revisaran este programa en c++  (Leído 2,470 veces)
eduardo17445

Desconectado Desconectado

Mensajes: 162


Ver Perfil
me gustaria q me revisaran este programa en c++
« en: 21 Enero 2013, 15:28 pm »

//el programa debe llevar descripsion del producto numero oc monto oc descripcion coo y m piden ingresar datos de factura ingresar modificar
 imprimir revicion luego sumatoria total/*

#include <stdio.h>
#include <conio.h>
void menu();
void ingresarpro();
void listarpro();
void modificarpro();
void ingresarprov();
void listarprov();
void comprarcab();
void listarfacab();
void comprardet();
struct pro
{
   int codigo;
   char descripcion[30];
   float precio;
   long stock;
} producto;
struct prov
{
   int codigo;
   char nombre[30];
   char direccion[30];
   char telefono[9];
} proveedor;
 
struct fca
{
   int numero;
   char fecha[15];
   int codigoprv;
   float total;
} fccompra;
 
struct fde
{
   int numero;
   int codigop;
   float precio;
   int cantidad;
} fdcompra;
FILE *fp, *fpv, *fde, *fca;
main()
{
   menu();
   return 0;
}
void menu()
{
   char c;
 
   do
   {
       clrscr;
      cout<<"               menu      n";
      cout<<" [1] Ingreso de Productos n";
      cout<<" [2] Listado de Productos n";
      cout<<" [3] Modificaci¢n de Productos n";
      cout<<" [4] Ingreso de Proveedores n";
     cout<<" [5] Listado de Proveedores n";
      cout<<" [6] Factura de Compra Cabecera n";
      cout<<" [7] Lista de Facturas n";
      cout<<" [8] Factura de Compra Detalle nn";
      cout<<"
  • Salir ... n";
      cout<<" Digite la opci¢n .... ";
      getch();
      switch (c)
      {
    case 49: ingresarpro();
        break;
    case 50: listarpro();
        break;
    case 51: modificarpro();
        break;
    case 52: ingresarprov();
        break;
    case 53: listarprov();
        break;
    case 54: comprarcab();
        break;
    case 55: listarfacab();
        break;
    case 56: comprardet();
        break;
      }
   } while(c!=48);
}
void ingresarpro()
{
   float pre;
   int g;
   fp=fopen("C:\producto.dat","a+b");
   do
   {
      clrscr();
      cout<<"   PRODUCTOS   n";
      cout<<"--------------n";
      cout<<"Ingrese el c¢digo : ";
      cin>>"%d",&producto.codigo;
      cout<<"Ingrese la descripci¢n : ";
      cin>>"%s",producto.descripcion;
     cout<<"Precio : ";
   cin>>"%f",&pre;
      producto.precio=pre;
    cout<<"nDesea almacenar [1] si y [2] no ... ";
      cin>>"%d",&g;
      if(g==1)
    fwrite(&producto,sizeof(producto),1,fp);
     cout<<"Desea continuar [1] si y [2] no ... ";
      cin>>"%d",&g;
   } while(g==1);
   fclose(fp);
}
 
void listarpro(void)
{
   clrscr();
   cout<<"                  LISTADO DE PRODUCTOS     n";
  cout<<"------------------------------------------------------n";
  cout<<" C¢digo          Descripci¢n       Precio      Stock  n";
   fp=fopen("C:\producto.dat","r+b");
   while (!feof(fp))
   {
      fread(&producto,sizeof(producto),1,fp);
      if(!feof(fp))
cout<<("  %d   %30s  %7.2f    %d n",
    producto.codigo,producto.descripcion,producto.precio,producto.stock);
   }
   fclose(fp);
cout<<"------------------------------------------------------n";
cout<<" Presione cualquier tecla para continuar ... ";
   getch();
}
 
void modificarpro()
{
   int codb,incl=0;
   long curpos;
   clrscr();
   cout<<" INCREMENTA 10% PRECIO PRODUCTO  n";
   cout<<"---------------------------------n";
   fp=fopen("C:\producto.dat","rb+");
   cout<<"Ingrese el codigo a modificar : ";
   cin>>"%d",&codb;
   while(!feof(fp) && incl==0)
   {
     fread(&producto,sizeof(producto),1,fp);
     if(producto.codigo==codb)
     {
   curpos=ftell(fp);
   fseek(fp,curpos-sizeof(producto),SEEK_SET);
   producto.precio=producto.precio*1.1;
   fwrite(&producto,sizeof(producto),1,fp);
   incl=1;
     }
   }
   fclose(fp);
}
void ingresarprov(void)
{
   int g;
   fpv=fopen("c:\proveedor.dat","a+b");
   do
   {
      clrscr();
      cout<<" PROVEEDORES n";
      cout<<"-------------n";
      cout<<"C¢digo : ";
      cin>>"%d",&proveedor.codigo;
      cout<<"Nombre : ";
      cin>>"%s",&proveedor.nombre;
      cout<<"Direcci¢n : ";
      cin>>"%s",&proveedor.direccion;
      cout<<"Tel‚fono : ");
    cin>>"%s",&proveedor.telefono;
      cout<<"nDesea almacenar [1] si y [2] no ....";
      cin>>"%d",&g;
      if(g==1)
    fwrite(&proveedor,sizeof(proveedor),1,fpv);
      cout<<"Desea continuar [1] si y [2] no ....";
      cin>>"%d",&g;
   } while(g==1);
   fclose(fpv);
}
 
void listarprov()
{
   clrscr();
   cout<<"                      LISTADO DE PROVEEDORES     n";
   cout<<"-------------------------------------------------------------------------------n";
   cout<<" C¢digo                Nombre                Direcci¢n              T‚lefono n";
   fpv=fopen("c:\proveedor.dat","r+b");
   while (!feof(fpv))
   {
      fread(&proveedor,sizeof(proveedor),1,fpv);
      if(!feof(fpv))
    cout<<"     %d %-30s %-30s %-9s n",
    proveedor.codigo,proveedor.nombre,proveedor.direccion,proveedor.telefono);
   }
   fclose(fpv);
   cout<<"-------------------------------------------------------------------------------n";
   cout<<" Presione cualquier tecla para continuar ... ";
   getche();
}
 
vvoid comprarcab()
{
   int ind=0,c;
 
   clrscr();
   cout<<"     FACTURA DE COMPRA     n";
   cout<<"---------------------------n";
   fca=fopen("c:\fccabece.dat","a+b");
   cout<<" Numero : ";
   cin>>"%d",&fccompra.numero;
   cout<<" Fecha : ";
   cin>>"%s",&fccompra.fecha;
   do
   {
      fpv=fopen("c:\provee.dat","a+b");
      cout<<" Codigo Proveedor : ";
      cin>>"%d",&fccompra.codigoprv;
      while (!feof(fpv) && ind==0)
      {
    fread(&proveedor,sizeof(proveedor),1,fpv);
    if(proveedor.codigo==fccompra.codigoprv)
    {
       cout<<"n Nombre : %s"<<proveedor.nombre;
       ind=1;
    }
      }
      if (ind==0)
    cout<<"n Codigo no existe n";
      fclose(fpv);
   } while (ind!=1);
   cout<<"n Datos correctos 1 si o 2 no ... ";
   cin>>"%d",&c;
   if (c==1)
      fwrite(&fccompra,sizeof(fccompra),1,fca);
   fclose(fca);
}
 
void listarfacab(void)
{
   clrscr();
   cout<<"                          LISTADO DE FACTURAS     n";
   cout<<"-------------------------------------------------------------------------------n";
   cout<<" N£mero       Fecha           Proveedor          T‚lefono         Total        n";
   fca=fopen("c:\fccabece.dat","r+b");
   while (!feof(fca))
   {
      fread(&fccompra,sizeof(fccompra),1,fca);
      fpv=fopen("c:\provee.dat","a+b");
      while (!feof(fpv))
      {
    fread(&proveedor,sizeof(proveedor),1,fpv);
    if(fccompra.codigoprv==proveedor.codigo)
    {
       if((!feof(fca)) && (!feof(fpv)))
          cout<<"     %d     %-10s    %-30s %-9s %f n",fccompra.numero,fccompra.fecha,proveedor.nombre,proveedor.telefono,fccompra.total;
    }
      }
      fclose(fpv);
   }
   fclose(fca);
   cout<<"-------------------------------------------------------------------------------n";
  cout<<" Presione cualquier tecla para continuar ... ";
   getche();
}
 
void comprardet(void)
{
   int ind=0,c;
   float total,totalcab=0;
   long curpos;
 
   clrscr();
   cout<<"    FACTURA COMPRA DETALLE  n";
   cout<<"-----------------------------n";
   fde=fopen("c:\fcdetale.dat","a+b");
   do
   {
      cout<<" Numero : ";
      cin>>"%d",&fdcompra.numero;
      fca=fopen("c:\fccabece.dat","a+b");
      while (!feof(fca) && ind==0)
      {
    fread(&fccompra,sizeof(fccompra),1,fca);
    if(fccompra.numero==fdcompra.numero)
    {
       cout<<"n Fecha : %s",fccompra.fecha;
       ind=1;
    }
      }
      if (ind==0)
    cout<<"n Cabecera no existe n";
      fclose(fca);
   } while (ind!=1);
   do
   {
      ind=0;
      do
      {
    cout<<("n Codigo Producto : ");
    cin>>"%d",&fdcompra.codigop;
    fp=fopen("c:\producto.dat","a+b");
    while (!feof(fp) && ind==0)
    {
       fread(&producto,sizeof(producto),1,fp);
       if(fdcompra.codigop==producto.codigo)
       {
          cout<<(" Descripci¢n : %-30s n",producto.descripcion);
          cout<<(" Precio : %f n",producto.precio);
          fdcompra.precio=producto.precio;
          ind=1;
       }
    }
    if (ind==0)
       cout<<("n Producto no existe n");
    fclose(fp);
      } while (ind!=1);
      cout<<(" Cantidad : ");
      cin>>("%d",&fdcompra.cantidad);
      total=fdcompra.cantidad*fdcompra.precio;
      totalcab=totalcab+total;
      cout<<(" Total : %7.2f ",total);
      cout<<(" Total Factura : %f ",totalcab);
     cout<<("n Datos correctos 1 si o 2 no ... ");
     cin>>("%d",&c);
      if (c==1)
    fwrite(&fdcompra,sizeof(fdcompra),1,fde);
      cout<<(" Desea continuar 1 si o 2 no ... ");
      cin>>("%d",&c);
   } while (c!=2);
   fclose(fde);
 
   ind=0;
   fca=fopen("c:\fccabece.dat","rb+");
   while(!feof(fca) && ind==0)
   {
     fread(&fccompra,sizeof(fccompra),1,fca);
     if(fccompra.numero==fdcompra.numero)
     {
   curpos=ftell(fca);
   fseek(fca,curpos-sizeof(fccompra),SEEK_SET);
   fccompra.total=totalcab;
   fwrite(&fccompra,sizeof(fccompra),1,fca);
   ind=1;
     }
   }
   fclose (fde);
}



En línea

durasno


Desconectado Desconectado

Mensajes: 373


Ver Perfil
Re: me gustaria q me revisaran este programa en c++
« Respuesta #1 en: 22 Enero 2013, 04:13 am »

Si el codigo anda sin problemas entonces dejalo asi, la optimizacion la ganas con el tiempo


Saludos

PD: usa la geshi para poner codigo, asi la gente tiene mas ganas de verlo


En línea

Ahorrate una pregunta, lee el man
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines