Organizacion de una agenda-----ayuda------los demas datos no se mueven

Iniciado por *n3cr0*, 10 Noviembre 2015, 00:23 AM

0 Miembros y 1 Visitante están viendo este tema.

*n3cr0*

#include <iostream>
#include <stdlib.h>


using namespace std;

void datosEntrada();
void imprecion();
void menu();


int ord,aux;
char res;
int salario[3];

struct datos
{
   string nombre;
   float cat;
   float antiguedad;
   float diastra;
   float pagoDia;
   
   
};

struct datos agenda[3];



void menu()
{
   datosEntrada();
   imprecion();
   
}

void datosEntrada()
{
   
   
for (int i = 0; i < 3; ++i)
{
   cout << " ingresa nombre del trabajador: \n > ";
   cin>>(agenda.nombre);
   cin.ignore(256,'\n');   //borrador de buffer
   cout <<" ingresa la categoria del trabajador: \n > ";
   cin >>(agenda.cat);
   cout <<" ingresa la antiguedad del trabajador: \n > ";
   cin >>(agenda.antiguedad);
   cout <<" ingresa los dias  que laboro el trabajador: \n > ";
   cin >>(agenda.diastra);
   cout << " ingrese el pago por dia: \n > ";
   cin>>agenda.pagoDia;
   system("clear"); //borra la pantalla   

}

}


void imprecion()
{
   cout<< "como desea ordenar los resultados: ";
   cout<< "\n 2. Por Categoria \n 3. Por la antiguedad \n 4. Por los dias que trabajo \n 5. Por dia \n 6. Por sueldo total \n >";
   cin>>ord;
   switch(ord)
   {
      case 2:
      
      for (int i = 0; i < 3; ++i)
      {
         for (int j = 0; j < 3; ++j)
         {
            if (agenda[j].cat > agenda[j + 1].cat)
            {
               aux = agenda[j].cat;
               agenda[j].cat = agenda[j+1].cat;                  
               agenda[j+1].cat = aux;
            }
         }

         
      }

      cout << "                                los elementos del arreglo son:    "<<endl;


      for (int k = 0; k < 3; ++k)
      {
           salario[k] = agenda[k].diastra * agenda[k].pagoDia;
         cout << " dato " << k <<endl;
         cout <<  "con la categoria: " << agenda[k].cat <<endl;
          cout << agenda[k].nombre << " tiene un sueldo total de:  " << salario[k] <<endl;
          //cout <<  "con la categoria: " << agenda[k].cat <<endl;
          cout << "con la antigedad de: " << agenda[k].antiguedad <<endl;
          cout << "con los dias trabajados de: " << agenda[k].diastra <<endl;
          cout << "con un pago por dia de: " << agenda[k].pagoDia <<endl;
          cout<<endl;

          cin.ignore().get(); //pausa el programa
      
      }
      break;

         
      case 3:

      for (int i = 0; i < 3; ++i)
      {
         for (int j = 0; j < 3; ++j)
         {
            if (agenda[j].antiguedad > agenda[j + 1].antiguedad)
            {
               aux = agenda[j].antiguedad;
               agenda[j].antiguedad = agenda[j+1].antiguedad;                  
               agenda[j+1].antiguedad = aux;
            }
         }

      }

      cout << "                                los elementos del arreglo son:    "<<endl;


      for (int k = 0; k < 3; ++k)
      {
           salario[k] = agenda[k].diastra * agenda[k].pagoDia;
         cout << " dato " << k <<endl;
          cout << "con la antigedad de: " << agenda[k].antiguedad <<endl;
         
          cout << agenda[k].nombre << " tiene un sueldo total de:  " << salario[k] <<endl;
          cout <<  "con la categoria: " << agenda[k].cat <<endl;
          cout << "con los dias trabajados de: " << agenda[k].diastra <<endl;
          cout << "con un pago por dia de: " << agenda[k].pagoDia <<endl;
          cout<<endl;

          cin.ignore().get(); //pausa el programa
      }
      break;

      case 4:
      for (int i = 0; i < 3; ++i)
      {
         for (int j = 0; j < 3; ++j)
         {
            if (agenda[j].pagoDia > agenda[j + 1].diastra)
            {
               aux = agenda[j].diastra;
               agenda[j].diastra = agenda[j+1].diastra;                  
               agenda[j+1].diastra = aux;
            }
         }
      }

      cout << "                                los elementos del arreglo son:    "<<endl;


      for (int k = 0; k < 3; ++k)
      {
         salario[k] = agenda[k].diastra * agenda[k].pagoDia;
         cout << " dato " << k <<endl;
          cout << "con los dias trabajados de: " << agenda[k].diastra <<endl;
          cout << agenda[k].nombre << " tiene un sueldo total de:  " << salario[k] <<endl;
           //salario = agenda[k].diastra * agenda[k].pagoDia;
          cout <<  "con la categoria: " << agenda[k].cat <<endl;
          cout << "con la antigedad de: " << agenda[k].antiguedad <<endl;
          cout << "con un pago por dia de: " << agenda[k].pagoDia <<endl;
          cout<<endl;

          cin.ignore().get(); //pausa el programa
      }
      break;

      case 5:
      for (int i = 0; i < 3; ++i)
      {
         for (int j = 0; j < 3; ++j)
         {
            if (agenda[j].pagoDia > agenda[j + 1].pagoDia)
            {
               aux = agenda[j].pagoDia;
               agenda[j].pagoDia = agenda[j+1].pagoDia;                  
               agenda[j+1].pagoDia = aux;
            }
         }
      }

      cout << "                                los elementos del arreglo son:    "<<endl;


      for (int k = 0; k < 3; ++k)
      {
           salario[k] = agenda[k].diastra * agenda[k].pagoDia;
         cout << " dato " << k <<endl;
          cout << "con los dias trabajados de: " << agenda[k].diastra <<endl;
          cout << agenda[k].nombre << " tiene un sueldo total de:  " << salario[k] <<endl;
          cout <<  "con la categoria: " << agenda[k].cat <<endl;
          cout << "con la antigedad de: " << agenda[k].antiguedad <<endl;
          cout << "con un pago por dia de: " << agenda[k].pagoDia <<endl;
          cout<<endl;

          cin.ignore().get(); //pausa el programa
      }
      break;

      case 6:

      for (int o = 0; o < 3; ++o)
      {
         salario
  • = agenda
  • .diastra * agenda
  • .pagoDia;
          }

          for (int i = 0; i < 3; ++i)
          {
             for (int j = 0; j < 3; ++j)
             {
                if (salario[j] > salario [j+1])
                {
                   aux = salario[j];
                   salario[j] = salario[j+1];                  
                   salario[j+1] = aux;
                }
             }
          }

          cout << "                                los elementos del arreglo son:    "<<endl;


          for (int k = 0; k < 3; ++k)
          {
              
             cout << " dato " << k <<endl;
              cout << agenda[k].nombre << " tiene un sueldo total de:  " << salario[k] <<endl;
              cout << "con los dias trabajados de: " << agenda[k].diastra <<endl;
              cout <<  "con la categoria: " << agenda[k].cat <<endl;
              cout << "con la antigedad de: " << agenda[k].antiguedad <<endl;
              cout << "con un pago por dia de: " << agenda[k].pagoDia <<endl;
              cout<<endl;

              cin.ignore().get(); //pausa el programa
          }
          break;
           
        }

    }



    int main()
    {
       menu();
       cout << "desea continuar  [S/n]"<<endl;
       cin>>res;
       while (( res == 's') || res == 'S'){
          system("clear");
          menu();
       }
       
       cout << " adios tio ";
       cout<<endl;
       
       return 0;

    }