Programación General > C/C++
Operacion con muchos digitos
jokerm:
Hola a todos, me da gusto tener este foro como apoyo en mi aprendizaje. Posteo un inconveniente que me surge y espero puedan ayudarme.
Lo que quiero hacer es una operacion en la que la computadora me de el numero total de segundos y que de su equivalencia en semanas, pero al realizar la operacion no es correcto el resultado.
Tengo el siguiente codigo
--- Código: C ---#include <stdio.h>#define seg 3600 void main(){double prueba,semana; clrscr(); printf("Ingrese no de segundos para convertirlos"); scanf("%f",&segundo); prueba = 24*12*seg; //Aqui hago una simple operacion para determinar los seg en 1 semana, pero el resultado que arroja no es el correcto semana = segundo/(24*12*seg); //Aqui hace la operacion mas aparte una division, tampoco es correcto el resultado mostrado printf("Son %g segundos en 1 semana n" "Sond %g semanas",prueba,semana); getch();}
Agradesco mucho señlen mi error.
Saludos
Amilius:
No veo por ningún lado la declaración de la variable segundo.
Y es mejor usar constantes con tipo, como "24.0f".
ProfesorX:
No se entiende bien que es lo que quieres hacer.
1. ¿Dado "x" segundos, quieres saber el equivalente en semanas? o
2. ¿Dado "x" semanas quieres saber el equivalente en segundos?
En todo caso tu formula esta mal. ya que una semana no contiene 12 dias.
Las equivalencias son asi:
1 semana = 7 dias
1 dia = 24 horas
1 hora = 60 minutos,
1 minuto = 60 segundos.
Por lo tanto, las formulas quedarian:
1. semanas = segundos / (7.0*24.0*60.0*60.0)
o
2. segundos = semanas*7.0*24.0*60.0*60.0
ademas, para imprimir valores flotantes con printf, se utiliza %f y no %g
Bueno, esos son los errores que note, ojala te sirva.
Saludos :)
jokerm:
Si, perdon esta mal la operacion pero igual, lo que quiero es hacer esta operacion simplemente
float segundos;
segundos = 24*7*3600
printf(¨Tenemos %f¨,segundos);
Pero el valor que imprime no es el correcto, ese es el problema
cltomas:
¿Y en que momento declaraste la variable segundo?... No me entero muy bien, coloca el código que tienes... al primero le falt declarar segundo o segundos ....
Navegación
[#] Página Siguiente
Ir a la versión completa