Programa en C++ para la gestión de vendedores

Clasificado en Informática

Escrito el en español con un tamaño de 4,03 KB

Primer programa: Ordenamiento de vendedores

Este programa en C++ permite el ingreso de una cantidad N de vendedores. Se registra su apellido y el valor de venta mensual. El programa pregunta cómo se mostrarán los datos: en orden descendente por ventas o alfabéticamente por apellido.

#include <iostream>
#include <string.h>
#include <algorithm>

using namespace std;

void cambiar(char lista[][100], char lista2[][100], int i) {
    char aux[1][100];
    strcpy(aux[0], lista[i]);
    strcpy(lista[i], lista2[i + 1]);
    strcpy(lista2[i + 1], aux[0]);
}

void cambiarn(int lista[], int n) {
    int aux;
    aux = lista[n];
    lista[n] = lista[n + 1];
    lista[n + 1] = aux;
}

void ordn(int lista[], int n) {
    int i;
    for (i = 0; i < n - 1; i++) {
        for (int j = 0; j < n - i - 1; j++) {
            if (lista[j] > lista[j + 1]) {
                cambiarn(lista, j);
            }
        }
    }
    for (i = 0; i < n; i++) {
        cout << lista[i] << endl;
    }
}

void ordap(char lista[][100], int n) {
    int i;
    for (i = 0; i < n - 1; i++) {
        for (int a = 0; a < n - i - 1; a++) {
            if ((strcmp(lista[a], lista[a + 1])) > 0) {
                cambiar(lista, lista, a);
            }
        }
    }

    for (i = 0; i < n; i++) {
        cout << lista[i] << endl;
    }
}

int main() {
    int lista[100], n, des, i;
    char apellidos[20][100];
    cout << "Ingrese cantidad de vendedores: " << endl;
    cin >> n;
    for (i = 0; i < n; i++) {
        cin.ignore();
        cout << "Ingrese apellido del vendedor: " << endl;
        cin.getline(apellidos[i], 100);
        cout << "Ingrese ventas por vendedor: " << endl;
        cin >> lista[i];
    }
    cout << "Si desea utilizar el ordenamiento de apellidos aprete 1, sino aprete 0 para el ordenamiento por ventas: " << endl;
    cin >> des;
    if (des) {
        ordap(apellidos, n);
    } else {
        ordn(lista, n);
    }
    return 0;
}

Segundo programa: Filtrado de vendedores por ventas

Este programa permite el ingreso de una lista de N registros de vendedores. Cada registro incluye apellido, sucursal y venta mensual. El programa almacena los registros en una estructura. Una función almacena los registros de los vendedores con ventas superiores a 1000 pesos en otra variable con la misma estructura. Finalmente, otra función muestra los registros de los vendedores seleccionados.

#include <iostream>
#include <string.h>

using namespace std;

typedef struct {
    char apellido[20];
    char sucursal[20];
    int ventas;
} tabla;

tabla emp[100];
tabla omp[100];
int j = 0;

void copiar(int n) {
    int i;
    for (i = 0; i < n; i++) {
        if (emp[i].ventas > 1000) {
            omp[j] = emp[i];
            j++;
        }
    }
}

void mostrar(int n) {
    int i;
    system("cls");
    cout << "Los registros de los vendedores con ventas mensuales mayor a 1000 se detallan a continuacion:" << endl;
    cout << endl;
    for (i = 0; i < j; i++) {
        cout << "Apellido: " << omp[i].apellido << endl;
        cout << "Sucursal: " << omp[i].sucursal << endl;
        cout << "Ventas: " << omp[i].ventas << endl << endl;
    }
}

int main() {
    int i, n;
    cout << "Ingrese la cantidad de vendedores: " << endl;
    cin >> n;
    system("cls");
    for (i = 0; i < n; i++) {
        cin.ignore();
        cout << "Vendedor: " << i + 1 << endl;
        cout << "Ingrese su apellido: " << endl;
        cin.getline(emp[i].apellido, 20);
        cout << "Ingrese su sucursal: " << endl;
        cin.getline(emp[i].sucursal, 20);
        cout << "Ingrese sus ventas: " << endl;
        cin >> emp[i].ventas;
        system("cls");
    }
    copiar(n);
    mostrar(n);
    return 0;
}

Entradas relacionadas: