Dev - C++ - corrección de código

 
Vista:

corrección de código

Publicado por kenay_Winter (1 intervención) el 07/12/2022 04:30:38
tengo un problema con una actividad pues no consigo que funcione el ordenamiento,
lo que tiene que realizar ese ordenamiento es que la variable matricula se acomode de menor a mayor
ejem: de 3160 pase a 0136.
pero todo cambio que hago solo me marca error.

este seria mi código (c++):

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
/*****
    desarrollar un programa en c++ con el fin de poder ingresar
    datos a una pila, cola o lista y ordenar ascendentemente
    como descendentemente (tipos de ordenamientos burbuja, inserción y selección)
    en arreglos de "n (muchos)" términos numéricos ingresados por el usuario.
    los datos a pedir son:(con estructuras y sub-estructuras)
    -matricula.
    -nombre.
    -correo.
    -teléfono.
    -cuatrimestre.
    -domicilio.
*****/
 
#include <iostream>
 
using namespace std;
 
//declaraciones...
int n, burbuja;
 
int main ()
 
{
    //solicitud del sistema...
    cout << "cuantas personas desea ingresar: " << endl;
    cin >> n;
 
    //limpia pantallas...
    system ("clear");
 
    //sub estructura...
    struct domicilio
 
    {
        string calle;
        string numero;
        string colonia;
    };
 
    //
    struct datos
 
    {
        //declaraciones 2...
        int matricula;
        string nombre;
        string correo;
        string telefono;
        string cuatrimestre;
        string domicilio;
        struct domicilio info_domicilio;
 
    } datos [n];
 
    //guardado de datos...
    for (int i = 0; i < n; i++)
 
    {
        //ingreso de datos...
        cout << "agregue los datos de la persona acontinuacion \n" << endl;
 
        //solicitud del sustema 2...
        cout << "Matricula: " << "\n    -";
        cin >> datos [i].matricula;
        cout << "Nombre: " << "\n    -";
        cin >> datos [i].nombre;
        cout << "Correo: " << "\n    -";
        cin >> datos [i].correo;
        cout << "Telefono: " << "\n    -";
        cin >> datos [i].telefono;
        cout << "Cuatrimestre: " << "\n    -";
        cin >> datos [i].cuatrimestre;
        cout << "Domicilio: " << "\n    -";
        cin >> datos [i].domicilio;
 
        //sub-estructuras de domicilio...
        cout << "calle: " << "\n    -";
        cin >> datos [i].info_domicilio.calle;
        cout << "numero: " << "\n    -";
        cin >> datos [i].info_domicilio.numero;
        //cout << "colonia: " << "\n    -";
        //cin >> datos [i].info_domicilio.colonia;
 
        //limpia pantallas...
        system ("clear");
 
        //regreso de datos...
        for (int i = 0; i < n; i++)
 
        {
            //separacion...
            cout << "datos de las personas ingresadas: \n" << endl;
 
            //muestra de datos...
            cout << "Nombre: " << datos [i].nombre << endl;
            cout << "Matricula: "<< datos [i].matricula << endl;
            cout << "Correo: " << datos [i].correo << endl;
            cout << "Telefono: " << datos [i].telefono << endl;
            cout << "Cuatrimestre: " << datos [i].cuatrimestre << endl;
            //cout << "Domicilio: " << datos [i].domicilio << endl;
 
            //sub-estructuras de domicilio...
            cout << "calle: " << endl;
            cout << datos [i].info_domicilio.calle << endl;
            cout << "numero: " << endl;
            cout << datos [i].info_domicilio.numero << endl;
            cout << "colonia: " << endl;
            cout << datos [i].info_domicilio.colonia << endl;
 
        }
 
        //declaraciones para operacion...
        int a, b, aux;
 
        for (a = 0; a < 5; a++)
 
        {
            for (b = 0; b < 5; b++)
 
            {
                if (datos [b].matricula > datos [b + 1].matricula)
 
                {
                    aux = datos [b].matricula;
                    datos [b] = datos [b + 1];
                    datos [b + 1] = aux;
                }
            }
        }
 
        for (a = 0; a < 5; a++)
 
        {
            //regresa matriula ordenada...
            cout << "matricula: " << datos [a].matricula << endl;
        }
    }
 
 
 
    return 0;
}
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder