Advertisement
Matiasdlsr

vstruct

Sep 30th, 2023
77
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.71 KB | None | 0 0
  1. #include <stdio.h>
  2. #define TAM 3
  3.  
  4. typedef struct {
  5.     int codigo;
  6.     char descripcion[21];
  7.     float precio;
  8. } sProducto;
  9.  
  10. sProducto cargarstruct ();
  11. void cargarproductos( sProducto [],int );
  12. void mostrarproductos( sProducto [],int );
  13. void leertexto(char [],int );
  14. void ordenar (sProducto[],int);
  15.  
  16.  
  17. int main (){
  18.  
  19. sProducto vProd[TAM];
  20.  
  21.     cargarproductos(vProd,TAM);
  22.     mostrarproductos (vProd,TAM);
  23.     ordenar (vProd,TAM);
  24.     mostrarproductos (vProd,TAM);
  25. }
  26.  
  27.  
  28. void leertexto (char texto[],int ce){
  29.  
  30. int i=0;
  31.  
  32.     fgets (texto,ce,stdin);
  33.         while (texto [i] != '\0')
  34.             i++;
  35.  
  36.             if (texto [i-1] == '\n')
  37.                 texto [i-1] = '\0';
  38. }
  39.  
  40. void cargarproductos( sProducto vp[],int ce){
  41.  
  42. int i;
  43.  
  44.     for(i=0;i<ce;i++)
  45.         vp [i] =cargarstruct ();
  46.  
  47. }
  48.  
  49. void mostrarproductos( sProducto vp[],int ce){
  50.  
  51. int i;
  52.     printf("\n%6s %21s %8s","Codigo", "Descripcion", "Precio");
  53.  
  54.     for(i=0;i<ce;i++){
  55.  
  56.     printf("\n%6d %21s %8.2f",vp[i].codigo,vp[i].descripcion,vp[i].precio);
  57.     }
  58. }
  59.  
  60. void ordenar (sProducto vp[],int ce ){
  61.     int i,j;
  62.     sProducto aux;
  63.         for(i=0;i<ce-1;i++){
  64.             for (j=0;j<ce-1;j++){
  65.  
  66.                 if (vp[j].precio > vp[j+1].precio)
  67.                 {
  68.                     aux= vp[j];
  69.                     vp[j]=vp[j+1];
  70.                     vp[j+1]= aux;
  71.                 }
  72.             }
  73.  
  74.         }
  75.  
  76. }
  77.  
  78. sProducto cargarstruct (){
  79. sProducto prod;
  80.     printf("Ingrese codigo\t");
  81.         scanf("%d",&prod.codigo);
  82.         fflush (stdin);
  83.     printf("Ingrese descripcion\t");
  84.         leertexto(prod.descripcion,21);
  85.     printf("Ingrese precio\t");
  86.         scanf("%f",&prod.precio);
  87. return prod;
  88. }
  89.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement