Test Foro de elhacker.net SMF 2.1

Programación => Programación C/C++ => Mensaje iniciado por: R3Z en 26 Abril 2015, 00:36 AM

Título: Programacion Factura: DevC++
Publicado por: R3Z en 26 Abril 2015, 00:36 AM
Una Pregunta Sencilla Como Hago Para Que Me Digita La Devuelta

#include<stdio.h>
#include<conio.c>

char Descripcion[40];
int s=5,x=0;

float devuelta,Efectivo,tsueldo,itbis,Precio;

main()

{
     textbackground(WHITE);
     textcolor(6);
     clrscr();
     gotoxy(10,1);printf("------------------------------------------------------------------");
     gotoxy(27,2);printf("FACTURA PARA EL CONSUMIDOR");
     gotoxy(10,3);printf("------------------------------------------------------------------");
     gotoxy(10,4);printf("Descripcion                Itbis                      Precio RD$");
     gotoxy(10,5);printf("------------------------------------------------------------------");
     gotoxy(10,18);printf("------------------------------------------------------------------");
     gotoxy(52,17);printf("Total-->RD$");
     gotoxy(30,21);printf("Efectivo:");
     gotoxy(30,23);printf("Devuelta:");
    for(x=1; x<=10; x=x+1)
     
     {
         s=s+1;
         fflush(stdin);
         gotoxy(10,s);scanf("%s",&Descripcion);
         gotoxy(66,s);scanf("%f",&Precio);
         tsueldo=tsueldo+Precio;
         itbis=0.18*Precio;
         devuelta=tsueldo-Efectivo;
         gotoxy(64,17);printf("%.2f",tsueldo);
         gotoxy(38,s);printf("%.2f",itbis);
         gotoxy(40,23);printf("%.2f",devuelta);
         gotoxy(40,21);scanf("%f",&Efectivo);
     }
             
     
getch();          
     
}


Mod: Código resaltado con etiquetas GeSHi
Título: Re: Programacion Factura: DevC++
Publicado por: engel lex en 26 Abril 2015, 00:39 AM
recomiendo leer
http://foro.elhacker.net/programacion_cc/lo_que_no_hay_que_hacer_en_cc_nivel_basico-t277729.0.html (http://foro.elhacker.net/programacion_cc/lo_que_no_hay_que_hacer_en_cc_nivel_basico-t277729.0.html)

fflush no se debe usar con stdin

ya te imprime la devuelta an la linea 36
gotoxy(40,23);printf("%.2f",devuelta);;
Título: Re: Programacion Factura: DevC++
Publicado por: R3Z en 26 Abril 2015, 00:51 AM
Bueno me sale asi

me sale lo mismo que total siempre no se resta  solo se queda igual

Descripcion:               ITBIS:                Precio:RD$

Pollo                           40.50                          225



Efectivo:1000

Devuelta:225.00
Título: Re: Programacion Factura: DevC++
Publicado por: engel lex en 26 Abril 2015, 00:53 AM
tu pregunta
CitarUna Pregunta Sencilla Como Hago Para Que Me Digita La Devuelta

el programa
CitarDevuelta:225.00

no entiendo el problema... explicalo en detalle

lee estos 2 temas y formula con detalle tu pregunta
10 pasos para plantear una duda informática (http://foro.elhacker.net/index.php/topic,159345.msg751417.html#msg751417)
FAQ : Como hacer preguntas "inteligentes" (http://foro.elhacker.net/index.php/topic,7122.0.html)
Título: Re: Programacion Factura: DevC++
Publicado por: R3Z en 26 Abril 2015, 01:00 AM
Yo Estoy Haciendo  Una Factura como los del Supermercados


yo quiero realizar una compra de 5 productos
si el total me hace 1,500 pesos    y yo le doy 2000 pesos  yo quiero que me diga la devuelta es de (Como Hacen Con la Factura)
ejemplo               itbis(0.18*precio)                  precio RD$

Arroz                                                             200
Pollo                                                              300
Bizcocho                                                        500
Salchicha                                                       225
Jugo                                                               50


                                                          Total=la suma de los precios

Título: Re: Programacion Factura: DevC++
Publicado por: engel lex en 26 Abril 2015, 01:08 AM
primero inicializa los valores a 0

segundo
los 2000 pesos se los das al inicio o al final, pero no dentro del ciclo...

al final sumas todos los valores acumulados y le restas el efectivo... ese es tu vuelto

lee el primer link que te dejé, corrije los errores, has eso que te dije y muestra a ver como llevas el código
Título: Re: Programacion Factura: DevC++
Publicado por: R3Z en 26 Abril 2015, 01:23 AM
(http://lookpic.com/O/i2/1513/6hHc79td.jpeg)

Mira Como Sale

primero inicializa los valores a 0 so lo que quieres decir  efectivo=0 asi
Título: Re: Programacion Factura: DevC++
Publicado por: engel lex en 26 Abril 2015, 01:29 AM
si, siempre deben estar a 0 inicialmente porque pueden contener basura de la memoria, al parecer tu compilador la limpia, pero eso no es parte del standard...

modificaste el código? muestra tus cambios
Título: Re: Programacion Factura: DevC++
Publicado por: R3Z en 26 Abril 2015, 01:35 AM
Lo Estoy Modificando Poco A Poco Pero sigue igual


#include<stdio.h>
#include<conio.c>

char Descripcion[40];
int s=5,x=0;

float total,devuelta,Efectivo=0,valor,tsueldo,itbis,Precio;

main()

{
      textbackground(WHITE);
      textcolor(6);
      clrscr();
      gotoxy(10,1);printf("------------------------------------------------------------------");
      gotoxy(27,2);printf("FACTURA PARA EL CONSUMIDOR");
      gotoxy(10,3);printf("------------------------------------------------------------------");
      gotoxy(10,4);printf("Descripcion                Itbis                      Precio RD$");
      gotoxy(10,5);printf("------------------------------------------------------------------");
      gotoxy(10,18);printf("------------------------------------------------------------------");
      gotoxy(52,17);printf("Total-->RD$");
      gotoxy(30,21);printf("Efectivo:");
      gotoxy(30,23);printf("Devuelta:");
     for(x=1; x<=10; x=x+1)
     
      {
          s=s+1;
          fflush(stdin);
          gotoxy(10,s);scanf("%s",&Descripcion);
          gotoxy(66,s);scanf("%f",&Precio);
          tsueldo=tsueldo+Precio;
          itbis=0.18*Precio;
          gotoxy(64,17);printf("%.2f",tsueldo);
          gotoxy(38,s);printf("%.2f",itbis);
     
      }
      devuelta=tsueldo-Efectivo; 
      gotoxy(40,21);scanf("%f",&Efectivo);
      gotoxy(40,23);printf("%.2f",devuelta);;   
     
getch();         
     
}
Título: Re: Programacion Factura: DevC++
Publicado por: engel lex en 26 Abril 2015, 01:44 AM
hombre cuando programes, sientate a pensar bien la logica primero ;)

devuelta=tsueldo-Efectivo; 
      gotoxy(40,21);scanf("%f",&Efectivo);
      gotoxy(40,23);printf("%.2f",devuelta);   


primero restas el efectivo y luego le das valor...

Citardevuelta = 1800 - 0
efectivo = 2000
imprimir(devuelta) -> 1800

todos los valores que no van a recibir valor directo deben ir inicializados (tsueldo tambien)

procura usar las etriquetas GeSHi (en lugar de usar el #, a su derecha hay un combobox que dice GeSHi)
Título: Re: Programacion Factura: DevC++
Publicado por: R3Z en 26 Abril 2015, 02:20 AM
al efectivo tu no le puede asignar un valor si tu no sabes como el cliente va pagar

Código (cpp) [Seleccionar]
#include<stdio.h>
#include<conio.c>

char Descripcion[40];
int s=5,x=0;

float Efectivo=2000,devuelta=0,valor,tsueldo=0,itbis,Precio;

main()

{
      textbackground(WHITE);
      textcolor(6);
      clrscr();
      gotoxy(10,1);printf("------------------------------------------------------------------");
      gotoxy(27,2);printf("FACTURA PARA EL CONSUMIDOR");
      gotoxy(10,3);printf("------------------------------------------------------------------");
      gotoxy(10,4);printf("Descripcion                Itbis                      Precio RD$");
      gotoxy(10,5);printf("------------------------------------------------------------------");
      gotoxy(10,18);printf("------------------------------------------------------------------");
      gotoxy(52,17);printf("Total-->RD$");
      gotoxy(30,21);printf("Efectivo:RD$");
      gotoxy(30,23);printf("Devuelta:RD$");
     for(x=1; x<=5; x=x+1)
     
      {
          s=s+1;
          fflush(stdin);
          gotoxy(10,s);scanf("%s",&Descripcion);
          gotoxy(66,s);scanf("%f",&Precio);
          tsueldo=tsueldo+Precio;
          itbis=0.18*Precio;
          gotoxy(64,17);printf("%.2f",tsueldo);
          gotoxy(38,s);printf("%.2f",itbis);
     
      }
     
      valor=tsueldo-Efectivo;
      gotoxy(42,23);printf("%.2f",valor); 
     
getch();         
     
}
Título: Re: Programacion Factura: DevC++
Publicado por: engel lex en 26 Abril 2015, 02:28 AM
repito
hombre cuando programes, sientate a pensar bien la logica primero ;)

devuelta=tsueldo-Efectivo;  
     gotoxy(40,21);scanf("%f",&Efectivo);
     gotoxy(40,23);printf("%.2f",devuelta);  


primero restas el efectivo y luego le das valor...

Citardevuelta = 1800 - 0
efectivo = 2000
imprimir(devuelta) -> 1800


debe ser
     gotoxy(40,21);scanf("%f",&Efectivo);
      devuelta=tsueldo-Efectivo;  
     gotoxy(40,23);printf("%.2f",devuelta);  

para que sea

Citarefectivo = 2000
devuelta = 2000- 1800

imprimir(devuelta) -> 200

Título: Re: Programacion Factura: DevC++
Publicado por: R3Z en 26 Abril 2015, 02:34 AM
ya lo termine iva borra lo que puso hace 6min  

solo tuve que pensar un chin







Gracias Engel Lex Se Le Agradece mucho




Código (cpp) [Seleccionar]
#include<stdio.h>
#include<conio.c>

char Descripcion[40];
int s=5,x=0;

float Efectivo=0,devuelta,valor,tsueldo,itbis,Precio;

main()

{
     textbackground(WHITE);
     textcolor(6);
     clrscr();
     gotoxy(10,1);printf("------------------------------------------------------------------");
     gotoxy(27,2);printf("FACTURA PARA EL CONSUMIDOR");
     gotoxy(10,3);printf("------------------------------------------------------------------");
     gotoxy(10,4);printf("Descripcion                Itbis                      Precio RD$");
     gotoxy(10,5);printf("------------------------------------------------------------------");
     gotoxy(10,18);printf("------------------------------------------------------------------");
     gotoxy(52,17);printf("Total-->RD$");
     gotoxy(30,21);printf("Efectivo:RD$");
     gotoxy(30,23);printf("Devuelta:RD$");
    for(x=1; x<=5; x=x+1)
     
     {
         s=s+1;
         fflush(stdin);
         gotoxy(10,s);scanf("%s",&Descripcion);
         gotoxy(66,s);scanf("%f",&Precio);
         tsueldo=tsueldo+Precio;
         itbis=0.18*Precio;
         gotoxy(64,17);printf("%.2f",tsueldo);
         gotoxy(38,s);printf("%.2f",itbis);
     
     }
     Efectivo=0;
     gotoxy(42,21);scanf("%f",&Efectivo);
     valor=tsueldo - Efectivo;
     gotoxy(42,23);printf("%.2f",valor);  
     
getch();          
     
}



(http://lookpic.com/O/i2/1770/qIlSNjyU.jpeg)

Mod: No hagas doble post, usa el botón modificar
Título: Re: Programacion Factura: DevC++
Publicado por: engel lex en 26 Abril 2015, 02:45 AM
te falta algo... un error logico... da -900 por qué? ;) corrigelo
Título: Re: Programacion Factura: DevC++
Publicado por: R3Z en 26 Abril 2015, 03:04 AM
Código (cpp) [Seleccionar]

   
     gotoxy(42,21);scanf("%f",&Efectivo);
     Efectivo=0;
     valor=Efectivo - tsueldo;
     gotoxy(42,23);printf("%.2f",valor);



ya era el valor

Ahora Ni Se Donde ponerlo  como quiere Sale Menos
Título: Re: Programacion Factura: DevC++
Publicado por: engel lex en 26 Abril 2015, 03:36 AM
gotoxy(42,21);scanf("%f",&Efectivo);
Efectivo=0;//<- error!!! esto no va
valor=Efectivo - tsueldo;
gotoxy(42,23);printf("%.2f",valor);


mira lo que haces! lees el valor de efectivo y luego lo vuelves 0!!! cuidado con eso!
Título: Re: Programacion Factura: DevC++
Publicado por: R3Z en 26 Abril 2015, 03:51 AM
si me di cuenta lo estaba declarando dos veces


Gracias Engel Lex Fuiste una Gran ayuda