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