Advertisement
Guest User

Tp Structs problema ordenamiento punto 5-6.

a guest
Apr 6th, 2020
167
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 4.97 KB | None | 0 0
  1. #include <iostream>
  2. #include <cstdlib>
  3. #include <cstring>
  4. struct articulo
  5. {
  6.     char C_A[6],descrip[31];
  7.     float precio;
  8.     int stock;
  9. };
  10.  
  11. #include "funciones.h"
  12. using namespace std;
  13.  
  14.  
  15. int main()
  16. {
  17.     int opcion=-1;
  18.     const int tam=5;
  19.     struct articulo Vart[tam];
  20.     while (opcion!=0)
  21.     {   system ("pause");
  22.         system("cls");
  23.         cout<<"Bienvenide a la tienda de kloster"<<endl;
  24.         cout<<"-------------------Menu.---------------"<<endl;
  25.         cout<<"1-Cargar vector de productos-----------"<<endl;
  26.         cout<<"2-Mostrar Vector de productos----------"<<endl;
  27.         cout<<"3-Buscar si existe el codart que digas-"<<endl;
  28.         cout<<"4-Buscar si existe el codart y escupir data completa---"<<endl;
  29.         cout<<"5-ordenar de menor a mayor por descripción--"<<endl;
  30.         cout<<"6-ordenar de menor a mayor por precio-------"<<endl;
  31.         cout<<"0-Salida-------------------------------"<<endl;
  32.  
  33.         cin>>opcion;
  34.         switch (opcion)
  35.         {
  36.         case 1:
  37.         {   system("cls");
  38.             cout<<"cargamos el vector?"<<endl;
  39.             CargaVec(Vart,tam);
  40.         }
  41.         break;
  42.         case 2:
  43.         {   system("cls");
  44.             cout<<"Mirá los datos que hay cargados"<<endl;
  45.             MostrarVec(Vart,tam);
  46.         }
  47.         break;
  48.         case 3:
  49.         {   system("cls");
  50.             char Abuscar [6];
  51.             float resultado;
  52.             cout<<" Ingresate una cadena de chares, que me fijo si existe el item en sistema ;)"<<endl;
  53.             cin>>Abuscar;
  54.             resultado=BuscarChares(Vart, tam, Abuscar);
  55.             if (resultado>0)
  56.             {
  57.                 cout<<" El precio del articulo "<<Abuscar<<" es de "<<resultado;
  58.             }
  59.             else
  60.             {
  61.                 cout<<" Ese articulo no existe mr."<<endl;
  62.             }
  63.             }break;
  64.         case 4:
  65.         {   system("cls");
  66.             char abuscar[6];
  67.             float resultado;
  68.             cout<<"Lo mismo que recién pero te paso el registro completo ;)"<<endl;
  69.             cin>>abuscar;
  70.             BuscarChares2(Vart,tam,abuscar);
  71.                     }
  72.         break;
  73.         case 5:
  74.         {   system("cls");
  75.             cout<<"vamos a ordenar esta wea por nombre(descripción)"<<endl;
  76.             BurbujeoDescripcion(Vart,tam);
  77.             MostrarVec(Vart,tam);
  78.             } break;
  79.         case 6:
  80.         {   system("cls");
  81.             cout<<"Vamos a ordenar esta wea por precio ;)"<<endl;
  82.             BurbujeoPrecio(Vart,tam);
  83.             MostrarVec(Vart, tam);
  84.         } break;
  85.         case 7:
  86.         {} break;
  87.         }
  88.     }
  89.     return 0;
  90. }
  91.  
  92. #ifndef FUNCIONES_H_INCLUDED
  93. #define FUNCIONES_H_INCLUDED
  94. using namespace std;
  95. void CargaVec(struct articulo *Vart, int tam)
  96. {
  97.     for(int i=0; i<tam; i++)
  98.     {
  99.         cout<<"ingresa el código del item: ";
  100.         cin>>Vart[i].C_A;
  101.         cout<<"ahora la descripción: ";
  102.         cin>>Vart[i].descrip;
  103.         cout<<"Precio: $";
  104.         cin>>Vart[i].precio;
  105.         cout<<"En stock hay: ";
  106.         cin>>Vart[i].stock;
  107.         system("cls");
  108.  
  109.     }
  110. }
  111. void MostrarVec(articulo *Vart, int tam)
  112. {
  113.     for(int i=0; i<tam; i++)
  114.     {
  115.         cout<<"El articulo "<<Vart[i].C_A<<" Se llama "<<Vart[i].descrip;
  116.         cout<<" vale: $"<<Vart[i].precio<<" y quedan "<<Vart[i].stock<<" Unidades."<<endl;
  117.         cout<<"________________________________________________"<<endl;
  118.  
  119.     }
  120. }
  121. float BuscarChares(articulo *vart, int tam, char *abuscar)
  122. {
  123.     for(int i=0; i<tam; i++)
  124.     {
  125.         if(strcmp(abuscar,vart[i].C_A)==0)
  126.         {
  127.             return vart[i].precio;
  128.         }
  129.     }
  130.     return -1;
  131. }
  132.  
  133. void BuscarChares2(articulo *Vart, int tam, char *abuscar)
  134. {   bool existe=false;
  135.     for (int i=0; i<tam; i++)
  136.     {
  137.  
  138.         if(strcmp(abuscar,Vart[i].C_A)==0)
  139.         {
  140.             cout<<"El articulo "<<Vart[i].C_A<<" Se llama "<<Vart[i].descrip;
  141.             cout<<" vale: $"<<Vart[i].precio<<" y quedan "<<Vart[i].stock<<" Unidades."<<endl;
  142.             existe=true;
  143.             break;
  144.         }
  145.     }
  146.     if (!existe)
  147.     {
  148.         cout<<"El articulo"<<abuscar<<"se llama NOEXISTE, vale $-1 y quedan 00 Unidades."<<endl;
  149.     }
  150.     }
  151. void BurbujeoDescripcion(articulo *vart, int tam)
  152. {
  153. int i,j;
  154.     articulo aux;
  155.     for (i=0;i<tam;i++)
  156.     {
  157.  
  158.           for(j=0;j<tam-1;j++)
  159.           {
  160.               if (strcmp(vart[j+1].descrip,vart[i].descrip)==1)
  161.               {
  162.                 aux=vart[j];
  163.                 vart[j]=vart[j+i];
  164.                 vart[j+1]=aux;
  165.               }
  166.           }
  167. }
  168. }
  169. void BurbujeoPrecio(articulo *vart,int tam)
  170. {
  171.     int i,j;
  172.     articulo aux;
  173.     for (i=0;i<tam;i++){
  174.                 for(j=0;j<tam-1;j++)
  175.           {
  176.               if (vart[j+1].precio>vart[i].precio)
  177.               {
  178.                 aux=vart[j];
  179.                 vart[j]=vart[j+i];
  180.                 vart[j+1]=aux;
  181.               }
  182.           }
  183. }
  184. }
  185.  
  186.  
  187.  
  188.  
  189.  
  190.  
  191. #endif // FUNCIONES_H_INCLUDED
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement