Advertisement
Miketo_prog

Estructura dinámica

Nov 25th, 2020 (edited)
133
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.40 KB | None | 0 0
  1. /*El programa debería llenar la estructura con la cadena "Textoso", sin embargo mi computadora no lo hace e interrumpe la ejecución del programa como si estuviera intentando acceder a memoria no declarada*/
  2.  
  3. #include <iostream>
  4. #include <iomanip>
  5. using namespace std;
  6.  
  7. struct Avion{
  8.     string cad1="";
  9.     string cad2="",
  10.            cad3="",
  11.            cad4="";
  12.     string cad5="";
  13.     string cad6="",
  14.            cad7="",
  15.            cad8="",
  16.            cad9="";
  17. };
  18.  
  19. void cargar_struct(Avion *, int);
  20. void imp_base_datos(Avion *, size_t);
  21.  
  22. int main()
  23. {
  24.     struct Avion *base_datos = NULL;
  25.     base_datos = (struct Avion *) malloc(3*sizeof(struct Avion));
  26.    
  27.     cargar_struct(base_datos, 3);
  28.    
  29.     imp_base_datos(base_datos, 3);
  30.    
  31.     free(base_datos);
  32.        
  33.     return 0;
  34. }
  35.  
  36. void cargar_struct(Avion *base_datos, int t){
  37.     string cad = "Textoso";
  38.  
  39.     for(int i=0; i<t; i++){
  40.         base_datos[i].cad1 = cad;
  41.         base_datos[i].cad2 = cad;
  42.         base_datos[i].cad3 = cad;
  43.         base_datos[i].cad4 = cad;
  44.         base_datos[i].cad5 = cad;
  45.         base_datos[i].cad6 = cad;
  46.         base_datos[i].cad7 = cad;
  47.         base_datos[i].cad8 = cad;
  48.         base_datos[i].cad9 = cad;
  49.     }
  50. }
  51.  
  52. void imp_base_datos(Avion *base_datos, size_t tam){
  53.     string titulos[] = {"CAD 1",            //0
  54.                         "CAD 2",            //1
  55.                         "CAD 3",            //2
  56.                         "CAD 4",            //3
  57.                         "CAD 5",            //4
  58.                         "CAD 6",            //5
  59.                         "CAD 7",            //6
  60.                         "CAD 8",            //7
  61.                         "CAD 9"};           //8
  62.     int ajuste = 9;
  63.  
  64.     for(int i=0; i<8; i++)
  65.         cout << left << setw(ajuste) << titulos[i];
  66.     cout << endl;
  67.  
  68.     for(int i=0; i<tam; i++){
  69.         cout << left << setw(ajuste) << base_datos[i].cad1;
  70.         cout << left << setw(ajuste) << base_datos[i].cad2;
  71.         cout << left << setw(ajuste) << base_datos[i].cad3;
  72.         cout << left << setw(ajuste) << base_datos[i].cad4;
  73.         cout << left << setw(ajuste) << base_datos[i].cad5;
  74.         cout << left << setw(ajuste) << base_datos[i].cad6;
  75.         cout << left << setw(ajuste) << base_datos[i].cad7;
  76.         cout << left << setw(ajuste) << base_datos[i].cad8;
  77.         cout << left << setw(ajuste) << base_datos[i].cad9;
  78.     }
  79. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement