Advertisement
lencinasalejo

ejercicio6

Jun 4th, 2018
149
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 3.89 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. int VerificarCodigo (int);
  4. void InicializarVector (int [], int);
  5. void InicializarVendedores (int [], int);
  6. int ExisteCod (int [], int, int);
  7. int VerificarCant (int);
  8. void CargaDeVentas (int [], int [], int [], int [], int, int);
  9. void CargaProductos (int [], int);
  10. int BuscarPos (int, int [], int);
  11. void OrdenarMayor (int [], int[], int);
  12. void InformarA (int [], int [], int);
  13. int ObtenerMinimo (int [], int);
  14. void InformarB (int [], int [], int, int);
  15. int VerificarVend(int);
  16.  
  17. int main()
  18. {
  19.     int ce=15;
  20.     int ce1=5;
  21.     int VProd[15], VProd1[15], VVend [5], VVend1[5], minimo;
  22.     InicializarVector(VProd, ce);
  23.     InicializarVector(VProd1, ce);
  24.     InicializarVector(VVend, ce1);
  25.     InicializarVector(VVend1, ce1);
  26.     InicializarVendedores(VVend, ce1);
  27.     CargaProductos(VProd, ce);
  28.     CargaDeVentas(VProd, VProd1, VVend, VVend1, ce, ce1);
  29.     OrdenarMayor(VProd, VProd1, ce);
  30.     InformarA(VProd, VProd1, ce);
  31.     minimo=ObtenerMinimo(VVend1, ce1);
  32.     InformarB(VVend, VVend1, ce1, minimo);
  33.     return 0;
  34. }
  35. int VerificarCodigo(int c){
  36. if (c>=100 && c<=999){
  37.     return 1;
  38. }else {return 0;}
  39. }
  40. int VerificarVend(int c){
  41. if (c>=1001 && c<=1005){
  42.     return 1;
  43. }else {return 0;}
  44. }
  45. void InicializarVector(int v[], int ce){
  46. for (int i=0; i<ce; i++){
  47.     v[i]=0;
  48. }
  49. }
  50. void InicializarVendedores(int v[], int ce){
  51. int aux=1001;
  52. for (int i=0;i<ce;i++){
  53.     v[i]=aux;
  54.     aux++;
  55. }
  56. }
  57. int ExisteCod(int v[], int ce, int cod){
  58. int aux=-1, i=0;
  59. while(aux==-1 && i<ce){
  60.     if (v[i]==cod){
  61.         aux=i;
  62.     }i++;
  63. }
  64. return aux;
  65. }
  66. int VerificarCant(int cant){
  67. if (cant>0){
  68.     return 1;
  69. }else {return 0;}
  70.  
  71. }
  72. void CargaDeVentas(int v1[], int v2[], int v3[], int v4[], int ce, int ce1){
  73.     int codigovend, codart, cantidad, pos, posvend;
  74.     do{
  75. printf ("Ingrese codigo de vendedor: ");
  76. scanf ("%d", &codigovend);
  77. if (VerificarVend(codigovend)==1 && ExisteCod(v3,ce1,codigovend)!=-1){
  78.     printf ("Ingrese codigo de articulo: ");
  79.     scanf ("%d", &codart);
  80.     if (VerificarCodigo(codart)==1 && ExisteCod(v1, ce, codart)!=-1){
  81.         printf ("Ingrese cantidad: ");
  82.         scanf ("%d", &cantidad);
  83.         if (VerificarCant(cantidad)==1){
  84.             pos=BuscarPos(codart,v1,ce);
  85.             v2[pos]+=cantidad;
  86.             posvend=BuscarPos(codigovend,v3,ce1);
  87.             v4[posvend]++;
  88.         }else {printf ("Codigo invalido\n");}
  89.     }else {printf ("Codigo invalido\n");}
  90. }else{
  91. if (codigovend==0){
  92.     printf ("Fin de carga\n");
  93. }else {printf ("Codigo invalido\n");}
  94. }}while (codigovend!=0);
  95. }
  96. void CargaProductos(int v1[], int ce){
  97. int cod, i=0;
  98. while (i!=15){
  99.     printf ("Ingrese cod producto: ");
  100.     scanf ("%d", &cod);
  101.     if (VerificarCodigo(cod)==1){
  102.         v1[i]=cod;i++;
  103.     }else {printf ("Codigo invalido\n");}
  104. }
  105. }
  106. int BuscarPos (int c, int v1[], int ce){
  107. int p;
  108. for (int i=0; i<ce; i++){
  109.     if (v1[i]==c){
  110.         p=i;
  111.     }
  112. }
  113. return p;
  114. }
  115. void OrdenarMayor(int v1[], int v2[], int ce){
  116. int i=0;
  117. int aux, aux1, hubocambio;
  118. do{
  119.     hubocambio=0;
  120.     for (int j=1; j<ce-i; j++){
  121.         if (v2[j-1]<v2[j]){
  122.             aux=v2[j-1];
  123.             aux1=v1[j-1];
  124.             v2[j-1]=v2[j];
  125.             v1[j-1]=v1[j];
  126.             v2[j]=aux;
  127.             v1[j]=aux1;
  128.             hubocambio=1;
  129.         }
  130.     } i++;
  131. }while (hubocambio);
  132. }
  133. void InformarA(int v1[], int v2[], int ce){
  134. if (v2[0]!=0){
  135. printf ("CANTIDAD \t CODIGO\n");
  136.  
  137. for (int i=0; i<ce; i++){
  138.     printf ("%d \t\t %d \n", v2[i], v1[i]);
  139. }}else {printf ("No hubo ventas\n");}
  140. }
  141. int ObtenerMinimo(int v4[], int ce1){
  142. int min;
  143. for (int i=0; i<ce1; i++){
  144.     if (i==0 || v4[i]<min){
  145.         min=v4[i];
  146.     }
  147. }
  148. return min;
  149. }
  150. void InformarB(int v3[], int v4[], int ce1, int min){
  151. printf ("Vendedores con menor cantidad de ventas: \n");
  152. for (int i=0; i<ce1; i++){
  153.     if (v4[i]==min){
  154.         printf ("%d \n", v3[i]);
  155.     }
  156. }
  157. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement