• Jueves 28 de Marzo de 2024, 22:57

Autor Tema:  Programa q pasa a segundos  (Leído 1168 veces)

badyalberto

  • Miembro activo
  • **
  • Mensajes: 77
    • Ver Perfil
Programa q pasa a segundos
« en: Lunes 22 de Diciembre de 2008, 19:41 »
0
Código: Text
  1.  
  2. #include<stdio.h>
  3.  
  4. int calcul_dia(int dia);
  5. int calcul_hora(int hora);
  6. int calcul_minut(int minut);
  7. int calcul_total(int segon, int segondia, int segonhora, int segonminut);
  8. void dia();
  9. void hora();
  10. void minut();
  11. void total();
  12.  
  13.  
  14. int main()
  15. {
  16.     int segondia,segonhora,segonminut,segon,total;
  17.    
  18.     printf("Programa que pasa els dias,hores, minuts a segons a mes fa la suma incluent-li el segons posats.n");
  19.     printf("n");
  20.    
  21.     dia();
  22. }
  23. void dia()
  24. {
  25.      int dia,segondia;
  26.      
  27.      printf("Introdueix el numero de dias: n");
  28.      scanf("%d", &dia);
  29.    
  30.                  if(dia => 0)
  31.                  {  
  32.                  segondia = calcul_dia(dia);
  33.                  }
  34.                  else
  35.                  {
  36.                  printf(" Has escrit un numero menor a 0. n");
  37.                  }
  38.                  hora();
  39. }
  40. void hora()
  41. {
  42.      int hora,segonhora;
  43.      
  44.      printf("Introdueix el numero de hores: n");
  45.      scanf("%d", &hora);
  46.      
  47.                  if(hora => 0)
  48.                  {  
  49.                  segonhora = calcul_hora(hora);
  50.                  {  
  51.                  else
  52.                  {
  53.                  printf(" Has escrit un numero menor a 0. n");
  54.                  }
  55.                  minut();
  56. }
  57. void minut()
  58. {
  59.      int minut,segonminut;
  60.      
  61.          printf("Introdueix el numero de minuts: n");
  62.          scanf("%d", &minut);
  63.                      if (minut => 0)
  64.                      {  
  65.                      segonminut = calcul_minut(minut);
  66.                      {  
  67.                      else
  68.                      {
  69.                      printf(" Has escrit un numero menor a 0. n");
  70.                      }
  71.                      total();
  72. }
  73. void total()
  74. {
  75.      int segon,totalsum;
  76.      
  77.      printf("Introdueix el numero de segon n");
  78.      scanf("%d" &segon);
  79.                 if ( segon => 0)
  80.                 {
  81.                 totalsum = calcul_total(segon);
  82.                 }
  83.                 else
  84.                 {
  85.                 printf(" Has escrit un numero menor a 0. n");
  86.                 }
  87.                
  88.      printf("La Conversion a segons dona com a resultat %d segons n", totalsum);
  89. }
  90. int calcul_dia(int dia)
  91. {
  92.      return dia*864000;
  93. }
  94. int calcul_hora(int hora)
  95. {    
  96.      return hora*3600;
  97. }
  98. int calcul_minut(int minut)
  99. {
  100.      return minut*60;
  101. }
  102. int calcul_total(int segon, int segondia, int segonhora, int segonminut)
  103. {
  104.     return segon + segondia + segonhora + segonminut;
  105. }
  106.  
 
Alguien sabe pq no me compila, aparte no se si esta del todo bien, pq el ultimo calcul_total no se si conocera esas variables?
 
creo q si pq todos los subprogramas stan uno dentro del otro o no ?

No se pq no me pilla los if :S
 

Eternal Idol

  • Moderador
  • ******
  • Mensajes: 4696
  • Nacionalidad: ar
    • Ver Perfil
Re: Programa q pasa a segundos
« Respuesta #1 en: Lunes 22 de Diciembre de 2008, 19:53 »
0
Esto:
Código: Text
  1.  if(dia => 0)
  2.  
es:
Código: Text
  1.  if(dia >= 0)
  2.  

En las lineas 50 y 66 tenes una llave puesta al reves { en lugar de }. En la linea 78 te falta una , para separar los parametros del scanf.

Y si, no estas llamando a calcul_total con todos los parametros necesarios.

Nacional y Popular En mi país la bandera de Eva es inmortal.


Queremos una Argentina socialmente justa, económicamente libre y  políticamente soberana.
¡Perón cumple, Evita dignifica!


La mano invisible del mercado me robo la billetera.

badyalberto

  • Miembro activo
  • **
  • Mensajes: 77
    • Ver Perfil
Re: Programa q pasa a segundos
« Respuesta #2 en: Lunes 22 de Diciembre de 2008, 19:57 »
0
no se como hacer para que el ultimo calculo tenga todas las variables :S

badyalberto

  • Miembro activo
  • **
  • Mensajes: 77
    • Ver Perfil
Re: Programa q pasa a segundos
« Respuesta #3 en: Lunes 22 de Diciembre de 2008, 20:10 »
0
Código: Text
  1.  
  2. #include<stdio.h>
  3. #include<stdlib.h>
  4.  
  5. int calcul_dia(int dia);
  6. int calcul_hora(int hora);
  7. int calcul_minut(int minut);
  8. int calcul_total(int segon, int segondia, int segonhora, int segonminut);
  9. void dia();
  10. void hora();
  11. void minut();
  12. void total();
  13.  
  14.  
  15. int main()
  16. {  
  17.     printf("Programa que pasa els dias,hores, minuts a segons a mes fa la suma incluent-li el segons posats.n");
  18.     printf("n");
  19.    
  20.     dia();
  21.    
  22. }
  23. void dia()
  24. {
  25.      int dia,segondia;
  26.      
  27.      printf("Introdueix el numero de dias: n");
  28.      scanf("%d", &dia);
  29.    
  30.                  if(dia >= 0)
  31.                  {  
  32.                  segondia = calcul_dia(dia);
  33.                  }
  34.                  else
  35.                  {
  36.                  printf(" Has escrit un numero menor a 0. n");
  37.                  }
  38.                  hora();
  39. }
  40. int hora(int segondia)
  41. {
  42.      int hora,segonhora,segondia;
  43.      
  44.      printf("Introdueix el numero de hores: n");
  45.      scanf("%d", &hora);
  46.      
  47.                  if(hora >= 0)
  48.                  {  
  49.                  segonhora = calcul_hora(hora);
  50.                  segondia = segondia + segonhora;
  51.                  }  
  52.                  else
  53.                  {
  54.                  printf(" Has escrit un numero menor a 0. n");
  55.                  }
  56.                  minut();
  57. }
  58. int minut(int segondio)
  59. {
  60.      int minut,segonminut,segondia;
  61.      
  62.          printf("Introdueix el numero de minuts: n");
  63.          scanf("%d", &minut);
  64.          
  65.                      if (minut >= 0)
  66.                      {  
  67.                      segonminut = calcul_minut(minut);
  68.                      segondia = segondia + segonminut;
  69.                      }  
  70.                      else
  71.                      {
  72.                      printf(" Has escrit un numero menor a 0. n");
  73.                      }
  74.                      total();
  75. }
  76. int total(int segondia)
  77. {
  78.      int segon,totalsum;
  79.      
  80.      printf("Introdueix el numero de segon: n");
  81.      scanf("%d", &segon);
  82.      
  83.                 if ( segon >= 0)
  84.                 {
  85.                 segondia = segondia + segon;
  86.                 }
  87.                 else
  88.                 {
  89.                 printf(" Has escrit un numero menor a 0. n");
  90.                 }
  91.                
  92.      printf("La Conversio a segons dona com a resultat %d segons n", segondia);
  93. }
  94. int calcul_dia(int dia)
  95. {
  96.      return dia*864000;
  97. }
  98. int calcul_hora(int hora)
  99. {    
  100.      return hora*3600;
  101. }
  102. int calcul_minut(int minut)
  103. {
  104.      return minut*60;
  105. }
  106.  
  107.  
  108.  
  109.  

He echo algunos cambios y ahora me sale solo ste error que no se q significa :S

41 K:Programacio Estructurada y ModularExercici6.8.cpp declaration of 'int segondia' shadows a parameter

Eternal Idol

  • Moderador
  • ******
  • Mensajes: 4696
  • Nacionalidad: ar
    • Ver Perfil
Re: Programa q pasa a segundos
« Respuesta #4 en: Lunes 22 de Diciembre de 2008, 20:48 »
0
Bueno, mira, te lo marco:

int hora(int segondia)
{
     int hora,segonhora,segondia;

No podes tener una variable local y un parametro con el mismo nombre.

Nacional y Popular En mi país la bandera de Eva es inmortal.


Queremos una Argentina socialmente justa, económicamente libre y  políticamente soberana.
¡Perón cumple, Evita dignifica!


La mano invisible del mercado me robo la billetera.