[ Foro de C++ ]

corrección de código

07-Dec-2022 04:33
Invitado (ke_WI)
1 Respuestas

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++):

[code]
/*****
   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;
}
[code]


11-Dec-2022 23:53
Invitado (yaki)

hola ke_wi

he separado en programa en funciones y ahora ya ordena la matricula:

https://www.online-ide.com/aZDxBYHeu2

saludos ;-)






Si ya eres usuario del sistema, puedes contestar desde tu cuenta y así ganar prestigio.

Si sólo eres un visitante, puedes optar por...