Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /* Prac13.cpp
- Programa Contando Dinero
- Basado en la practica 7 del Cuaderno de Ejercicios Programacion I
- En esta ocasion, creamos un control de Tab para dividir la pantalla y mostrar
- las dos operaciones: 1) Contar el dinero y 2) Convertir a otra divisa
- Notemos que crearemos hasta 3 ventanas con los controles debidos para cada una
- a fin de facilitar la tarea, asimismo, deberemos hacer 3 procedimientos de forma
- para que se ejecuten correctamente.
- Por: LSC Sergio Hugo Sanchez O.
- Fecha: 19/Mayo/2011
- */
- #include <radc++.h>
- //Declaracion de variables
- int nVeinte, nCincuenta, nCien, nDoscientos, nQuinientos, nMil, nSumBill;
- int nUno, nDos, nCinco, nDiez, nSumCoin;
- int nTotal;
- int nDlls, nEuros;
- //Establecemos la ventana principal, asi como un control de pestañas con 2 tabs
- // y una ventana extra
- Form Form1("Contando Dinero",130,180,624,450,RCP_SIMPLE);
- Tab pgTab("",AUTO_ID,0,0,Form1.cwidth, Form1.cheight, Form1);
- TabPage p1 = pgTab.addPage("Calcular");
- TabPage p2 = pgTab.addPage("Convertir");
- Form Form2("",0,0,600,400,RCP_NONE, true, true, false, false, false, Form1, true, 0);
- Form Form3("",0,0,400,300,RCP_NONE,true, true, false, false, false, Form1, true, 0);
- // Contando dinero. Billetes
- Label lblBill("Billetes",AUTO_ID, 7,10,100,20, Form2);
- Label lblCoin("Monedas",AUTO_ID, 200,10,100,20, Form2);
- SunkLine line1(5,30,500,2,Form2);
- Label lbl20("Veinte",AUTO_ID,7,51,60,25,Form2);
- NumberBox txt20("",AUTO_ID,84,44,67,25,Form2);
- Label lbl50("Cincuenta",AUTO_ID,7,86,71,25,Form2);
- NumberBox txt50("",AUTO_ID,84,84,67,25,Form2);
- Label lbl100("Cien",AUTO_ID,7,121,69,25,Form2);
- NumberBox txt100("",AUTO_ID,84,114,67,25,Form2);
- Label lbl200("Doscientos",AUTO_ID,7,156,64,25,Form2);
- NumberBox txt200("",AUTO_ID,84,149,67,25,Form2);
- Label lbl500("Quinientos",AUTO_ID,7,191,62,25,Form2);
- NumberBox txt500("",AUTO_ID,84,184,67,25,Form2);
- Label lbl1000("Mil",AUTO_ID,7,216,52,25,Form2);
- NumberBox txt1000("",AUTO_ID,84,219,67,25,Form2);
- //Contando Dinero.Monedas
- Label lbl1("Uno",AUTO_ID,200,51,46,25,Form2);
- NumberBox txt1("",AUTO_ID,248,44,67,25,Form2);
- Label lbl2("Dos",AUTO_ID,200,86,46,25,Form2);
- NumberBox txt2("",AUTO_ID,248,84,67,25,Form2);
- Label lbl5("Cinco",AUTO_ID,200,121,46,25,Form2);
- NumberBox txt5("",AUTO_ID,248,114,67,25,Form2);
- Label lbl10("Diez",AUTO_ID,200,156,46,25,Form2);
- NumberBox txt10("",AUTO_ID,248,149,67,25,Form2);
- ReadOnlyBox txtSumBill("Total",AUTO_ID,14,252,163,25,Form2);
- ReadOnlyBox txtSumCoin("Total",AUTO_ID,189,252,132,25,Form2);
- Label lblTotal("TOTAL",AUTO_ID,77,294,100,25,Form2);
- ReadOnlyBox txtTotal("0",AUTO_ID,189,287,132,25,Form2);
- Button cmdCalcular("Calcular",AUTO_ID,7,340,140,25,Form2);
- // Para conversion
- Label lblMonto("Monto",AUTO_ID,7,21,33,25,Form3);
- TextBox txtMonto("0",AUTO_ID,40,21,89,25,Form3);
- Button cmdDlls("Dolares",AUTO_ID,7,63,100,25,Form3);
- Button cmdEuros("Euros",AUTO_ID,130,63,100,25,Form3);
- TextBox txtDlls("0",AUTO_ID,7,98,98,25,Form3);
- TextBox txtEuros("0",AUTO_ID,130,98,107,25,Form3);
- // Procedimiento de la segunda ventana (que se vera primero) para calcular
- // cuanto dinero tenemos
- FormProcedure Form2_Proc1(FormProcArgs) {
- ON_COMMAND_BY( cmdCalcular ) {
- // Calcular Billetes
- nVeinte = val(txt20.text) * 20;
- nCincuenta = val(txt50.text) * 50;
- nCien = val( txt100.text) * 100;
- nDoscientos = val( txt200.text) * 200 ;
- nQuinientos = val( txt500.text ) * 500 ;
- nMil = val( txt1000.text ) * 1000;
- nSumBill = nVeinte + nCincuenta + nCien + nDoscientos + nQuinientos + nMil;
- txtSumBill.text = str(nSumBill) ;
- // Calcular Monedas
- nUno = val( txt1.text ) * 1;
- nDos = val( txt2.text ) * 2;
- nCinco = val( txt5.text ) * 5;
- nDiez = val( txt10.text ) * 10;
- nSumCoin = nUno + nDos + nCinco + nDiez;
- txtSumCoin.text = str(nSumCoin);
- // Total
- nTotal = nSumBill + nSumCoin;
- txtTotal.text = str( nTotal);
- }
- return 0;
- }
- FormProcedure Form3_Proc1(FormProcArgs) {
- ON_COMMAND_BY( cmdDlls ) {
- nDlls = val( txtMonto.text ) / 11.90;
- txtDlls.text = str( nDlls);
- }
- ON_COMMAND_BY( cmdEuros ) {
- nEuros = val( txtMonto.text ) / 16.90;
- txtEuros.text = str( nEuros);
- }
- return 0;
- }
- // Procedimiento de la ventana principal
- FormProcedure Form1_Procedure(FormProcArgs) {
- ON_CLOSE() {
- Application.close();
- }
- // Cuando se seleccione alguna de las pestañas
- ON_TAB_SELECT(pgTab, p1);
- ON_TAB_SELECT(pgTab, p2);
- // Cuando se redimensione la ventana principal, se ajustaran los controles
- // del tab
- ON_RESIZE() {
- pgTab.fitExact();
- p1.adjust();
- p2.adjust();
- }
- return 0;
- }
- rad_main()
- //Establecemos la seccion de Procedimientos para las 2 ventanas
- Form1.procedure = Form1_Procedure;
- Form2.procedure = Form2_Proc1;
- Form3.procedure = Form3_Proc1;
- //Ponemos los objetos en la ventana principal
- p1.attachObject(Form2);
- p2.attachObject(Form3);
- // Ajustamos a la ventana principal Form1
- pgTab.fitExact();
- p1.adjust();
- p2.adjust();
- // Ponemos el foco en la primer caja de texto
- txt20.focus();
- rad_end()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement