• Domingo 22 de Diciembre de 2024, 18:33

Autor Tema:  Ayuda Con Programa  (Leído 4362 veces)

Josephb de Joshua

  • Nuevo Miembro
  • *
  • Mensajes: 1
    • Ver Perfil
Ayuda Con Programa
« en: Sábado 18 de Agosto de 2007, 01:08 »
0
necesito que me expliquen por favor como se haria este programa en visual  me lo dejaron en la escuela por favor estoy deseperado:


lo k pasa es k es para una lavanderia hay tres lavadoras una grande para capaciad de 30 unidades la mediana para capacidad d 25 y la combinada k es donde pueden echar un numero sobrante
por ejemplo en la mediana cada 25 unidades es un carga
y por ejmeplo kieren lavar 180 manteles
entonces esos 180 se tienen k distribuir en las 3 lavadoras d tal modo k el sistema les diga cuantas cargas debe hechar a cada una tomando en cuenta k estas trabajan al mismo tiempo.

se los agradecere

F_Tanori

  • Moderador
  • ******
  • Mensajes: 1919
  • Nacionalidad: mx
    • Ver Perfil
Re: Ayuda Con Programa
« Respuesta #1 en: Sábado 18 de Agosto de 2007, 09:28 »
0
Muy bien ¿cual es el problema con eso? te recuerdo que en solocodigo no se le hace la tarea a nadie, indica cual es tu duda en concreto ;)


y se te ayudara

Saludos
" ExIsTo y A vEcEs PiEnSo "

NOTA:
===========================================================================================================================
Este foro es para ayudar, aprender, compartir... usenlo para eso,
NO SE RESUELVEN DUDAS POR MENSAJE PRIVADO Y MENOS POR CORREO
===========================================================================================================================

yessi11111

  • Nuevo Miembro
  • *
  • Mensajes: 8
    • Ver Perfil
Re: Ayuda Con Programa
« Respuesta #2 en: Miércoles 22 de Agosto de 2007, 17:48 »
0
hola f_tanori mira el codigo es este respecto al programa de lavanderia solo k al correrlo en vez d desplazarme cuantas cargas debe ser por cada lavadora me pone el numero mil k es el k le puse en el ciclo segun yo el limite de piezas del producto
Private Sub Command1_Click()
Dim suma As Integer
Dim I As Integer
suma = 0

y = InputBox("CAPTURA LA DESCRIPCION A LAVAR.")


If y = "TABLON" Or y = "tablon" Then
Label5.Caption = y
Text2.Text = "30"
Text3.Text = "40"

X = InputBox("NUMERO DE PIEZAS:")
 For I = 1 To 1000 Step 1
 If (X = Val(Text2.Text) + Val(Text3.Text)) Then
  suma = suma + 1
  Label7.Caption = suma
  Else
  I = I + 1
 
  End If
 Next I
 End If
 

t agradeceria lo checaras y k es lo ke stamos haciendo mal

saludos :P

Toph

  • Moderador
  • ******
  • Mensajes: 420
  • Nacionalidad: sv
    • Ver Perfil
    • http://www.electronicayotros.blogspot.com/
Re: Ayuda Con Programa
« Respuesta #3 en: Miércoles 22 de Agosto de 2007, 19:30 »
0
Cita de: "yessi11111"
solo k al correrlo en vez d desplazarme cuantas cargas debe ser por cada lavadora me pone el numero mil k es el k le puse en el ciclo segun yo el limite de piezas del producto

 :huh: No entiendo que es lo que estas queriendo hacer pero te aparece 1000 porque en esta parte:


Cita de: "yessi11111"
X = InputBox("NUMERO DE PIEZAS:")
 For I = 1 To 1000 Step 1
 If (X = Val(Text2.Text) + Val(Text3.Text)) Then
  suma = suma + 1
  Label7.Caption = suma
  Else
  I = I + 1
 
  End If
 Next I
 End If
 
si el numero de piezas es 70 entra en el if y de ahi no se sale hasta que I = 1000, ya que la primera vez se pregunta x=70 si es cierto entonces suma vale 1, pone eso en label7.caption, luego con next I vuelve al lazo For a preguntarse lo mismo y X va a seguir siendo 70 porque en ninguna parte se decrementa este valor por lo que esto se va a hacer  hasta que I sea igual a 1000 que es el ultimo valor que queda en suma y se muestra en label7.caption , el label 7 cambia de 1 a 1000 pero lo hace tan rapido que solo se ve el numero final. Esto lo puedes comprobar si lo corres paso a paso.
Como te digo no entiendo muy bien que es lo que quieres hacer exactamente, seria bueno que pusieras el algoritmo del programa  :comp:


saludos  :hola:
Por favor leer esto antes de postear. Gracias
NO alimenten al TROLL y morirá
¿Querés ayudar?, pues doná comida gratis con un simple clic aqui ,sin trucos
photobucket , Google , wine y cutepdf Rock!!!


programacion,c,c++,
Microcontroladores,java,linux,videojuegos,
,.NET,asm,codigo
por favor este 2012 que sea

yessi11111

  • Nuevo Miembro
  • *
  • Mensajes: 8
    • Ver Perfil
Re: Ayuda Con Programa
« Respuesta #4 en: Miércoles 22 de Agosto de 2007, 20:46 »
0
lo k pasa es k trabajan 3 lavanderias la mediana la grande y combinada al mismo  tiempo en el programa me pide la descripcion del producto
y = InputBox("CAPTURA LA DESCRIPCION A LAVAR.")
ya k depende del producto es la capacidad maxima para cada lavadora y cuantas piezas se van a lavar yo toomo en cuenta que son mil piezas por cada producto e intento parrtir d ese numero, entonces despues d k pide la descripcion le va a dar la capacidad maxima en este caso se trata de tablones y al caturar tablon me va a decir k en la mediana tiene un max d 30 y en la grande un max d 40
If y = "TABLON" Or y = "tablon" Then
Label5.Caption = y
Text2.Text = "30"
Text3.Text = "40"


 despues capturan el numero d piezas a lavar
X = InputBox("NUMERO DE PIEZAS:")

por ejemplo son 100 piezas las k van a lavar lo k kiero lanzar como resultado es el numero d cargas  k debe tener cada lavadora ya k por cada 30 y 40 pzas sera una carga respectivamente asta llegar a las 110
30                   +             40                                  + 10 k se van a la combinada
1 carga                            1 carga   =llevo 70 pzas
1 carga                                                                  1 carga
completo las 110pzas

en este caso el resultado seria

mediana                     grande                  combinada
2                                   1                              1           no. de cargas a lavar


esto es lo k precisamente el programa debe lanzar como resultado es por eso k le meti un ciclo y dentro del ciclo un contador

For I = 1 To 1000 Step 1
 If (X = Val(Text2.Text) + Val(Text3.Text)) Then
  suma = suma + 1
  Label7.Caption = suma
  Else
  I = I + 1
 
  End If
 Next I
 End If
para 1000 pzas
si x(no d pzas a lavar) va a ser igual a 70 ya k trabajan al mismo tiempo entonces sera igual a una carga con el contador suma=suma+1 tomando en cuenta k como inicia el ciclo la suma es =0 y lo visualiza en una etiketa si no es asi regresa al ciclo, o acaso esta mal mi metodologia???


d antemano muchas gracias y espero puedas entenderlo


saludos  :(

Toph

  • Moderador
  • ******
  • Mensajes: 420
  • Nacionalidad: sv
    • Ver Perfil
    • http://www.electronicayotros.blogspot.com/
Re: Ayuda Con Programa
« Respuesta #5 en: Jueves 23 de Agosto de 2007, 06:40 »
0
Cita de: "yessi11111"
si x(no d pzas a lavar) va a ser igual a 70 ya k trabajan al mismo tiempo entonces sera igual a una carga con el contador suma=suma+1 tomando en cuenta k como inicia el ciclo la suma es =0 y lo visualiza en una etiketa si no es asi regresa al ciclo, o acaso esta mal mi metodologia???


d antemano muchas gracias y espero puedas entenderlo


saludos  :(
Definitivamente esta mal la metodologia porque como te digo de ese For no se va a salir hasta que I=1000 porque se pregunta si X es 70 pone 1 en suma, se va a next I y vuelve a preguntar X=70 y X sigue siendo 70 aumenta suma a 2, otra vez a next I y vuelve X sigue siendo 70.... y asi sucesivamente hasta que I=1000 y suma se ha incrementado a 1000 termina el For y se sale de la rutina.
Por favor leer esto antes de postear. Gracias
NO alimenten al TROLL y morirá
¿Querés ayudar?, pues doná comida gratis con un simple clic aqui ,sin trucos
photobucket , Google , wine y cutepdf Rock!!!


programacion,c,c++,
Microcontroladores,java,linux,videojuegos,
,.NET,asm,codigo
por favor este 2012 que sea

yessi11111

  • Nuevo Miembro
  • *
  • Mensajes: 8
    • Ver Perfil
Re: Ayuda Con Programa
« Respuesta #6 en: Jueves 23 de Agosto de 2007, 19:47 »
0
tienes razon muchas gracias por tu respuesta seguiere en busca d una nueva solucion....... :(

Mollense

  • Miembro de PLATA
  • *****
  • Mensajes: 1755
  • Nacionalidad: ar
    • Ver Perfil
    • http://solocodigo.com/
Re: Ayuda Con Programa
« Respuesta #7 en: Jueves 23 de Agosto de 2007, 22:04 »
0
¿Que tal yessi?

Mirá. Si entendí bien la explicación que me diste en el chat, deberías hacer algo como lo siguiente:

Suponiendo que en la variable "cantidad" tenés el total de piezas a lavar, harías algo como esto:

Código: Text
  1. Do While (cantidad >= (capacidadLavadoraGrande + capacidadLavadoraMediana))
  2.     'Incrementar contador de lavadora Grande
  3.     'Incrementar contador de lavadora Mediana
  4.     'Decrementar la cantidad de piezas labadas (capacidadLavadoraGrande + capacidadLavadoraMediana) a la variable "cantidad"
  5. Loop
  6.  

Al salir del bucle solo podrás hacer como máximo un solo lavado ya sea en la máquina grande o en la mediana pero las piezas no te alcanzarían para completar las dos. Quedando o no algún resto para meter en la máquina mixta....

Código: Text
  1. If (cantidad >= capacidadLavadoraGrande ) Then
  2.     'Incrementas contador de labadora grande y descontas las piezas lavadas a cantidad
  3. ElseIf (cantidad >= capacidadLavadoraMediana) Then
  4.     'Incrementas contador de labadora grande y descontas las piezas lavadas a cantidad
  5. End If
  6.  
  7.  
Al final lo que te va a quedar en la variable "cantidad" va a ser el resto que iría a la mixta, seguramente será una cantidad menor a la capasidad de la lavadora mediana.

Espero te sirva.

Se me ocurre otra solución mas eficiente usando algo de matemáticas pero como vi que estás buscando por el lado de los bucles te lo puse así. Cualquier cosa nos avisás.

Un saludo  :hola:
"Los que renuncian son más numerosos que los que fracasan" H.F.
"No se cómo sería la III Guerra Mundial, pero la cuarta sería con piedras" A.E.
"Quién no fía no es de fiar..."


...no te quedes mirando.

yessi11111

  • Nuevo Miembro
  • *
  • Mensajes: 8
    • Ver Perfil
Re: Ayuda Con Programa
« Respuesta #8 en: Viernes 24 de Agosto de 2007, 00:02 »
0
gracias tambien habia pensado en un while entonces podria decirse:

mientras

x sea mayor o menor a la suma de las dos lavadoras se incrementara en 1 lavadora mediana

tomando en cuenta k x es la cantidad k insertara el usuario kedaria asi:
Do While (x >= (text2.text+text3.text))
        text2.Text = text2.Text + 1
        text3.Text = text3.Text + 1
         x=((text2.text)+(text3.text))

hasta hay kedaria para las dos lavadoras las cuales cuenta con un cierto numero d capacidad entonces para la combinadale inserto una condicion:

si x es mayor o igual a la capacidad d la lavadora gde incremento en esta, y decremento x a la capacidad de la lavadora grande y lo mismo hago con la mediana

muchas gracias por la aportacion

lo intentare con un while y condiciones

saludos :comp:

Mollense

  • Miembro de PLATA
  • *****
  • Mensajes: 1755
  • Nacionalidad: ar
    • Ver Perfil
    • http://solocodigo.com/
Re: Ayuda Con Programa
« Respuesta #9 en: Viernes 24 de Agosto de 2007, 00:39 »
0
Cita de: "yessi11111"
gracias tambien habia pensado en un while entonces podria decirse:

mientras

x sea mayor o menor a la suma de las dos lavadoras se incrementara en 1 lavadora mediana

tomando en cuenta k x es la cantidad k insertara el usuario kedaria asi:
Do While (x >= (text2.text+text3.text))
        text2.Text = text2.Text + 1
        text3.Text = text3.Text + 1
         x=((text2.text)+(text3.text))

hasta hay kedaria para las dos lavadoras las cuales cuenta con un cierto numero d capacidad entonces para la combinadale inserto una condicion:

si x es mayor o igual a la capacidad d la lavadora gde incremento en esta, y decremento x a la capacidad de la lavadora grande y lo mismo hago con la mediana

muchas gracias por la aportacion

lo intentare con un while y condiciones

saludos :comp:
Nop :ouch: , supangamos que tenés en x la cantidad ingresada por el usuario como vos decís...
Supongamos ahora que "text2" y "text3" son los textbox donde el usuario ingresa las capacidades de las máquinas lavadoras mediana y grande está bién que hagas esto: <!--xc1--></div><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><tr><td>XCODE </td></tr><tr><td id='XCODE'><!--exc1-->Do While (x >= (text2.text+text3.text))<!--xc2--></td></tr></table><div class='postcolor'><!--exc2-->
pero no esto<!--xc1--></div><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><tr><td>XCODE </td></tr><tr><td id='XCODE'><!--exc1-->text2.Text = text2.Text + 1
text3.Text = text3.Text + 1
x=((text2.text)+(text3.text))
<!--xc2--></td></tr></table><div class='postcolor'><!--exc2-->
porque text2 y text3 no pueden ser tus contadores, ya los estás usando para otra cosa (Para que el usuario ingrese las capacidades de las lavadoras) podrías utilizar otros dos textbox o dos variables y al final asignar su valor a dos textbox o labels.
y en la última línea supongo que quisiste hacer esto?
Código: Text
  1. x=x-((text2.text)+(text3.text))
  2.  
Eso si estaría bién.-

Por lo demás creo que vas bién.

Si lo lográs avisanos  :rolleyes:
"Los que renuncian son más numerosos que los que fracasan" H.F.
"No se cómo sería la III Guerra Mundial, pero la cuarta sería con piedras" A.E.
"Quién no fía no es de fiar..."


...no te quedes mirando.

yessi11111

  • Nuevo Miembro
  • *
  • Mensajes: 8
    • Ver Perfil
Re: Ayuda Con Programa
« Respuesta #10 en: Viernes 24 de Agosto de 2007, 01:20 »
0
aah si es verdad gracias por marcarme ese error tienes razon mira ahora mi codigo esta asi

txtMediana.Text = 0
    txtGrande.Text = 0
    txtMixta.Text = 0
   
Y = InputBox("CAPTURA LA DESCRIPCION A LAVAR.")


If Y = "TABLON" Or Y = "tablon" Then
Label5.Caption = Y
Text2.Text = "30"
Text3.Text = "40"
cantidad = InputBox("¿CUANTAS PIEZAS VAS A LAVAR?:", "PIEZAS", "0", 0, 0)

Do While (cantidad >= 70)
        txtGrande.Text = txtGrande.Text + 1
        txtMediana.Text = txtMediana.Text + 1
        cantidad = cantidad - 70
    Loop
    If (cantidad >= 40) Then
        txtGrande.Text = txtGrande.Text + 1
        cantidad = cantidad - 40
    ElseIf (cantidad >= 30) Then
        txtMediana.Text = txtMediana.Text + 1
        cantidad = cantidad - 30
    End If
    txtMixta = cantidad
    End If
   

End Sub


solo k ahora tengo otro problema ya k uso cajas d inputbox para insertar la cantidad al dar aceptar me da las cantidades pero por ejemplo si el usuario se ekivoca vez k aparece la caja del mensaje con los botones aceptar y cancelar si le da cancelar me marca un error en un mensaje dociendome k no coinciden los tipos tu sabes por k??? me pasa esto..

d antemano muchas gracias por sus aportaciones

saludos

F_Tanori

  • Moderador
  • ******
  • Mensajes: 1919
  • Nacionalidad: mx
    • Ver Perfil
Re: Ayuda Con Programa
« Respuesta #11 en: Viernes 24 de Agosto de 2007, 16:03 »
0
http://foros.solocodigo.com/index.php?showtopic=24488

tambien deberias buscar información sobre On Error


* Es recomendable que utilices las etiquetas [CODE] para publicar código , para que pueda ser un poco mas entendible *


Saludos
" ExIsTo y A vEcEs PiEnSo "

NOTA:
===========================================================================================================================
Este foro es para ayudar, aprender, compartir... usenlo para eso,
NO SE RESUELVEN DUDAS POR MENSAJE PRIVADO Y MENOS POR CORREO
===========================================================================================================================

Mollense

  • Miembro de PLATA
  • *****
  • Mensajes: 1755
  • Nacionalidad: ar
    • Ver Perfil
    • http://solocodigo.com/
Re: Ayuda Con Programa
« Respuesta #12 en: Viernes 24 de Agosto de 2007, 16:47 »
0
Otro consejo es que ejecutes tu programa paso a paso ( "F8" ) y vallas viendo que valores van tomando las variables, eso puede ser muy útil para detectar errores como esos (Hubieras visto que la variable "cantidad" tomaba un valor nulo y aún así intentabas realizar operaciones con ella).

PD: Para comprobar si el usuario ha ingresado la palabra tablon sin importar como haya utilizado las mayúsculas y minúsculas (Ej: "TaBlOn") usá:
Código: Text
  1. If UCase(Y) = &#34;TABLON&#34; Then
  2.  
UCase convierte una cadena a mayúsculas.

Un saludo
"Los que renuncian son más numerosos que los que fracasan" H.F.
"No se cómo sería la III Guerra Mundial, pero la cuarta sería con piedras" A.E.
"Quién no fía no es de fiar..."


...no te quedes mirando.

yessi11111

  • Nuevo Miembro
  • *
  • Mensajes: 8
    • Ver Perfil
Re: Ayuda Con Programa
« Respuesta #13 en: Viernes 24 de Agosto de 2007, 18:05 »
0
GRACIAS... ME SIRVIO DE MUCHO TU RECOMENDACION EN EL USO D UCASE.. Y YA LO EJECUTE CON F8 Y ME MARCA LA VARIABLE CANTIDAD COMO VACIA HAY ES DONDE ME PONE EL ERROR YA INTENTE CON

[CODE]
IF CANTIDAD="" THEN
MSGBOX "INSERTA CANTIDAD"
END IF


PERO ME SIGUE HACIENDO LO MISMO


Y PERDON POR NO USAR CODE PERO ES K  TODAVIA NO ENTIENDO MUY BIEN ESTA MECANICA....GRACIAS POR LA OBSERVACION

 :blink: SALUDOS

yessi11111

  • Nuevo Miembro
  • *
  • Mensajes: 8
    • Ver Perfil
Re: Ayuda Con Programa
« Respuesta #14 en: Martes 9 de Octubre de 2007, 17:19 »
0
OTRA PREG...¿COMO PUEDO HACER PARA REDONDEAR LAS CANTIDADES?.....POR EJEMPLO SI MI RESULTADO ES LANZADO EN UN TEXT ..SU VALOR ES 99.999999 COMO PODRIA CAMBIAR ESE NUMERO A 100 PARA QUE QUEDE RENDONDEADO....ESPERO PUEDAN AYUDARME Y GRADESCO SU ATENCION....SALUDOS :blink: