Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: matver en 30 Marzo 2017, 19:28 pm



Título: ¿Que es lo que pasa?
Publicado por: matver en 30 Marzo 2017, 19:28 pm
El siguiente programa esta pensado para un salón de ventas, donde al final del día se ingresan todas las ventas efectuadas, para luego saber el bruto  en ventas, pero cuando ingreso un valor con decimales, el programa se vuelve loco, como si esperase otro tipo de dato. Con números enteros funciona bien.
Código
  1. #include <stdio.h>
  2. #include <locale.h>
  3. #include <conio.h>
  4. int Ingreso, Salida = -1, contador;
  5. float ventas;
  6. float    acumulador = 0;
  7.  
  8.  
  9. int main (int){
  10. setlocale(LC_ALL, "spanish");
  11. printf ("Salón de ventas Nely\n");
  12. printf ("para ingresar al programa digite 1;\n");
  13. scanf("%i",&Ingreso);
  14.   while (Ingreso !=  Salida){
  15.  
  16.       printf ("Ingres monto de la venta:\n");
  17.       scanf("%f",&ventas);
  18.       acumulador = acumulador +  ventas;
  19.       printf ("para salir de programa digite -1 para continuar digite 2;\n");
  20.       scanf("%i",&Ingreso);
  21. }
  22.  
  23. printf ("EL total  de ventas del día es es: %g$",acumulador);
  24.  
  25. return 0;
  26. }
  27.  
Puede alguien explicarlo. estoy usando Dev 4.9.9.2


Título: Re: ¿Que es lo que pasa?
Publicado por: engel lex en 30 Marzo 2017, 19:36 pm
ese programa sin conio, ni locale, me funciona perfecto

has una captura de pantalla de una ejecución para ver el error


Título: Re: ¿Que es lo que pasa?
Publicado por: matver en 30 Marzo 2017, 19:48 pm
Estaba usando  "." en ves de "," utilizando la "," como separador decimal, ahora si que me funciona perfecto. Gracias.