Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: matver en 18 Marzo 2017, 00:33 am



Título: Problema C al leer flotante.
Publicado por: matver en 18 Marzo 2017, 00:33 am
El problema es que en plataforma win compilado con dev.c++ al leer números  con coma flotante en el primer "scanf" su produce un error, el programa  continua llenando por si solo el segundo "scanf" realiza la operación con valores errados:
Código
  1.  
  2. #include <stdio.h>
  3. #include <math.h>
  4. #include <iostream>
  5. #include <conio.h>
  6. #include <locale.h>
  7. float prepago,pago, debo;
  8. int main (int){
  9. setlocale(LC_ALL, "spanish");
  10.  
  11. printf ("Ingrese precio del articulo:\n");
  12. scanf ("%d",&prepago);
  13. printf ("Ingrese cantidad entregada por el cliente:\n");
  14. scanf("%f",&pago);
  15. debo = pago - prepago;
  16. printf ("El cambio a entregar es %g$.", debo);
  17.  
  18. getch ();
  19. return 0;
  20.  
  21. }
  22.  
  23.  
.


Título: Re: Problema C al leer flotante.
Publicado por: ivancea96 en 18 Marzo 2017, 01:26 am
Código
  1. scanf ("%d",&prepago);
prepago es float, pero le has indicado "%d", entero. Tendrás que poner %f.