• Domingo 15 de Diciembre de 2024, 06:56

Autor Tema:  Ayuda Con Una Estructura!!!!!!!!!!  (Leído 1295 veces)

elpollo12

  • Nuevo Miembro
  • *
  • Mensajes: 19
    • Ver Perfil
Ayuda Con Una Estructura!!!!!!!!!!
« en: Domingo 29 de Julio de 2007, 23:00 »
0
Q tal amigos.... tengo un pequeño problema con una estructura. El programa debe cargar los datos de un trabajador (nombre, apellido, dias trabajados, precio del dia de trabajo, etc) todo esto dentro de la función main, pero debe realizar los calculos de pago x horas extras, sueldo bruto y salario neto... en funciones distintas al main; y ademas en otra funcion ordenar mediante el método de la burbuja los salarios netos en forma asecendente......

Ya yo realize el codigo con los calculos en funciones distintas, y funcionó bien, pero a la hora de crear la funcion para la burbuja tengo problemas.... la verdad no se como hacer para extraer de forma correcta los valores calculados.... y pasarlos a la otra función..... Agradecería mucho sus sugerencias......

Ah aquí les dejo el código que he realizado hasta ahora..... B)

Código: Text
  1. #include<iostream.h>
  2. #include<conio.h>
  3. struct trabajador  {
  4. double dt,pdt,che,he,phe,sn,sb,d,d1;
  5. char nombre[20],apellido[20];
  6. int edad;
  7.        };
  8. double sueldobruto(trabajador a);
  9. double desc(trabajador a);
  10. double des(trabajador a);
  11. double pagohe(trabajador a);
  12. double sueldoneto(trabajador a);
  13. main()
  14. {
  15. textcolor(0);
  16. textbackground(2);
  17. int i;
  18. clrscr();
  19. trabajador s[3];
  20. for(i=0;i<3;i++) {
  21. cout<<"                           Datos del "<<i+1<<" trabajador"<<endl;
  22. cout<<"                                                         "<<endl;
  23. cout<<"Ingrese el nombre: ";
  24. cin>>s[i].nombre;
  25. cout<<"Ingrese el apellido: ";
  26. cin>>s[i].apellido;
  27. cout<<"Ingrese la edad: ";
  28. cin>>s[i].edad;
  29. cout<<"Ingrese la cant de dias trabajados: ";
  30. cin>>s[i].dt;
  31. cout<<"Ingrese el precio del dia de trabajo: ";
  32. cin>>s[i].pdt;
  33. cout<<"Ingrese la cantidad de horas extras: ";
  34. cin>>s[i].che;
  35. cout<<"                                        "<<endl;
  36. cout<<"Nombre: "<<s[i].nombre<<endl;
  37. cout<<"Apellido: "<<s[i].apellido<<endl;
  38. cout<<"Edad: "<<s[i].edad<<endl;
  39. cout<<"El salario bruto es: "<<sueldobruto(s[i])<<endl;
  40. cout<<"El descuento por IVSS es: "<<desc(s[i])<<endl;
  41. cout<<"El descuento por Caja de Ahorros es: "<<des(s[i])<<endl;
  42. cout<<"El pago por horas extras es: "<<pagohe(s[i])<<endl;
  43. cout<<"El salario neto es: "<<sueldoneto(s[i])<<endl;
  44. getch(); }
  45. return 0;
  46. }
  47. double sueldobruto(trabajador a) {
  48. return (a.dt*a.pdt); }
  49. double desc(trabajador a) {
  50. return ((a.dt*a.pdt)*0.05); }
  51. double des(trabajador a) {
  52. return ((a.dt*a.pdt)*0.10); }
  53. double pagohe(trabajador a) {
  54. return (a.che)*2*(a.pdt/8); }
  55. double sueldoneto(trabajador a) {
  56. double b;
  57. b=(a.dt*a.pdt)+(a.che)*2*(a.pdt/8)-((a.dt*a.pdt)*0.05)-(((a.dt*a.pdt)*0.10));
  58. return b; }
  59.  
  60.  
  61.  
  62.  
  63.  
cout<<" by elpollo 12 "<<endl;



ProfesorX

  • Moderador
  • ******
  • Mensajes: 796
  • Nacionalidad: mx
    • Ver Perfil
Re: Ayuda Con Una Estructura!!!!!!!!!!
« Respuesta #1 en: Miércoles 1 de Agosto de 2007, 20:52 »
0
Y donde guardas el valor del salario neto?

Para poder ordenar por el metodo de la burbuja, necesitas guardar ese valor en la estructura, por lo que pude apreciar, solo lo calculas, pero no lo guardas.

Veo que en todos lados calculas el valor, pero no guardas nada en la estructura, si guardaras, te asuguro que se te simplificarian mucho las cosas ;)

un simple:

Código: Text
  1.  
  2. s[i].sn = sueldoneto(s[i]);
  3. cout&#60;&#60;&#34;El salario neto es: &#34;&#60;&#60;s[i].sn&#60;&#60;endl;
  4.  
  5.  

para guardar el valor del sueldo neto, una vez guardado el valor en s.sn, ya puedes ordenar por cualquier metodo que quieras, en este caso burbuja.

te recomendaria tambien que guardes el resto de valores en la estructura, en lugar de calcular cada vez que quieras impirmir

Código: Text
  1.  
  2. s[i].sb = sueldobruto(s[i]);
  3. s[i].d = desc(s[i]);
  4.  
  5.  

y asi para todos los valores

Saludos :)

NOTA:
==================================================================
Este foro es para ayudar, aprender, compartir... usenlo para eso,
NO SE RESUELVEN DUDAS POR MENSAJE PRIVADO Y MENOS POR CORREO
==================================================================

elpollo12

  • Nuevo Miembro
  • *
  • Mensajes: 19
    • Ver Perfil
Re: Ayuda Con Una Estructura!!!!!!!!!!
« Respuesta #2 en: Jueves 2 de Agosto de 2007, 16:59 »
0
Ok muchas gracias por su respuesta Profesor x, fue de mucha ayuda.... ya logré resolver el problema.... :D ....


Saludos B)
cout<<" by elpollo 12 "<<endl;