Advertisement
Guest User

Untitled

a guest
Sep 25th, 2017
76
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.71 KB | None | 0 0
  1. #include <iostream>
  2. #include <cstring>
  3. #include <fstream>
  4.  
  5.  
  6. std::string extraerNIT(std::string &registro_de_venta);
  7.  
  8. int buscar_pos_de_menor(std::string registros[],int nro_de_registros, int indice_actual);
  9.  
  10. void ordenar_registros(std::string registros[], int nro_de_registros);
  11.  
  12. int main(int argc, char * argv[]){
  13. std::string registros[20];
  14. char entrada[100];
  15. int i = 0;
  16. std::ifstream infile("ventas.txt");
  17. while(infile.getline(entrada,100) && i < 20)// capacidad max 20 registros
  18. registros[i++] = entrada;
  19. infile.close();
  20. ordenar_registros(registros,i);
  21. for(int j = 0; j < i; ++j)
  22. std::cout << registros[j] << std::endl;
  23. }
  24.  
  25.  
  26. std::string extraerNIT(std::string &registro_de_venta){
  27. int final = registro_de_venta.find_first_of(' ');
  28. std::string NIT = registro_de_venta.substr(0,final);
  29. return NIT;
  30. }
  31.  
  32. int buscar_pos_de_menor(std::string registros[],int nro_de_registros, int indice_actual){
  33. int pos_de_menor = indice_actual;
  34. std::string NIT_menor = extraerNIT(registros[indice_actual]);
  35. for(int pos_sig = indice_actual + 1; pos_sig < nro_de_registros; ++pos_sig){
  36. std::string NIT_sig = extraerNIT(registros[pos_sig]);
  37. if(NIT_sig.compare(NIT_menor) < 0){
  38. NIT_menor = NIT_sig;
  39. pos_de_menor = pos_sig;
  40. }
  41. }
  42. return pos_de_menor;
  43. }
  44.  
  45. void ordenar_registros(std::string registros[], int nro_de_registros){
  46. for(int r = 0; r < nro_de_registros - 1; ++r){
  47. int pos_de_menor = buscar_pos_de_menor(registros,nro_de_registros,r);
  48. std::string temp = registros[r];
  49. registros[r] = registros[pos_de_menor];
  50. registros[pos_de_menor] = temp;
  51. }
  52. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement