Visual C++ .NET - Ayuda con un Programa en C++

 
Vista:

Ayuda con un Programa en C++

Publicado por Jpep (1 intervención) el 31/01/2009 02:03:16
Hola que tal quisiera que algun programador me ayudara a relizar un Programa en C++ con las siguientes Caracteristicas

Una agencia de venta de automóviles distribuye 15 modelos diferentes y tiene 10 vendedores. La agencia guarda la información de las ventas realizadas por los vendedores en una tabla como la siguiente:

En cada casilla se guarda la cantidad de automóviles de un modelo vendidos por un vendedor; por ejemplo, en la casilla del renglón 5, columna 3, se guarda la cantidad de automóviles del modelo 5 vendidos por el vendedor 3.

Nota que, si un vendedor no ha vendido nada, debe haber 0 en la casilla correspondiente; es decir, es necesario que al inicio la tabla esté llena de ceros, para que el programa pueda registrar las ventas que se vayan dando.

Nota también que la tabla de datos de la agencia utiliza los modelos del 1 al 15 y los vendedores del 1 al 10; o sea, no empieza desde el número 0, como son los arreglos en C++. Tú debes resolver esto en tu programa, de manera que el usuario no tenga que utilizar el número 0, ni para vendedor, ni para modelo.

Se requiere que hagas un programa que tenga el siguiente menú de opciones:
a)
Registrar las ventas realizadas por un vendedor para un modelo dado.
Por ejemplo: modelo 4, vendedor 3, 2 unidades (lo que significa que el vendedor 3 vendió 2 unidades del modelo 4).
b)

Consultar la cantidad de automóviles de un modelo específico que ha vendido un vendedor.
Por ejemplo: la cantidad de autos del modelo 5 vendida por el vendedor 3.
c)
Consultar la cantidad total de automóviles que se han vendido de un cierto modelo.
Por ejemplo: la cantidad total de autos del modelo 12 que se ha vendido.
d)
Consultar las cantidades de automóviles que ha vendido un cierto vendedor, sin importar el modelo.
Por ejemplo: la cantidad total de autos que ha vendido el vendedor 8.
e)
Salir
Notas importantes
1.
Si se registran varias veces ventas para el mismo vendedor y el mismo modelo, cada nuevo registro se debe agregar al total de ventas que se encontraba registrado. Por ejemplo, si se hace un registro de que el vendedor 1 vendió 3 autos del modelo 5, y luego se hace otro registro de que el vendedor 1 vendió 4 autos del modelo 5, la casilla correspondiente debe tener registrado un 7 (3 autos del primer registro y 4 del segundo).
2.

Es necesario validar las opciones del menú, el número de modelo, el número de vendedor y la cantidad de automóviles vendidos que se pidan al usuario; es decir, se debe pedir el dato y, si no es válido, se debe volver a pedir al usuario hasta que el usuario teclee el dato de manera correcta; las validaciones deben considerar los siguientes valores válidos:

* Las opciones del menú válidas son a, b, c, d, e.
* Los números de modelo válidos son del 1 al 15.
* Los números de vendedores válidos son de 1 al 10.
* La cantidad de automóviles vendidos deben ser números positivos.

3.
Si se pide una consulta, y aún no se ha registrado información de ventas para ese caso, el programa debe indicar que se han vendido 0 (cero) automóviles.
4.
Al terminar de atender una opción, el programa debe regresar al menú y permitir que el usuario seleccione otra opción; el programa terminará sólo cuando se pida la opción Salir.

Espero sus Respuestas

Muchas Gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Alejandro

Programa de ventas de automóviles

Publicado por Alejandro (265 intervenciones) el 06/02/2024 21:20:14
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
#include <iostream>
using namespace std;
 
const int NUM_MODELOS = 15;
const int NUM_VENDEDORES = 10;
 
// Función para validar las opciones del menú
char validarOpcion() {
    char opcion;
    cout << "Ingrese una opción (a, b, c, d, e): ";
    cin >> opcion;
    while (opcion != 'a' && opcion != 'b' && opcion != 'c' && opcion != 'd' && opcion != 'e') {
        cout << "Opción inválida. Intente nuevamente: ";
        cin >> opcion;
    }
    return opcion;
}
 
// Función para validar números de modelo y vendedor
int validarNumero(string tipo) {
    int numero;
    cout << "Ingrese el número de " << tipo << " (" << (tipo == "modelo" ? "1-15" : "1-10") << "): ";
    cin >> numero;
    while (numero < 1 || (tipo == "modelo" && numero > NUM_MODELOS) || (tipo == "vendedor" && numero > NUM_VENDEDORES)) {
        cout << "Número inválido. Intente nuevamente: ";
        cin >> numero;
    }
    return numero;
}
 
// Función principal del programa
int main() {
    int ventas[NUM_MODELOS][NUM_VENDEDORES] = {0};
 
    char opcion;
    do {
        cout << "\n--- Menú ---\n";
        cout << "a) Registrar ventas\n";
        cout << "b) Consultar ventas por modelo y vendedor\n";
        cout << "c) Consultar total de ventas por modelo\n";
        cout << "d) Consultar total de ventas por vendedor\n";
        cout << "e) Salir\n";
 
        opcion = validarOpcion();
 
        switch (opcion) {
            case 'a': {
                int modelo = validarNumero("modelo");
                int vendedor = validarNumero("vendedor");
                int cantidad;
                cout << "Ingrese la cantidad de automóviles vendidos: ";
                cin >> cantidad;
                while (cantidad < 0) {
                    cout << "Cantidad inválida. Intente nuevamente: ";
                    cin >> cantidad;
                }
                ventas[modelo - 1][vendedor - 1] += cantidad;
                cout << "Ventas registradas exitosamente.\n";
                break;
            }
            case 'b': {
                int modelo = validarNumero("modelo");
                int vendedor = validarNumero("vendedor");
                cout << "Ventas del modelo " << modelo << " por el vendedor " << vendedor << ": " << ventas[modelo - 1][vendedor - 1] << " unidades.\n";
                break;
            }
            case 'c': {
                int modelo = validarNumero("modelo");
                int totalVentas = 0;
                for (int v = 0; v < NUM_VENDEDORES; ++v) {
                    totalVentas += ventas[modelo - 1][v];
                }
                cout << "Total de ventas del modelo " << modelo << ": " << totalVentas << " unidades.\n";
                break;
            }
            case 'd': {
                int vendedor = validarNumero("vendedor");
                int totalVentas = 0;
                for (int m = 0; m < NUM_MODELOS; ++m) {
                    totalVentas += ventas[m][vendedor - 1];
                }
                cout << "Total de ventas del vendedor " << vendedor << ": " << totalVentas << " unidades.\n";
                break;
            }
            case 'e':
                cout << "¡Hasta luego!\n";
                break;
        }
    } while (opcion != 'e');
 
    return 0;
}

Jpep, este programa en C++ cumple con los requisitos especificados y proporciona un menú interactivo para registrar y consultar las ventas de automóviles. Además, incluye funciones de validación para asegurar que los datos ingresados por el usuario sean correctos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar