Test Foro de elhacker.net SMF 2.1

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:


#include <stdio.h>
#include <math.h>
#include <iostream>
#include <conio.h>
#include <locale.h>
float prepago,pago, debo;
int main (int){
setlocale(LC_ALL, "spanish");

printf ("Ingrese precio del articulo:\n");
scanf ("%d",&prepago);
printf ("Ingrese cantidad entregada por el cliente:\n");
scanf("%f",&pago);
debo = pago - prepago;
printf ("El cambio a entregar es %g$.", debo);

getch ();
return 0;

}

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