Programación General > C/C++

 Operacion con muchos digitos

<< < (2/4) > >>

jokerm:
HOla, mira este es mi codgio en concreto, lo corro y todo pero el valor que arroja no es correcto.

Uso windows y como compilador uso turbo c 3.5


--- Código: C ---#include <stdio.h>   void main() { float semana;     clrscr();     semana = (24*7*3600);     printf("Son %f ",semana);     getch(); } 

m0skit0:
A mí me funciona correctamente bajo Linux.


--- Código: C ---#include <stdio.h> int main(){    float semana;    //clrscr();    semana = (24*7*3600);    printf("Son %f ",semana);    //getch();    return 0;} 

--- Código: Text ---$ gcc -o prueba prueba.c$ ./pruebaSon 604800.000000$ Así que el problema no es tu código, sino muy probablemente el compilador. No sé para qué sigues usando un compilador tan obsoleto como Turbo C 3.5.

cltomas:
A mí también me funciona bien y estoy en Debian Gnu/linux, te recomiendo que utilices gcc para windows, como dice m0skito debe ser problema del compilador... Saludos

ProfesorX:
Bueno, yo agregare a lo que te contestaron una cosa, tu dices que el valor que obtienes no es el correcto, pero nunca mencionas cual es el resultado que obtienes, y cual resultado esperas obtener.

Porque como bien te dijeron antes, el resultado de esa multipilicacion es 604800.00, y ese es el mismo resultado que yo obtengo tambien, utilizando Visual C++ 2010, si ese resultado es el que obtienes, entonces es correcto, ya que nunca mencionas que resultado esperas obtener, ya en mi otro mensaje te pregunte si querias obtener semanas (dando los segundos) o segundos (dando las semanas), quizas esperabas otro resultado, en cuyo caso estas equivocado en cuanto a la manera de obtener el resultado que quieres, pero dado que nunca mencionas cual resultado esperas obtener, al final resulta que estamos adivinando el resultado que crees que deberias obtener ;)

Ahora, si no obtienes como resultado 604800.00 (cosa que dudo, pero no puedo comprobarlo, pues ya no uso Turbo C++), entonces si, muy probablemente se deba a que tu compilador es obsoleto, pero como dije antes, dudo mucho que no te de 604800.00, ya que la manera en que los compiladores almacenna los valores de tipo float no ha cambiado mucho.

Mi codigo, modificado para Visual C++ 2010

--- Código: C++ --- #define _CRT_SECURE_NO_WARNINGS#include <cstdio>  int main(){float semana;     semana = (24*7*3600);     printf("Son %f ",semana);     return 0; } 
Saludos :)

jokerm:
SI concluyo que es el compilador, en gnu/linux si me arroja el resultado correcto. Y respecto a porque uso este compilador es debido a que el programa escolar marca usar el dichoso turbo c, y nuestra lucida maestra no sabe usar otro que no sea este, si no corre en turbo c esta mal.

Miren una captura del codigo en turbo c

"img576.imageshack.us/i/dibujoglt.jpg/"

Y la captura de la pantalla al correr el codigo en turbo c

"img695.imageshack.us/i/dibujo2bre.jpg/"

No se porque el resultado no es 604,800

PD: Las imagenes las pongo en link porque no tengo privilegios para ponerlas como se debe

Navegación

[0] Índice de Mensajes

[#] Página Siguiente

[*] Página Anterior

Ir a la versión completa