FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
ayuda con programa...
hola amigos!
ya no se que hacer, la verdad, estoy tratando de resolver un programa que me encargaron en la universidad... se trata de un programa que al ingresar una cierta cantidad (por ej. 2580), me indique cuantos billetes y/o monedas se necesitan para completar tal cantidad... de acuerdo al ejemplo: cantidad = 2580 billetes cantidad 1000...............2 500.................1 200 100 50..................1 20..................1 10..................1 5 estaba pensando en utilizar la estructura case-of, pero no tengo idea de como estructurarlo. Necesito de su ayuda por favor... espero y me puedan ayudar, GRACIAS!!! |
#2
|
|||
|
|||
no te entiendo muy bien será que he tenido mucho trabajo jejej, pero lo que entiendo es que tienes por ej 2580 botellas y quieres saber el precio total de esta en billetes, si es asi ttendras que hacer un calculo matematico, lo intentaré hacer un ejemplo
|
#3
|
|||
|
|||
Aqui hay un ejemplo en la cual colocas cuanto vale 1 elemento y la cantidad de elemntos, entonces lo multiplica y lo pasa a caracter como el resultado..
Si no es eso lo que querias hacer te dejo la estructura del Case: CASE Variable OF constante1: begin instrucción(es); end; const2: begin instrucción(es); end; const3: begin instrucción(es); end; else begin instrucción(es); end END; FUENTE: Aqui 54LU2 |
#4
|
|||
|
|||
uppsss se me olvido poner la descarga para el ejemplo http://rapidshare.com/files/21230459...adbilletes.rar
esta hecho en delphi 2009 Última edición por cmm07 fecha: 22-03-2009 a las 23:47:49. |
#5
|
|||
|
|||
se trata de un programa que al ingresar una cierta cantidad (por ej. 2580), me indique cuantos billetes y/o monedas se necesitan para completar tal cantidad... de acuerdo al ejemplo:
cantidad = 2580 billetes cantidad 1000...............2 500.................1 200 100 50..................1 20..................1 10..................1 5 Mira a ver si esto te vale: En un form he puesto un boton, un edit y un memo para los resutlados y en el onclick del boton, esto: procedure TForm1.Button1Click(Sender: TObject); var a:longint; b:longint; const billetes:array[0..7] of longint=(1000,500,200,100,50,20,10,5); function completar(valor:longint; hasta:longint):string; begin result:=inttostr(valor); while length(result)<hasta do result:=result+'.' end; begin a:=strtointdef(edit1.text,-1); b:=0; while (a>billetes[7]) do begin if (a div (billetes[b]))>0 then begin memo1.lines.add(completar(billetes[b],20)+inttostr(a div billetes[b])); a:=a-((a div billetes[b])*billetes[b]); end else memo1.lines.add(completar(billetes[b],20)+'0'); b:=b+1; end; if a>0 then memo1.lines.add('En monedas: '+inttostr(a)); end; No se que quieres hacer complicandote con una estructura de case, ... Espero te sirva. Saludos. Nove |
#6
|
||||
|
||||
Cita:
Veamos qué llevamos hasta el momento:
Ok. Ahora que ya cubrimos los billetes de 1000, procedamos con los de 500. Los pasos son similares. Dividimos la cantidad R (580) entre el valor del billete de más alta denominación (omitiendo el de 1000 que ya usamos). Eso nos dará el número de biletes de 500 que necesitamos. El sobrante (80) es lo que ya no podemos pagar con billetes de quinientos. Así vamos:
Hacemos lo mismo con las siguientes denominaciones (200 y 100):
Claro que, en el ejemplo, el sobrante en este paso es 80 por lo que D y C serán 0, pero en el caso general podrán ser distintos. Espero que ya te vayas haciendo la idea. Seguimos con las denominaciones (50, 20, 10, 5)
Al final de esto, lo que tenemos son las variables (enteras) M, Q, D, C, Cq, V, Dz, Cn con el número de billetes y/o monedas de cada denominación, necesarios para pagar el importe original. El residuo que queda (en R) es el número de pesos (0 en tu ejemplo). // Saludos |
#7
|
||||
|
||||
Tal y como yo lo veo, la cosa sería ver cuántos billetes de 1000 entran en esa cantidad dada, y luego trabajar con el resto de la misma manera: cuántos billetes de 500 entran en el resto, luego cuántos billetes de 200 entran, luego de 100, luego de 50, ... hasta llegar a la cantidad final.
Puedes usar las instrucciones div y mod para ello. Un saludo. Edito: justamente lo que te ha explicado roman encima de mi mensaje .
__________________
"La recompensa de una buena acción está en haberla hecho" |
#8
|
|||
|
|||
pues , nada que ver con lo que yo habia dicho , es que en ese ratito estaba medio mariado con otro programa XD
|
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Ayuda con Programa en C++ | yelian | C++ Builder | 34 | 15-11-2008 01:37:57 |
ayuda programa.. | cmm07 | Varios | 13 | 17-07-2008 21:37:40 |
Ayuda con un programa | kanedor | Varios | 6 | 14-05-2008 17:48:53 |
Ayuda con programa | jorgegetafe | Varios | 4 | 07-12-2007 12:38:33 |
Ayuda con programa de C | megadanzig | C++ Builder | 7 | 19-03-2004 19:26:48 |
|