DaniWeb IT Discussion Community

DaniWeb IT Discussion Community (http://www.daniweb.com/forums/index.php)
-   C++ (http://www.daniweb.com/forums/forum8.html)
-   -   C2676 and C2228 errors (http://www.daniweb.com/forums/thread204347.html)

gispe Jul 15th, 2009 6:02 pm
C2676 and C2228 errors
 
hi all,
i've written a program, n almost works, it just gives me this errors and dont know how to solve them :$
thanks for the help in advanced
:D




1>Compiling...
1>VersionFinalTpProg1.cpp
1>e:\esba\2cuat\programacion1\tpfinalaentregar\versionfinaltpprog1\versionfinaltpprog1\versionfinaltpprog1.cpp(199) : error C2676: binary '[' : 'art' does not define this operator or a conversion to a type acceptable to the predefined operator
1>e:\esba\2cuat\programacion1\tpfinalaentregar\versionfinaltpprog1\versionfinaltpprog1\versionfinaltpprog1.cpp(199) : error C2228: left of '.name' must have class/struct/union
1>e:\esba\2cuat\programacion1\tpfinalaentregar\versionfinaltpprog1\versionfinaltpprog1\versionfinaltpprog1.cpp(199) : fatal error C1903: unable to recover from previous error(s); stopping compilation
1>Build log was saved at "file://e:\ESBA\2Cuat\PROGRAMACION1\TPFinalAEntregar\VersionFinalTpProg1\VersionFinalTpProg1\Debug\BuildLog.htm"
1>VersionFinalTpProg1 - 3 error(s), 0 warning(s)
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========




// VersionFinalTpProg1.cpp : Defines the entry point for the console application.
//

#include "stdafx.h"
#include <cstdlib>
#include <iostream>

using namespace std;


struct art
{
      char name [50];
      char branch [50];
      float PrecioVenta;
      float PrecioCosto; 
      int stock;   
             
      void load_art(float &price, char name[], char branch[], float &PrecioVenta, float &PrecioCosto, int &stock);
      void CambiarStock(int &stock);
      void ConsultarPrecioCosto(char name[], float PrecioCosto);
      void ConsultarPrecioVenta(char name[], float PrecioVenta);   
      void mostrar(char name[], float price, char branch[], float PrecioVenta, float PrecioCosto, int stock); 
};


struct StockGeneral
{
      art datos[100];     

      char encontrado;
      int pos;
      char NombreBuscado[100];
     
      StockGeneral();
      void BuscarStock(char NombreBuscado[], int &pos, char &encontrado);
      void CargarStockGeneral(float &price, char name[], char branch[], float &PrecioVenta, float &PrecioCosto, int &stock);
      void CompraArticulos();
      void MostrarStock();
};


struct client
{
      char name[50];
      int id;
      char domicilio [100];
      float precio_acumulado;
     
      void CargarDatos(int &id, char nombre[], char domicilio[], float &precio_acumulado);
      void MostrarDatos(int id, char nombre[], char domicilio[], float precio_acumulado);
      void ConsultarSaldo();
      void ActualizarSaldo(int id, float &precio_acumulado);
};


struct total_clients
{
    client datos[100];
    int tope;
   
    void CargarTotalClientes();
    void MostrarTotalClientes();
    void BuscarTotalClientes(char NombreBuscado[], int &pos, bool &encontrado);
};



struct venta
{
      void CargarFactura(char name[], char branch[], int &stock, float &totalfactura);
      void MostrarFactura (char name[], char branch[], int &stock, float totalfactura);
};




//----------------------------------
//
//          ART - FUNCIONES
//
//----------------------------------

void art::load_art(float &price, char name[], char branch[], float &PrecioVenta, float &PrecioCosto, int &stock)
{
   
    cout << " ------------------------------------- \n\n";   
    cout << "      CARGA DATOS DEL ARTICULO: \n";
    cout << " ------------------------------------- \n\n";
   
    cout<< " Nombre: ";
    cin.getline(name, 50);
   
    cout << " Marca: ";
    cin.getline(branch, 50);
   
    cout << " Precio Venta: ";
    cin >> PrecioVenta;
   
    cout << " Precio Costo: ";
    cin >> PrecioCosto;
   
    cout << " Stock: ";
    cin >> stock; 
}


void art::CambiarStock (int &stock)
{   
    cout << " Ingrese el nombre del articulo: ";
    cin.getline(name, 50);
   
    cout << " Ingresar nuevo stock: ";
    cin >> stock;
}


void art::ConsultarPrecioCosto (char name[], float PrecioCosto)
{
    art article;
   
    cout << " Ingrese el nombre del articulo: ";
    cin.getline(article.name, 50);
   
    cout << " El precio es: " << article.PrecioCosto;
}


void art::ConsultarPrecioVenta (char name[], float PrecioVenta)
{   
    cout << " Ingrese el nombre del articulo: ";
    cin.getline(name, 50);
   
    cout << " El precio es: " << PrecioVenta;
}


void art::mostrar(char name[], float price, char branch[], float PrecioVenta, float PrecioCosto, int stock)
{
    art article;
   
    cout << " -------------------------------------------------------------- \n";
    cout << " -------------------------- ARTICULO --------------------------";
    cout << " -- Nombre: " << article.name << "\n";
    cout << " -- Marca: " << article.branch << "\n";
    cout << " -- Precio de Venta: " << article.PrecioVenta << "\n";
    cout << " -- Precio de Costo: " << article.PrecioCosto << "\n";
    cout << " -- Stock: " << article.stock << "\n";
    cout << " -------------------------------------------------------------- \n";   
}



//----------------------------------
//
//        STOCK - FUNCIONES
//
//----------------------------------

StockGeneral::StockGeneral()
{
        int tope[100];
     
       
        for (int i =0; i <100; i++)
            tope[i]=0;
}



void StockGeneral::CargarStockGeneral(float &price, char name[], char branch[], float &PrecioVenta, float &PrecioCosto, int &stock)
{   
      char rta;
      int tope;
     
    while (tope<100)
    {
            do {
                                datos[pos].load_art(price, name, branch, PrecioVenta, PrecioCosto, stock);
                tope++;
                cout << " Cargar otro? S/N?";
                cin >> rta;
                cin.ignore();
            } while(rta != 'n' && rta!='N');
           
            system("CLS");
    }
}


void StockGeneral::BuscarStock(char NombreBuscado[],int &pos, char &encontrado)
{   
    encontrado=0;
    pos=0;
    int tope=100;
    int i=0;
        art article;
   
        while ((pos < tope) && (strcmp(NombreBuscado, article[pos].name)!=0))
    {
          pos++;
         
          if (pos<tope)
              encontrado=1;
          else
                pos=1;
    }
}


float StockGeneral::CambiarPrecioVenta (float PrecioVenta)
{
    char encontrado;
   
    cout << " Ingrese el nombre del articulo: ";
    cin.getline(art.name, 50);
   
    StockGeneral.BuscarStock(NombreBuscado[], pos, encontrado);
   
    if (encontrado==0)
    {
      cout << " Ingresar precio de costo del articulo: ";
      cin >> PrecioVenta;
    }
    else if (encontrado == 1)
      cout << " No se puede cambiar el precio. \n El articulo ingresado no existe. \n\n";
     
    return PrecioVenta;
}


void StockGeneral::CompraArticulos()
{
    char NombreBuscado[100], encontrado;
    int stockaux, pos;
   
    cout << " Escribir nombre de articulo a cambiar stock: ";
    cin.getline(NombreBuscado, 100);
   
    StockGeneral.BuscarStock(NombreBuscado[], pos, encontrado);

    if (encontrado==0)
    {
      cout << " Ingresar stock del articulo a comprar: ";
      cin >> stockaux;
     
      datos[pos].stock += stockaux;
     
      cout << " Se actualizo el stock.-";
    }
    else if (encontrado == 1)
      cout << " No se puede cambiar el precio. \n El articulo ingresado no existe. \n\n";   
   
}


void StockGeneral::MostrarStock()
{
    art articulo;
   
    cout << " ------------------------------------------------------------------- \n";
    cout << " -------------------------- STOCK GENERAL -------------------------- \n";
    cout << " ------------------------------------------------------------------- \n";   
   
    for (int i=0; i <100; i++)     
        articulo.mostrar(name[], branch[], PrecioVenta, PrecioCosto, stock);
   
    cout << " ------------------------------------------------------------------- \n";
    cout << " ------------------------------------------------------------------- \n";
    cout << " ------------------------------------------------------------------- \n";     
}




//----------------------------------
//
//        CLIENTE - FUNCIONES
//
//----------------------------------


void client::CargarDatos(int &id, char nombre[], char domicilio[], float &precio_acumulado)
{
    client cliente;
   
    cout << "    INGRESO DE DATOS DEL CLIENTE: \n";
    cout << " ------------------------------------- \n\n";
   
    cout << " Codigo: ";
    cin >> cliente.id;
   
    cout << " Nombre: ";
    cin.getline (cliente.name,50);
   
    cout << " Domicilio: ";
    cin.getline (cliente.domicilio,100);
   
    cout << " Saldo Acumulado: ";
    cin >> cliente.precio_acumulado;   
}


void client::MostrarDatos(int id, char nombre[], char domicilio[], float precio_acumulado)
{
    client cliente;
   
    cout << "          -+-+-+- DATOS DEL CLIENTE -+-+-+- \n";
    cout << " ---------------------------------------------------- \n\n\n";
    cout << " --- ID:" << cliente.id << " \n";
    cout << " --- Nombre: " << cliente.name << " \n";
    cout << " --- Domicilio: " << cliente.domicilio << "\n";
    cout << " --- Saldo: " << cliente.precio_acumulado << "\n";
    cout << " ---------------------------------------------------- \n\n\n";
}


void client::ConsultarSaldo()
{
    client cliente;
   
    cout << " Ingrese ID del cliente: ";
    cin >> cliente.id;
   
    cout << " El saldo es " << cliente.precio_acumulado << " \n";
}



void client::ActualizarSaldo(int id, float &precio_acumulado)
{
    client cliente;
    float nuevosaldo;   
   
    cout << " Ingresar ID del cliente: ";
    cin >> cliente.id;
   
    cout << " Ingrese nuevo Saldo: ";
    cin >> nuevosaldo;
   
    cliente.precio_acumulado = nuevosaldo;
}











//----------------------------------
//          TOTAL DE CLIENTES
//             
//            FUNCIONES
//----------------------------------


void total_clients::CargarTotalClientes()
{
    char rta;
   
    while (tope<100)
    {
            do {
                datos[tope].CargarDatos();
                tope++;
                cout << " Cargar otro? S/N?";
                cin >> rta;
                cin.ignore();
            } while(rta != 'n' && rta!='N');
           
            system("CLS");
    }
}


void total_clients::MostrarTotalClientes()
{
    client cliente;
    int id;
    char name [50], domicilio [100];
    float precio_acumulado;
   
    cout << "        DETALLE DE TODOS LOS CLIENTES: \n";
    cout << " ------------------------------------------------- \n\n";
          cliente.MostrarDatos(id, name, domicilio, precio_acumulado);
    cout << " ------------------------------------------------- \n\n";
}


void total_clients::BuscarTotalClientes(char NombreBuscado[],int &pos, char &encontrado)
{   
    encontrado=0;
    pos=0;
    int tope=100;
   
    while ((pos <tope) && (strcmp(NombreBuscado, article[pos].name)!=0))
    {
          pos++;
         
          if (pos<tope)
              encontrado=true;
          else
                pos=1;
    }
}







//----------------------------------
//              FACTURAS
//             
//            FUNCIONES
//----------------------------------


void venta::CargarFactura(char name[], char branch[], int &stock, float totalfactura)
{
    art articulo;
    int stockfactura;
    float totalfactura;
   
    cout << " Ingresar nombre de articulo a vender: ";
    cin.getline(articulo.name, 50);
   
    StockGeneral.BuscarStock(NombreBuscado, pos, encontrado);
   
    if (encontrado == 1)
    {
                    cout << " Ingresar marca: ";
                    cin.getline(articulo.branch,50);
                   
                    cout << " Ingresar stock: ";
                    cin >> stockfactura;
                   
                    while (stockfactura > articulo.stock)
                    {
                                    cout << " No se puede vender esa cantidad. \n Ingresar stock correcto: ";
                                    cin >> stockfactura;
                    }
    }
    articulo.stock = articulo.stock - stockfactura;
   
    totalfactura= stockfactura*articulo.PrecioVenta;
   
    cout << " Ingresar nombre de cliente: ";
    cin.getline (client.name, 50);
   
    total_clients.BuscarCliente(NombreBuscado, pos, encontrado);
   
    if (encontrado == 1)
    {
        client.precio_acumulado = client.precio_acumulado - totalfactura;
       
        if (client.precio_acumulado < 0)
          cout << " No se puede realizar esta venta.";
    }
    else if (encontrado ==0)
          cout << " El cliente ingresado no existe. \n";   
   
}



void venta::MostrarFactura(char name[], char branch[], int &stock, float totalfactura)
{
    cout << " ---------------------------------------------------- ";
    cout << " -- Articulo: " << art.name << "\n";
    cout << " -- Marca: " << art.branch << "\n";
    cout << " -- Stock vendido: " << art.stock << "\n\n";
    cout << " -- Cliente: " << client.name << "\n";
    cout << " -- Saldo actual del cliente: " << client.precio_acumulado << "\n\n\n";
    cout << " ---------- TOTAL FACTURA: -- $" << totalfactura << "\n";
}





//----------------------------------
//
//              MAIN
//
//----------------------------------


int _tmain(int argc, _TCHAR* argv[])
{
            art articulos;
    StockGeneral StockTotal;
    client clientes;
    total_clients todoslosclientes;
    venta factura;
   
    char choice;

    cout << " ------------------------------------------- \n";   
    cout << " -------------- ELEGIR ACCION -------------- \n";
    cout << " ------------------------------------------- \n\n";
   
    cout << "    -1- Cargar articulos. \n";
    cout << "    -2- Consultar Precio de Costo. \n";
    cout << "    -3- Consultar Precio de Venta. \n";
    cout << "    -4- Cambiar Stock. \n";
    cout << "    -5- Mostrar articulos. \n\n";
    cout << "    -6- Buscar un articulo. \n";
    cout << "    -7- Comprar articulos. \n";
    cout << "    -8- Mostrar StockGeneral. \n\n";
    cout << "    -9- Cargar datos del cliente. \n";
    cout << "    -a- Consultar Saldo. \n";
    cout << "    -b- Actualizar saldo. \n";
    cout << "    -c- Buscar Cliente. \n";
    cout << "    -d- Mostrar clientes. \n\n";
    cout << "    -h- Cargar datos para factura. \n";
    cout << "    -i- Mostrar factura. \n\n";
    cout << "  -0- Salir. \n\n";
    cout << " Elegiste: ";
    cin >> choice;
   
    cout << " ------------------------------------------- \n\n";
    cout << " ------------------------------------------- \n\n";
    cout << " ------------------------------------------- \n\n";
   
    switch (choice)
    {
          case '1':
                StockTotal.CargarStockGeneral();
          break;
         
          case '2':
                articulo.consultarprecosto();
          break;
         
          case '3':
                articulo.consultarprevta();
          break;
         
          case '4':
                articulo.cambiarcosto();
          break;         
         
          case '5':
                StockTotal.MostrarStock();
          break;         
         
          case '6':
                StockTotal.BuscarStock(NombreBuscado[], pos, encontrado);
          break;         
         
          case '7':
                StockTotal.CompraArticulos();
          break;         
         
          case '8':
                StockTotal.MostrarStock();
          break;
         
          case '9':
                todoslosclientes.CargarTotalClientes();
          break;
         
          case 'a': case 'A':
                clientes.ConsultarSaldo();
          break;
         
          case 'b':case 'B':
                clientes.ActualizarSaldo();
          break;
         
          case 'c': case 'C':
                todoslosclientes.BuscarTotalClientes();
          break;                               
         
          case 'd': case 'D':
                todoslosclientes.MostrarTotalClientes();
          break;
         
          case 'h': case 'H':
                factura.CargarFactura();
          break;
         
          case 'i': case 'I':
                factura.MostrarFactura();
          break;
         
          case'0':
                  cout << " ---Fin del programa--- \n";                                                             
    } 
 
    system("PAUSE");
    return 0;
}

Ancient Dragon Jul 15th, 2009 6:25 pm
Re: C2676 and C2228 errors
 
>> while ((pos < tope) && (strcmp(NombreBuscado, article[pos].name)!=0))

variable article is not an array. Change
article[pos].name)!=0
to
article.name)!=0

gispe Jul 20th, 2009 8:30 am
Re: C2676 and C2228 errors
 
Im back, with same code. But this time I tested the code with dev c++, and now its givin me a lot more errors than with microsoft c++. Cant paste the errors. :(

Thanks in advanced


#include <cstdlib>
#include <iostream>

using namespace std;

struct art
{
      char name [50];
      char branch [50];
      float PrecioVenta;
      float PrecioCosto; 
      int stock;   
             
      void load_art(float &price, char name, char branch, float &PrecioVenta, float &PrecioCosto, int &stock);
      void CambiarStock(int &stock);
      void ConsultarPrecioCosto(char name[], float PrecioCosto);
      void ConsultarPrecioVenta(char name[], float PrecioVenta);   
      void mostrar(char name[], float price, char branch[], float PrecioVenta, float PrecioCosto, int stock); 
};


struct StockGeneral
{
      art datos[100];     

      char encontrado;
      int pos;
      char NombreBuscado[100];
     
      StockGeneral();
      void BuscarStock(char NombreBuscado[], int &pos, char &encontrado);
      void CargarStockGeneral();
      void CompraArticulos();
      void MostrarStock();
};


struct client
{
      char name[50];
      int id;
      char domicilio [100];
      float precio_acumulado;
     
      void CargarDatos(int &id, char nombre[], char domicilio[], float &precio_acumulado);
      void MostrarDatos(int id, char nombre[], char domicilio[], float precio_acumulado);
      void ConsultarSaldo();
      void ActualizarSaldo(int id, float &precio_acumulado);
};


struct total_clients
{
    client datos[100];
    int tope;
   
    void CargarTotalClientes();
    void MostrarTotalClientes();
    void BuscarTotalClientes(char NombreBuscado[],int &pos, char &encontrado);
};



struct venta
{
      void CargarFactura(char name[], char branch[], int &stock, float &totalfactura);
      void MostrarFactura (char name[], char branch[], int &stock, float totalfactura);
}




//----------------------------------
//
//          ART - FUNCIONES
//
//----------------------------------

void art::load_art(float &price, char name, char branch, float &PrecioVenta, float &PrecioCosto, int &stock)
{
    art article;
   
    cout << " ------------------------------------- \n\n";   
    cout << "      CARGA DATOS DEL ARTICULO: \n";
    cout << " ------------------------------------- \n\n";
   
    cout<< " Nombre: ";
    cin.getline(article.name, 50);
   
    cout << " Marca: ";
    cin.getline(article.branch, 50);
   
    cout << " Precio Venta: ";
    cin >> article.PrecioVenta;
   
    cout << " Precio Costo: ";
    cin >> article.PrecioCosto;
   
    cout << " Stock: ";
    cin >> article.stock; 
}


void art::CambiarStock (int &stock)
{   
    cout << " Ingrese el nombre del articulo: ";
    cin.getline(article.name, 50);
   
    cout << " Ingresar nuevo stock: ";
    cin >> article.stock;
}


void art::ConsultarPrecioCosto (char name[], float PrecioCosto)
{
    art article;
   
    cout << " Ingrese el nombre del articulo: ";
    cin.getline(article.name, 50);
   
    cout << " El precio es: " << article.PrecioCosto;
}


void art::ConsultarPrecioVenta (char name[], float PrecioVenta)
{   
    art article;
   
    cout << " Ingrese el nombre del articulo: ";
    cin.getline(article.name, 50);
   
    cout << " El precio es: " << article.PrecioVenta;
}


void art::mostrar(char name[], float price, char branch[], float PrecioVenta, float PrecioCosto, int stock)
{
    art article;
   
    cout << " -------------------------------------------------------------- \n";
    cout << " -------------------------- ARTICULO --------------------------";
    cout << " -- Nombre: " << article.name << "\n";
    cout << " -- Marca: " << article.branch << "\n";
    cout << " -- Precio de Venta: " << article.PrecioVenta << "\n"; //EXPECTED ; BEFORE "ARTICLE"
    cout << " -- Precio de Costo: " << article.PrecioCosto << "\n";
    cout << " -- Stock: " << article.stock << "\n"; // EPECTED ; BEFORE "ARTICLE"
    cout << " -------------------------------------------------------------- \n";   
}



//----------------------------------
//
//        STOCK - FUNCIONES
//
//----------------------------------

StockGeneral::StockGeneral()
{
        int tope[100];
     
       
        for (int i =0; i <100; i++)
            tope[i]=0;
}



void StockGeneral::CargarStockGeneral()
{   
      char rta;
      int tope;
     
    while (tope<100)
    {
            do {
                datos[pos].load_art(id, nombre[], domicilio[], precio_acumulado);
                tope++;
                cout << " Cargar otro? S/N?";
                cin >> rta;
                cin.ignore();
            } while(rta != 'n' && rta!='N');
           
            system("CLS");
    }
}


void StockGeneral::BuscarStock(char NombreBuscado[],int &pos, char &encontrado)
{   
    encontrado=0;
    pos=0;
    int tope=100;
    int i=0;
   
    while ((pos < tope) && (strcmp(NombreBuscado, article.name)!=0))
    {
          pos++;
         
          if (pos<tope)
              encontrado=1;
          else
                pos=1;
    }
}


float StockGeneral::CambiarPrecioVenta (float PrecioVenta)
{
    char encontrado;
   
    cout << " Ingrese el nombre del articulo: ";
    cin.getline(art.name, 50);
   
    StockGeneral.BuscarStock(NombreBuscado[], pos, encontrado);
   
    if (encontrado==0)
    {
      cout << " Ingresar precio de costo del articulo: ";
      cin >> PrecioVenta;
    }
    else if (encontrado == 1)
      cout << " No se puede cambiar el precio. \n El articulo ingresado no existe. \n\n";
     
    return PrecioVenta;
}


void StockGeneral::CompraArticulos()
{
    char NombreBuscado[100], encontrado;
    int stockaux, pos;
   
    cout << " Escribir nombre de articulo a cambiar stock: ";
    cin.getline(NombreBuscado, 100);
   
    StockGeneral.BuscarStock(NombreBuscado[], pos, encontrado);

    if (encontrado==0)
    {
      cout << " Ingresar stock del articulo a comprar: ";
      cin >> stockaux;
     
      datos[pos].stock += stockaux;
     
      cout << " Se actualizo el stock.-";
    }
    else if (encontrado == 1)
      cout << " No se puede cambiar el precio. \n El articulo ingresado no existe. \n\n";   
   
}


void StockGeneral::MostrarStock()
{
    art articulo;
   
    cout << " ------------------------------------------------------------------- \n";
    cout << " -------------------------- STOCK GENERAL -------------------------- \n";
    cout << " ------------------------------------------------------------------- \n";   
   
    for (int i=0; i <100; i++)     
        articulo.mostrar(name[], branch[], PrecioVenta, PrecioCosto, stock);
   
    cout << " ------------------------------------------------------------------- \n";
    cout << " ------------------------------------------------------------------- \n";
    cout << " ------------------------------------------------------------------- \n";     
}




//----------------------------------
//
//        CLIENTE - FUNCIONES
//
//----------------------------------


void client::CargarDatos(int &id, char nombre[], char domicilio[], float &precio_acumulado)
{
    client cliente;
   
    cout << "    INGRESO DE DATOS DEL CLIENTE: \n";
    cout << " ------------------------------------- \n\n";
   
    cout << " Codigo: ";
    cin >> cliente.id;
   
    cout << " Nombre: ";
    cin.getline (cliente.name,50);
   
    cout << " Domicilio: ";
    cin.getline (cliente.domicilio,100);
   
    cout << " Saldo Acumulado: ";
    cin >> cliente.precio_acumulado;   
}


void client::MostrarDatos(int id, char nombre[], char domicilio[], float precio_acumulado)
{
    client cliente;
   
    cout << "          -+-+-+- DATOS DEL CLIENTE -+-+-+- \n";
    cout << " ---------------------------------------------------- \n\n\n";
    cout << " --- ID:" << cliente.id << " \n";
    cout << " --- Nombre: " << cliente.name << " \n";
    cout << " --- Domicilio: " << cliente.domicilio << "\n";
    cout << " --- Saldo: " << cliente.precio_acumulado << "\n";
    cout << " ---------------------------------------------------- \n\n\n";
}


void client::ConsultarSaldo()
{
    client cliente;
   
    cout << " Ingrese ID del cliente: ";
    cin >> cliente.id;
   
    cout << " El saldo es " << cliente.precio_acumulado << " \n";
}



void client::ActualizarSaldo(int id, float &precio_acumulado)
{
    client cliente;
    float nuevosaldo;   
   
    cout << " Ingresar ID del cliente: ";
    cin >> cliente.id;
   
    cout << " Ingrese nuevo Saldo: ";
    cin >> nuevosaldo;
   
    cliente.precio_acumulado = nuevosaldo;
}











//----------------------------------
//          TOTAL DE CLIENTES
//             
//            FUNCIONES
//----------------------------------


void total_clients::CargarTotalClientes()
{
    char rta;
   
    while (tope<100)
    {
            do {
                datos[tope].CargarDatos();
                tope++;
                cout << " Cargar otro? S/N?";
                cin >> rta;
                cin.ignore();
            } while(rta != 'n' && rta!='N');
           
            system("CLS");
    }
}


void total_clients::MostrarTotalClientes()
{
    client cliente;
    int id;
    char name [50], domicilio [100];
    float precio_acumulado;
   
    cout << "        DETALLE DE TODOS LOS CLIENTES: \n";
    cout << " ------------------------------------------------- \n\n";
          cliente.MostrarDatos(id, name, domicilio, precio_acumulado);
    cout << " ------------------------------------------------- \n\n";
}


void total_clients::BuscarTotalClientes(char NombreBuscado[],int &pos, char &encontrado)
{   
      art article;
    encontrado=0;
    pos=0;
    int tope=100;
   
    while ((pos <tope) && (strcmp(NombreBuscado, article[pos].name)!=0))
    {
          pos++;
         
          if (pos<tope)
              encontrado=true;
          else
                pos=1;
    }
}







//----------------------------------
//              FACTURAS
//             
//            FUNCIONES
//----------------------------------


void venta::CargarFactura(char name[], char branch[], int &stock, float totalfactura)
{
    art articulo;
    int stockfactura;
    float totalfactura;
   
    cout << " Ingresar nombre de articulo a vender: ";
    cin.getline(articulo.name, 50);
   
    StockGeneral.BuscarStock(NombreBuscado, pos, encontrado);
   
    if (encontrado == 1)
    {
                    cout << " Ingresar marca: ";
                    cin.getline(articulo.branch,50);
                   
                    cout << " Ingresar stock: ";
                    cin >> stockfactura;
                   
                    while (stockfactura > articulo.stock)
                    {
                                    cout << " No se puede vender esa cantidad. \n Ingresar stock correcto: ";
                                    cin >> stockfactura;
                    }
    }
    articulo.stock = articulo.stock - stockfactura;
   
    totalfactura= stockfactura*articulo.PrecioVenta;
   
    cout << " Ingresar nombre de cliente: ";
    cin.getline (client.name, 50);
   
    total_clients.BuscarCliente(NombreBuscado, pos, encontrado);
   
    if (encontrado == 1)
    {
        client.precio_acumulado = client.precio_acumulado - totalfactura;
       
        if (client.precio_acumulado < 0)
          cout << " No se puede realizar esta venta.";
    }
    else if (encontrado ==0)
          cout << " El cliente ingresado no existe. \n";   
   
}



void venta::MostrarFactura(char name[], char branch[], int &stock, float totalfactura)
{
    cout << " ---------------------------------------------------- ";
    cout << " -- Articulo: " << art.name << "\n";
    cout << " -- Marca: " << art.branch << "\n";
    cout << " -- Stock vendido: " << art.stock << "\n\n";
    cout << " -- Cliente: " << client.name << "\n";
    cout << " -- Saldo actual del cliente: " << client.precio_acumulado << "\n\n\n";
    cout << " ---------- TOTAL FACTURA: -- $" << totalfactura << "\n";
}
























//----------------------------------
//
//              MAIN
//
//----------------------------------

int main()
{
    art articulos;
    StockGeneral StockTotal;
    client clientes;
    total_clients todoslosclientes;
    venta factura;
   
    char choice;

    cout << " ------------------------------------------- \n";   
    cout << " -------------- ELEGIR ACCION -------------- \n";
    cout << " ------------------------------------------- \n\n";
   
    cout << "    -1- Cargar articulos. \n"; // LLAMA A CARGAR DEL STOCKGENERAL
    cout << "    -2- Consultar Precio de Costo. \n";
    cout << "    -3- Consultar Precio de Venta. \n";
    cout << "    -4- Cambiar Stock. \n";
    cout << "    -5- Mostrar articulos. \n\n"; // MOSTRAR DEL STOCKGENERAL
    cout << "    -6- Buscar un articulo. \n";
    cout << "    -7- Comprar articulos. \n";
    cout << "    -8- Mostrar StockGeneral. \n\n";
    cout << "    -9- Cargar datos del cliente. \n";
    cout << "    -a- Consultar Saldo. \n";
    cout << "    -b- Actualizar saldo. \n";
    cout << "    -c- Buscar Cliente. \n";
    cout << "    -d- Mostrar clientes. \n\n";
    cout << "    -h- Cargar datos para factura. \n";
    cout << "    -i- Mostrar factura. \n\n";
    cout << "  -0- Salir. \n\n";
    cout << " Elegiste: ";
    cin >> choice;
   
    cout << " ------------------------------------------- \n\n";
    cout << " ------------------------------------------- \n\n";
    cout << " ------------------------------------------- \n\n";
   
    switch (choice)
    {
          case '1':
                StockTotal.CargarStockGeneral();
          break;
         
          case '2':
                articulo.consultarprecosto();
          break;
         
          case '3':
                articulo.consultarprevta();
          break;
         
          case '4':
                articulo.cambiarcosto();
          break;         
         
          case '5':
                StockTotal.MostrarStock();
          break;         
         
          case '6':
                StockTotal.BuscarStock(NombreBuscado[], pos, encontrado);
          break;         
         
          case '7':
                StockTotal.CompraArticulos();
          break;         
         
          case '8':
                StockTotal.MostrarStock();
          break;
         
          case '9':
                todoslosclientes.CargarTotalClientes();
          break;
         
          case 'a': case 'A':
                clientes.ConsultarSaldo();
          break;
         
          case 'b':case 'B':
                clientes.ActualizarSaldo();
          break;
         
          case 'c': case 'C':
                todoslosclientes.BuscarTotalClientes();
          break;                               
         
          case 'd': case 'D':
                todoslosclientes.MostrarTotalClientes();
          break;
         
          case 'h': case 'H':
                factura.CargarFactura(name[], branch[], stock, totalfactura);
          break;
         
          case 'i': case 'I':
                factura.MostrarFactura();
          break;
         
          case'0':
                  cout << " ---Fin del programa--- \n";                                                             
    } 
 
    system("PAUSE");
    return EXIT_SUCCESS;
}


All times are GMT -4. The time now is 11:16 pm.

Forum system based on vBulletin Copyright ©2000 - 2010, Jelsoft Enterprises Ltd.
©2003 - 2010 DaniWeb® LLC