FRIHOSTFORUMSSEARCHFAQTOSBLOGSDIRECTORY
You are invited to Log in or Register a Frihost Account!

Ayuda en visual.net

 


jhonyz
Bueno tengo un problema con unos codigos en visual basic .net, asi q pido ayuda nuevamente a los expertos, el codigo no sta mal, simplemente fijense la imagen y enteran mejor cual es el problema, este codigo es sobre un cajero automatico la cosa es q pues se hace tres retiros como se muestra en la imagen y pues abjo de ellos me sale ''total retiros=3'', hasta ahi va bien, luego se hace otros 4 retiros mas y me sale esto ''total retiros=7'' osea deberia salirme 4 pero me sale 7, parece q esta sumando el total de todoss los retiros hechos y pues yo no deseo eso, a ver si me ayudan y fijense la imagen para q se puedan guiar por favor, es una tarea...


Public Class Form1
Private Sub btnretirar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnretirar.Click
Dim x, y, c, b, d, m, h, g As Integer
Dim a As String
Static z, k As Integer
d = InputBox("Ingrese tope maximo", "ATENCION")
Me.txtlimite.Text = d
Me.lista1.Items.Add("Bloque 1" & "=" & d)
Do
a = InputBox("Ingrese un nombre", "Atencion")
k = k + 1
g = g + 1
m = m + 1
Do
b = InputBox("Ingrese una cantidad", "Atencion")
If b > Val(txtlimite.Text) Then
MsgBox("Cantidad no admitida", MsgBoxStyle.Critical)
'b = 0
Me.txtcant.Text = b
End If
Loop While b > Val(txtlimite.Text)

Me.txtcant.Text = b
x = x + b

If x < Val(txtlimite.Text) Then
h = x
Me.txtsuma.Text = h
End If

While x > Val(txtlimite.Text)

MsgBox("Cantidad no admitida", MsgBoxStyle.Critical)
x = x - b
b = InputBox("Ingrese una cantidad", "Atencion")
x = x + b
Me.txtsuma.Text = Val(x)
End While

Me.lista1.Items.Add(a & " " & b)

If x = Val(txtlimite.Text) Then
If MsgBox("Desea continuar", 4, "Atencion") = 7 Then
Me.lista1.Items.Add("")
Me.lista1.Items.Add("Total retiros=" & m)
Me.lista1.Items.Add("")
z = z + 1
y = y + x
Me.lista1.Items.Add("Se realizo" & z & " " & "bloques de retiro de dinero de " & y & " " & "con un total de " & " " & k & " " & "clientes")
Me.lista1.Items.Add("")
'y = y + x
Me.lista1.Items.Add("Suma de bloques:" & y)
Exit Sub
Else
Me.lista1.Items.Add("Total retiros=" & m)
y = y + x
x = 0
c = InputBox("Ingrese un nuevo tope", "Atencion")
Me.txtlimite.Text = c
Me.lista1.Items.Add("")
z = z + 1
Me.lista1.Items.Add("Bloque" & z + 1 & "=" & c)

Me.lista1.Items.Add(" ")
End If
End If
Loop
End Sub
End Class


[img=http://img386.imageshack.us/img386/2956/visualnn7.th.png]
Caxius
yo no controlo de visual, pero me lo apunto y le pregunto a mi compañera de curro q es un hacha Wink
jhonyz
hmm... spero pueda ser pronta la respuesta
Caxius
Estamos de vacaciones aqui, asi que no puedo asegurarte que me diga la respuesta a tu problema YA
Q5U8
Ese no es un problema del Visual, sino de tu algoritmo.

Verifica las operaciones que estás haciendo. Por cierto, ¿aún siguen pidiendo eso en la clase de Programación, el famoso cajero bancario? Increíble.

(a mi me tocó hacerlo en assembler).
jhonyz
eso mismo, el codigo too esta bien, pero como yo recien soy un novato me gustaria saber q parte del codigo deberia cambiar... gracias
Sickness
lo siento pero estoy de vacaciones Laughing

repasa tu mismo el algoritmo, no creo q sea muy dificil de encontrar el error
neoz
Hola jhonyz, me gustaría ayudarte, pero la verdad no entiendo muy bien tu código, al parecer eres nuevo programando, así que te recomendaría que utilices nombres de variables más descriptivos, aunque te demores un poquito más, te aseguro que vale la pena.

También es una buena idea documentar tu código, ya sabes un pequeño comentario que describa una rutina en tu algoritmo.

Si aun necesitas ayuda deja otro mensaje, a simple vista te diría que tiene que ver con las variables estáticas.
Oenull
Hola jhonyz tu codigo parece de Visual Basic 6 o antes y sin comentar y sin organizar es dificil entender tu codigo, revisando el codigo puede ser que tu problema se solucione poniendo a m en cero despues des ejecutar el metodo que controla el click del boton

Code:

Public Class Form1
Private Sub btnretirar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)       Handles btnretirar.Click
Dim x, y, c, b, d, m, h, g As Integer
m=0;
Dim a As String


revisa si la linea
Code:
Dim x, y, c, b, d, m, h, g As Integer

esta fuera del metodo, puede estar como global y por eso conserva el valor anterior

te recomiendo que para pegar codigo fuente en el foro uses los tags [ code ] codigo fuente[ /code ]
jhonyz
ok, gracias por tu ayuda voy a probar sifunciona, ya q mei compu tenia un virus q me molestaba y tuve q formatearla, asi q tendre q instalar visual otra vz... jeje con respecto al codigo, pues todo se ha puesto hacia el lado izquierdo, cosa q no se por q se puso asi, habia algunas tabulaciones en algunas linea pero al momentos de postaer todo se alineo a la izquierda, jeje gracias por su ayuda
Caxius
si funciona dilo que cierre el topic Wink
Oenull
Ahhh mirnado el codigoque puse , le puse ; al final de la instruccion m=0; y como es VB es sin el punto y coma, jejejejejeje la costumbre

pero bueeee la idea es esa, un saludo
Related topics

POR FAVOR ayuda en MYSQL
¿Vale la pena cambiarse a Linux?
Soucis en VB.NET
ayuda en: PHP + APACHE WEB SERVER + MYSQL
Alguien ke me ayude en instalar los MODS

Ayuda con linux
Visual Basic Express Addition
[tecg] Programación web y seguridad en PHP
[SOFT] El mejor lenguaje de programación
[Help] Ayuda en tarea

(var) Como usan espacio web en frih.net
Ayuda en código php
[PC]machine debug manager
Bienvenidos a la nueva sección en ESPAÑOL de Frihost
Desgin Photoshop
Reply to topic    Frihost Forum Index -> Language Forums -> Spanish

FRIHOST HOME | FAQ | TOS | ABOUT US | CONTACT US | SITE MAP
© 2005-2007 Frihost, forums powered by phpBB.