Вы находитесь на странице: 1из 2

Vendedor.

h
// Definici�n de la clase Vendedor.
// Funciones miembro definidas en Vend.cpp.
#ifndef VEND_H
#define VEND_H
class Vendedor {
public:
Vendedor(); // constructor
void obtieneVentasDelUsuario(); // introduce ventas desde el teclado
void estableceVentas( int, double ); // establece las ventas por mes
void imprimeVentasAnuales(); // suma e imprime las ventas
void estableceNombre( char [40]);
double totalVentasAnuales(); // funci�n de utilidad
private:
double ventas[ 12 ]; // 12 cantidades mensuales de ventas
char nombre [40];
}; // fin de la clase Vendedor
#endif

Vendedor.cpp
// Funciones miembro para la clase Vendedor.
#include <iostream>
using namespace std;
#include <iomanip>
using std::setprecision;
// incluye la definici�n de la clase Vendedor desde Vend.h
#include "vendedor.h"
// inicializa los elementos del arreglo ventas en 0.0
Vendedor::Vendedor()
{
// Inicializa las ventas en cero
for ( int i = 0; i < 12; i++ )
ventas[ i ] = 0.0;
// Inicializa el nombre en blanco
strcpy_s(nombre, " ");
} // fin del constructor Vendedor
// obtiene 12 cifras de ventas del usuario desde el teclado
void Vendedor::obtieneVentasDelUsuario()
{
char n [40];
double cantVentas;
// Introduce el nombre del vendedor
cout << "Nombre del Vendedor: ";
cin.ignore();
cin.getline(n, 40);
for ( int i = 1; i <= 12; i++ )

{
cout << "Introduzca el monto de ventas del mes " << i << ": ";
cin >> cantVentas;
estableceVentas( i, cantVentas );
estableceNombre(n);
} // fin de for
} // fin de la funci�n obtieneVentasDelUsuario
// establece una de las 12 cifras de ventas mensuales; la funci�n resta
// uno al valor del mes para establecer el sub�ndice apropiado en el arreglo
ventas.
void Vendedor::estableceVentas( int mes, double monto ) {
// eval�a la validez de los valores del mes y del monto
if ( mes >= 1 && mes <= 12 && monto > 0 )
ventas[ mes - 1 ] = monto; // ajuste para los sub�ndices 0-11
else // valor de mes o monto inv�lido
cout << "Valor de mes o de ventas no valido" << endl;
} // fin de la funci�n estableceVentas
// Establece el nombre del vendedor
void Vendedor::estableceNombre(char n [40]) { strcpy_s(nombre, n); }
// imprime las ventas totales anuales (con la ayuda de la funci�n de utilidad)
void Vendedor::imprimeVentasAnuales() {
cout << setprecision( 2 ) << fixed
<< "
\nLas ventas anuales totales del vendedor "
<< nombre << " son: $"
<< totalVentasAnuales() << endl; // llamada a la funci�n de utilidad
} // fin de la funci�n imprimeVentasAnuales
// funci�n privada de utilidad para sumar las ventas anuales
double Vendedor::totalVentasAnuales() {
double total = 0.0; // inicializa total
for ( int i = 0; i < 12; i++ ) // suma los resultados de las ventas
total += ventas[ i ];
return total;
} // fin de la funci�n totalVentasAnuales

ejemploVendedores.cpp
#include <iostream>
using namespace std;
#include "vendedor.h"
int main() { // Programa para capturar datos de un n�mero indefinido de vendedores
Vendedor v;
int salir = 0;
double granTotal = 0;
while (salir >= 0) { cout << "Ingrese datos de ventas del vendedor: " << endl;
v.obtieneVentasDelUsuario();
v.imprimeVentasAnuales();
granTotal += v.totalVentasAnuales();
cout << " \nDigite -1 para salir, o 1 para continuar: ";
cin >> salir;
}
// Imprime el gran total de ventas registradas
cout << "Gran total de ventas registradas: $" << granTotal << endl;
system ("pause");
return 0;
}