Arreglos en c++ ejercicios resueltos
c++ – Ordenar productos
Los ejercicios desarrollados en este post son a través del programa Borland. Para obtener el programa, clic en el siguiente enlace: Descargar Borland
Mediante programación en C++, desarrollar un programa teniendo en cuenta la siguiente estructura:
struct articulo
char código[10];
char descripción[20];
float preciocompra;
int cantidad;
}
Ordene usted estos artículos descendentemente según el monto de inversión.
#include<iostream.h>
#include<conio.h>
#include<string.h>
#define MAX 50
struct articulo
{char codigo[10];
char producto[20];
float preciocompra;
float monto;
int cantidad;
};
void leer(int, struct articulo[]);
void montodeinversion(int, struct articulo[]);
void ordenmonto(int, struct articulo[]);
void listado(int, struct articulo[]);
void main()
{int n;
struct articulo Art[MAX];
cout<<"Cantidad de articulos que desea poner:";
cin>>n;
leer(n,Art);
montodeinversion(n,Art);
ordenmonto(n,Art);
cout<<"productos ordenados por su cantidad de monto mayor:"<<endl;
listado(n,Art);
getch();
}
void leer(int n, struct articulo x[])
{int i;
for(i=0;i<n;i++)
{cout<<"codigo:"; cin>>x[i].codigo;
cout<<"producto:"; cin>>x[i].producto;
cout<<"precio:"; cin>>x[i].preciocompra;
cout<<"cantidad:"; cin>>x[i].cantidad;
}
getch();
}
void montodeinversion(int n, struct articulo x[])
{int i;
for(i=0;i<n;i++)
x[i].monto=x[i].preciocompra*x[i].cantidad;
getch();
}
void ordenmonto(int n, struct articulo x[])
{int i,j;
struct articulo temp;
for(i=0;i<n;i++)
for(j=n-1;j>i;j--)
if((x[j-1].monto<x[j].monto))
{temp=x[j-1];
x[j-1]=x[j];
x[j]=temp;
}
getch();
}
void listado(int n, struct articulo x[])
{int i;
for(i=0;i<n;i++)
{cout<<x[i].codigo<<"\t";
cout<<x[i].producto<<"\t";
cout<<x[i].monto<<endl;
}
getch();
}
Para descargar el ejercicio: