como podria hacer este programa e c++

Iniciado por eduardo17445, 20 Enero 2013, 22:03 PM

0 Miembros y 1 Visitante están viendo este tema.

eduardo17445

programa de archivo que lea un producto descripcion numero oc monto oc debo ingresar datos de la factura imprimir luego suma total

dato000

solo necesitas crear unas variables locales y guardarlas, seria más comodo bien hecho realizarlo con estructuras y lo imprimes todo desde una subclase sin retorno.

Que tienes hecho, puede hacerse de la forma facil tambien, unas cuantas variables asignadas y mostrarlas rapidamente en pantalla.

No hacemos tareas.



eduardo17445

lo que pasa es q no entendi bien la clase m lo podrian hacer explicado

dato000

De que era la clase, en fin, busca a paueky en youtube, él explica de una forma genial todo lo de C++. Empieza desde lo básico hasta cosas realmente asombrosas.



eduardo17445

//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();

dato000

#5
Viejo tienes un caos de codigo, estas mezclando elementos de c y c+, que es lo que necesitas que no lo tengo muy claro.

En que codigo?

Necesitas implementar funciones, parece que lo necesitas para C, pero estas usando sentencias en C++ que no cuajan ahi, y bueno, yo uso linux por lo que digamos, conio.h no funciona ahi, total es una libreria inutil, y total no la estas usando aqui.

Dime rapidamente en que lenguaje lo necesitas y te tengo lista la función imprimir, veo que en este programa que dejas estas usando estructuras y demás, lo cual parece ser bastante avanzado, lo hiciste tu o lo encontraste así, de todas maneras quedo muy mal hecho, hay que seguir intentando, necesitas ordenar las sentencias.

Oye viejo revisando el código hay muchos elementos que son demasiado avanzados para ti...y no necesitas tanto, eso solo te enreda más, de verdad te pidideron todo eso, si es así debes estudiar, porque lo que hay ahi es muy avanzado y dices que ni entiendes el paso por valor o referencia a funciones, que son cosas muy faciles, viejo, dime si este es el ejercicio que necesitas o es como lo que mencionabas al principio, solo recibir unos cuantos datos, sumarlos e imprimirlos en pantalla, eso me suena más razonable, porque si es lo otro, dejame decirte que debes abrir un fuckin libro y asistir a clases.