Ir al contenido principal

Programación en c++ : Struct con Arreglos - Ordenar por precio del producto

1.- Hacer un programa que permita ingresar n cantidad de producto:




 struct articulo
{char codigo[9];
 char producto[MAX];
 float precio;
};

El programa debe mostrar los productos ingresados pero ordenado por su precio de menor a mayor.


#include<iostream.h>
#include<conio.h>
#include<string.h>
#define MAX 50
struct articulo
{char codigo[9];
 char producto[MAX];
 float precio;
};
void leerproducto(int, struct articulo[]);
void ordenarprecio(int, struct articulo[]);
void mostrar(int, struct articulo[]);
void main()
{int n;
struct articulo art[MAX];
 cout<<"Ingresar cantidad de producto a registrar:";
 cin>>n;
 leerproducto(n,art);
 cout<<"Los productos ordenados por su precio son:";
 ordenarprecio(n,art);
 cout<<endl;
 mostrar(n,art);
 getch();
}

void leerproducto(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].precio;
  cout<<endl;
 }
getch();
}

void ordenarprecio(int n, struct articulo x[])
{int i,j;
 struct articulo temp;
 for(i=1;i<n;i++)
  for(j=n-1;j>=i;j--)
   if((x[j-1].precio,x[j].precio)<0)
    {temp=x[j-1];
     x[j-1]=x[j];
     x[j]=temp;
    }
}

void mostrar(int n, struct articulo x[])
{int i;
 for(i=0;i<n;i++)
 {cout<<x[i].codigo<<"\t" <<x[i].producto<<"\t" <<x[i].precio<<endl;
 }
}

Comentarios

Publicar un comentario

Entradas más populares de este blog

Programación en c++ : Matriz - Calcular mayor de la matriz

1.- Hacer un programa que permita ingresar n datos de una matriz y calcular el mayor de la matriz. #include<iostream.h> #include<conio.h> #define lim 50 void main() {int i,j,a[lim][lim],fila,col,  may=a[0][0];  clrscr(); do {cout<<"Ingresar limite de la fila:";  cin>>fila; }while(fila<=0); do {cout<<"Ingesar limite de la columna:";  cin>>col; }while(col<=0); gotoxy(10,7); cout<<"Ingresar Elementos de la matriz\n\n"; for(i=0;i<fila;i++) for(j=0;j<col;j++) {cout<<"a["<<i<<"]"<<"["<<j<<"]";  cin>>a[i][j]; } for(i=0;i<fila;i++) for(j=0;j<col;j++) if(a[i][j]>may) may=a[i][j]; clrscr(); gotoxy(10,7); cout<<"Elementos de la matriz\n\n"; for(i=0;i<fila;i++) for(j=0;j<col;j++) {cout<<a[i][j];  cout<<"\n"; } clrscr(); gotoxy(10,20); cout...

Lenguaje de Programacion en Java: Ecuación de primer grado

public class Main {     public static void main(String[] args) {         float x,a,e;                   Scanner teclado = new Scanner(System.in);         System.out.println("Coeficiente de X:");         x=teclado.nextInt();         System.out.println("Término independiente:");         a=teclado.nextInt();         if(a==0)           System.out.println("No es una ecuación de primer grado");           else         {              e=-a/x;              System.out.println("La raíz es=" +e);         }                                     } ...

Programación en Java: Suma de los cuadrados de los primeros números

public class Main {     public static void main(String[] args) {         int n,s;                  Scanner teclado = new Scanner(System.in);         System.out.println("Ingresar cantidad de elementos:");         n=teclado.nextInt();                      s=(n*(n+1)*(2*n+1))/6;                   System.out.println("Suma de los cuadrados de los primeros números=" +s);                   }    }