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
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);;
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
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)
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
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
(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
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
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();
}
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)
al efectivo tu no le puede asignar un valor si tu no sabes como el cliente va pagar
#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();
}
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
ya lo termine iva borra lo que puso hace 6min
solo tuve que pensar un chin
Gracias Engel Lex Se Le Agradece mucho
#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
te falta algo... un error logico... da -900 por qué? ;) corrigelo
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
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!
si me di cuenta lo estaba declarando dos veces
Gracias Engel Lex Fuiste una Gran ayuda