You are on page 1of 10

Codigo de C++ que imita a una caja registradora simple, permitiendo generar un archivo de texto imitando un poco una

factura. Compilado con g++ de MinGW 5.1.4

/* * Programa: Caja Registradora * * Descripcion: Simple programa que imita a una caja registradora. * * Autor: Abraham Tern(Leek)(http://atsprogramming.blogspot.com/) */

#include <fstream> #include <iostream> using namespace std;

int inicio() { system("title Caja Registradora v.0.0(BETA) - "); cout << " Caja Registradora v.0.0(BETA)" << endl; cout << "" << endl; cout << "

" << endl; system("pause"); system("cls"); }

int main() { inicio(); double hora = 0.0; double precio = 0.0; string iva_ono;

string factura_ono; cout << "Ingrese la hora: "; cin >> hora; cout << " Ingrese el precio del producto: "; cin >> precio; cout << "El precio incluye I.V.A.? (si/no) > "; cin >> iva_ono; if (iva_ono == "si") { cout << "Precio sin I.V.A incluido: " << precio << endl; } else if (iva_ono == "no") { double cobro_total = (precio * 15) / 100; cout << "Precio con I.V.A incluido: " << cobro_total << endl; } else { cout << "Opcion no valida." << endl; main(); } cout << "El cliente desea factura? (si/no) > "; cin >> factura_ono; if (factura_ono == "si") { ofstream factura; factura.open("factura.txt"); factura << "Hora de la compra: " << hora << endl; factura << "Precio sin I.V.A: " << precio << endl; factura << "Precio con I.V.A: " << (precio * 15) / 100 << endl; factura.close(); cout << "Factura generada(factura.txt)" << endl; system("pause"); system("factura.txt"); system("pause"); } else if (factura_ono == "no") { cout << "Operacion finalizada." << endl;

system("pause"); } else { cout << "Opcion no valida" << endl; main(); } main(); }

/* * Caja Registradora * En un supermercado durante un da, no se sabe cuntos productos se ingresarn. * Se finaliza el ingreso de datos con un valor cero o negativo. * Se solicita: * a) Cantidad de productos vendidos * b) Monto total de ventas * c) Valor del producto vendido con mayor precio * C++ */ #include<stdio.h> #include<iostream> using namespace std; int main() { float precio; int cont = 0; float suma = 0; float mayorPrecio = -1; printf("Ingrese precio "); scanf("%f",&precio); while(precio > 0) { cont++; suma += precio; if(precio > mayorPrecio) mayorPrecio = precio; printf("Ingrese precio "); scanf("%f",&precio); } printf("Cantidad : %d\n",cont); printf("Suma total : %f\n",suma); printf("Precio mayor : %f\n",mayorPrecio); system("pause"); }

Este es el ejercicio: Se pide crear un programa en C que simule el comportamiento de una caja registradora de supermercado, en donde se permita: - Se ingresen X ventas y por cada venta se puedan ingresar N precios que corresponden a los productos de la venta. - Muestre la suma total de la venta. - Muestre la cantidad de ventas hechas. - Muestre cuantos fueron los artculos vendidos o ingresados. - El precio del producto ms caro. - El precio del producto ms barato. - El promedio de los precios de productos ingresados.

#include <stdio.h> #include <stdlib.h> #define TAM 500 int main(){ int i,j; int xventas,nprecios,articulos=0; float valor,totalprecios=0,mayor,menor,element //totalprecios acumula el total de los precios ingresados //articulos es un contador que indicara el total de articulos ingresados float matriz[TAM][TAM],totales[TAM];

printf("\t\tCAJA REGISTRADORA\n"); printf("Ingresar numero ventas:"); scanf("%d",&xventas); printf("Ingresar numero precios:"); scanf("%d",&nprecios); matriz[nprecios][xventas]; totales[xventas]; //Ingreso de de precios por venta en la matriz[ventas][precios] for (j=0;j<xventas;j++){ printf("Venta # %d\n",j+1); for (i=0;i<nprecios;i++){ printf("Ingrese precio producto %d:",i+1); scanf("%f",&valor); matriz[i][j]=valor; totalprecios=totalprecios+matriz[i][j];

articulos++; } } printf("\nTABLA DE VENTAS\n"); for (i=0;i<nprecios;i++){ for (j=0;j<xventas;j++){ printf("%0.2f\t",matriz[i][j]); } printf("\n"); } --------------------------------------------//Total por ventas ejemplo supongamos que sean 3 ventas //totales[]={120,342,345}; //Inicializo en cero el vector totales ya que cada casilla sera //un acumulador, el cual va ir almacenando el valor total de cada venta for (j=0;j<xventas;j++){ totales[j]=0; } for (j=0;j<xventas;j++){ for (i=0;i<nprecios;i++){ //saco el total por cada columna(venta) totales[j]=totales[j]+matriz[i][j]; } } printf("\nRESULTADOS POR VENTAS:\n"); //Muestro el total por ventas for (j=0;j<xventas;j++){ printf("Total venta %d: %0.2f\n",j+1,totales[j]); }

printf("Cantidad de ventas realizadas: %d\n",xventas); printf("Cantidad de articulos vendidos/ingresados: %d\n",articulos);

//Calculo el precio del producto mas caro y barato mayor = matriz[0][0]; menor = matriz[0][0]; elemento = 0; for(i=0;i<xventas;i++){ for(j=0;j<nprecios;j++){ elemento = matriz[i][j];

if(elemento>mayor){ mayor=elemento; } if(elemento<menor){ menor=elemento; } } } printf("Precio del producto mas caro: %0.2f\n",mayor); printf("Precio del producto mas barato: %0.2f\n",menor); printf("Promedio de los precios de productos ingresados: %0.2f\n",totalprecios/(xventas*nprecios)

system("Pause"); return 0; }

C++ Caja Registradora


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

int monto_venta(); int monto_iva(int); int total_pagar(); //funcion principal int dinero_cliente(int); int cambio_cliente(int,int); int caja (int); ///////////////////////////////// int main() { int caja=0,i=0; do{ gotoxy(60,25);cout<<"Caja: "<<caja<<"Bs"<<endl; gotoxy(15,25);cout<<"Cantidad de Clientes: "<<(i+1); gotoxy(20,3);cout<<"Hola Bienvenido A la Tienda 'Estas Robado' "<<endl; caja=caja+total_pagar(); getch();

i++; clrscr(); }while(i<10); } ///////////////////////////////// int monto_venta() { int precio; gotoxy(20,5);cout<<"Indique El precio del Producto: "<<" gotoxy(52,5);cin>>precio; return(precio); } /////////////////////////////// int monto_iva(int precio) { int iva=24; int calculo; calculo=(precio*iva)/100; return (calculo); } //////////////////////////////////// int total_pagar() { int ventas; int precio=monto_venta(); ventas=precio+ monto_iva(precio); return dinero_cliente(ventas); } ///////////////////////////////// int dinero_cliente(int ventas) { int dinero; TETO: gotoxy(25,7);cout<<"Monto A Pagar: "<<ventas<<" Bs"<<endl; gotoxy(27,9);cout<<"Ingrese Dinero: "; gotoxy(44,9);cin>>dinero; if(dinero<ventas) { gotoxy(27,10);cout<<"valor invalido"; getch(); goto TETO;} return cambio_cliente(dinero,ventas); } int cambio_cliente(int dinero, int ventas) { int vuelto; vuelto=(dinero-ventas); gotoxy(25,11);cout<<"Su Vuelto es: "<<vuelto<<" Bf"<<endl; return caja(ventas); } int caja (int ventas) { gotoxy(25,13);cout<<"Ganancia En Caja Pr la Venta : "<<ventas<<" Bf"<<endl; return(ventas); }

Bf"<<endl;

CAJA REGISTRADORA EN COBOL necesito abrir una caja registradora, conectado a una impresora epson tmu200, no tego el manual de cobol para saber cual es el valor de las secuencias de esc si alguno me puede ayudar se los agredeceria . la instruccion en la siguiente: ESC p m T1 T2 gracias Aqui tienes un ejemplo pequeo y rapido de hacerlo: IDENTIFICATION DIVISION. PROGRAM-ID. CAJON. ENVIRONMENT DIVISION. CONFIGURATION SECTION. SPECIAL-NAMES. DECIMAL-POINT IS COMMA. INPUT-OUTPUT SECTION. FILE-CONTROL. SELECT PFILE ASSIGN TO PRINT "PRINTER". DATA DIVISION. FILE SECTION. FD PFILE RECORD CONTAINS 132 CHARACTERS. 01 FD-RECORD PIC X(132). WORKING-STORAGE SECTION. 01 STATUS-VEH PIC XX. 01 WS-DATA. 03 FILLER-1 PIC X(132) VALUE SPACES. PROCEDURE DIVISION. NORMAL SECTION. MASCARA-01. OPEN OUTPUT PFILE. MOVE H"1b70000505" TO FILLER-1. WRITE FD-RECORD FROM WS-DATA. CLOSE PFILE. EXIT PROGRAM. El codigo de escape para la apertura de la caja es 1b70000505. Suerte.

#include <iostream> using namespace std; int main() { float Codigo_Producto, Precio, total, subtotal=0, iva; cout<<"Ingrese codigo(-1 para finalizar): "; cin>>Codigo_Producto; while(Codigo_Producto!=-1) { cout<<"Ingrese precio: "; cin>>Precio; subtotal += Precio; cout<<"C.P. : "<<Codigo_Producto<<endl; cout<<"$"<<Precio<<endl<<endl; cout<<"Ingrese codigo(-1 para finalizar): "; cin>>Codigo_Producto; } iva = subtotal * 0.15; total = subtotal + iva; cout<<"SUBTOTAL "<<subtotal<<endl <<"IVA: "<<iva<<endl <<"TOTAL: "<<total<<endl; system("Pause"); return 0; }

Esta es una caja registradora que hice en C, esta muy simple pero espero le sea de utilidad a alguien, si tienen alguna implementacion que compartir favor de postearla como comentario, saludos! //Ismael Asis Alvarado Huchim// //Fecha: 17/Febrero/2009// #include #include int main() { float x,j,y,resta; int i; i=7; float cambio [8]={.1,.2,.5,1,2,5,10,20}; printf("Introduzca costo de articulo\n"); scanf("%f",&x); printf("Introduzca dinero recibido\n"); scanf("%f",&y);

resta = y-x; printf ("Su cambio es $%f\n", resta); while (resta >0&&i>=0) { j = resta/cambio[i]; resta= fmod(resta,cambio[i]); printf("Recibe %.1f de $%f\n", j,cambio[i]); i--; }

system("PAUSE"); return 0; }

You might also like