Problema C al leer flotante.

Iniciado por matver, 18 Marzo 2017, 00:33 AM

0 Miembros y 1 Visitante están viendo este tema.

matver

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;

}

.

ivancea96

scanf ("%d",&prepago);
prepago es float, pero le has indicado "%d", entero. Tendrás que poner %f.