Programacion Factura: DevC++

Iniciado por R3Z, 26 Abril 2015, 00:36 AM

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

R3Z

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

engel lex

recomiendo leer
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);;
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.

R3Z

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

engel lex

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
FAQ : Como hacer preguntas "inteligentes"
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.

R3Z

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


engel lex

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
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.

R3Z



Mira Como Sale

primero inicializa los valores a 0 so lo que quieres decir  efectivo=0 asi

engel lex

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
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.

R3Z

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();         
     
}

engel lex

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)
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.