elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Entrar al Canal Oficial Telegram de elhacker.net


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP) (Moderador: kub0x)
| | | |-+  Programa que no funciona para adivinar un numero
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Programa que no funciona para adivinar un numero  (Leído 2,809 veces)
eva87

Desconectado Desconectado

Mensajes: 5


Ver Perfil
Programa que no funciona para adivinar un numero
« en: 18 Abril 2012, 16:59 pm »

Buenas tardes.
Estoy intentando crear un programa que calcule un aleatorio y te de varias oportunidades para acertarlo, el problema es que no puedo encontrar la manera de que el numero sea aleatorio al iniciar el programa pero se mantenga constante a lo largo de la ejecucion del mismo,  y ademas de eso quiero que una vez dicho un numero me de la opcion de decir otro, pero e puesto un bucle que no me funciona como querria
 muchas gracias de antemano ;D :huh:

Código
  1. Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
  2.        Dim k
  3.        k = ALEAT()
  4.        Const a =
  5.        TextBox1.Text() = "Pon el numero aqui "
  6.    End Sub
  7.  
  8.    Public Function ALEAT() As Integer
  9.        Dim Aleatorio, max
  10.        max = 1000
  11.        Randomize()
  12.        a = Int((max - 1) * Rnd() + 1)
  13.    End Function
  14.    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
  15.        Dim numero, num, max, cont, bol, al
  16.        al = a
  17.        num = 0
  18.        cont = 1
  19.        bol = True
  20.        num = TextBox1.Text
  21.        Do While num <> al And cont < 10
  22.            'msgbox("intento numero " & cont)
  23.            If num > al Then
  24.                MsgBox("Intento numero " & cont & ". Es menor. Prueba otra vez")
  25.                num = TextBox1.Text
  26.            Else
  27.                MsgBox("Intento numero " & cont & ". Es mayor. Prueba otra vez")
  28.                num = TextBox1.Text
  29.            End If
  30.            cont = cont + 1
  31.        Loop
  32.        If num = al Then
  33.            bol = False
  34.        End If
  35.        If bol = True Then
  36.            MsgBox("Has fallado, era el " & al)
  37.        Else
  38.            MsgBox("Acertastes, era el " & al & " Numero de intentos " & cont)
  39.        End If
  40.    End Sub
  41.  


« Última modificación: 18 Abril 2012, 22:13 pm por raul338 » En línea

$Edu$


Desconectado Desconectado

Mensajes: 1.842



Ver Perfil
Re: Programa que no funciona para adivinar un numero
« Respuesta #1 en: 19 Abril 2012, 00:28 am »

La idea la tenes, pero te confundes con el uso de funciones, si haces una funcion aparte para que genere un numero aleatorio, esta funcion tiene que devolver el numero, asi a la variable "al" le asignas la funcion. Por ejemplo haria estos cambios en la funcion y en el valor que toma "al" ..

Código
  1. Public Function ALEAT() As Integer
  2.        Dim Aleatorio, max
  3.        max = 1000
  4.        Randomize()
  5.        ALEAT = Int((max - 1) * Rnd() + 1)
  6.    End Function

Entonces luego asignas asi:

Código
  1. al = ALEAT()
  2.  


Tal vez con eso ya te funciona lo que quieres.. pero tienes cosas mal, o cosas insolitas, como la variable k. Tambien tu forma de plantearte el problema.. yo te recomiendo unas cosas:

- Leerte un buen tutorial de vb.net completo, de esos largos, pero aprenderas muchisimo, si no te gusta leer intentalo y practica con cada cosa que leas.

- Plantearte los problemas en un papel con lapicera antes de empezar a codear.

- Las dudas que tengas, como en este caso tuviste antes, de como generar el numero aleatorio para que genere lo que de verdad queres, te las podes sacar creando un proyecto nuevo siempre y haciendo pruebas ahi, porque eso de sumarle 1 y restarle y eso, es como que lo arreglaste una vez que viste q no te generaba lo que querias, prueba por ejemplo que pasa si en vez de Int le pones Cint.

Luego que hayas hecho estas cosas podras hacer el resto sin problemas


En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Programa en C para encontrar el segundo número menor ingresado ..
Programación C/C++
theluigy13etv 4 11,422 Último mensaje 26 Julio 2011, 09:35 am
por Dark Invader
ERROR en programa para factorizar desde un numero
Programación C/C++
Puntoinfinito 7 7,980 Último mensaje 18 Octubre 2012, 23:37 pm
por $Edu$
Programa para la adivinación de un numero.
Programación C/C++
gortes 4 3,677 Último mensaje 21 Octubre 2012, 13:56 pm
por za.asi
Duda adivinar numero sin fallar
Programación C/C++
Beginner Web 7 2,833 Último mensaje 29 Junio 2019, 00:06 am
por huchoko
Adivinar número más probable falla creo.
Scripting
Tachikomaia 5 3,727 Último mensaje 26 Febrero 2021, 13:31 pm
por nosoy
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines