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;
}

>> while ((pos < tope) && (strcmp(NombreBuscado, article[pos].name)!=0))

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

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;
}
This question has already been answered. Start a new discussion instead.