elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.
 
Inicio Ayuda Buscar Ingresar Registrarse
28 Mayo 2012, 08:33  


Tema destacado: Sigue las noticias más importantes de elhacker.net en ttwitter!

+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (Moderador: [D4N93R])
| | | |-+  Programa Quiniela Deportiva
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Programa Quiniela Deportiva  (Leído 1,422 veces)
MicroHack

Desconectado Desconectado

Mensajes: 34



Ver Perfil WWW
Programa Quiniela Deportiva
« en: 17 Enero 2011, 19:02 »

Hola,

estoy aprendiendo vb.net y tengo que realizar un ejercicio usando arrays en el cual se solicita al usuario los resultados de un evento.

El programa funciona correctamente, solo que ahora quiero limitar y controlar el "valor" que el usuario introduce para que no sea diferente de "1", "X" o "2"

Para ello he querido usar un While, pero parece que algo falla porque no puedo indicarle los 3 valores a la vez.

Código
   Dim _var As Char
 
               Console.Write("1º Pronostico: ")
               _var = CChar(Console.ReadLine())
 
               While _var <> "1"c Or "2 c Or "X"c Or "x"  ' (Aqui es donde me da el Error)
 
                   Console.WriteLine("
ERROR, Inique un valor entre 1/X/2: ")
                   Console.ReadLine()
 
               End While

¿Alguna idea de porque no funciona?


« Última modificación: 17 Enero 2011, 22:36 por [D4N93R] » En línea

Hola cariño, pasa por favor, y cierra la puerta al entrar. No quiero que se oigan los disparos fuera.
79137913


Desconectado Desconectado

Mensajes: 780


4 Esquinas


Ver Perfil WWW
Re: Programa Quiniela Deportiva
« Respuesta #1 en: 17 Enero 2011, 19:22 »

HOLA!!!

Esto va en .NET (Programacion Gral) MOD: JAJAJA, NO DURO MUCHO EN VB6 XD.

Código
While _var <> "1"c Or "2 c Or "X"c Or "x"

Primero, te faltan comillas en el 2, Suponiendo que sea VB6 repeti la condicion completa en cada una, y la "c" que pones despues del string no se para que es.

Aunque no veo ningun Vector(array) asi lo arreglaria yo:
Código
While _var <> "1" Or _var <> "2" Or  _var <>"X" Or _var <> "x"



GRACIAS POR LEER!!!


« Última modificación: 17 Enero 2011, 19:23 por 79137913 » En línea

"Como no se puede igualar a Dios, ya he decidido que hacer, ¡SUPERARLO!"
"La peor de las ignorancias es no saber corregirlas"

 79137913                          *Shadow Scouts Team*                                                          Resumenes Cs.Economicas
MicroHack

Desconectado Desconectado

Mensajes: 34



Ver Perfil WWW
Re: Programa Quiniela Deportiva
« Respuesta #2 en: 17 Enero 2011, 19:28 »

HOLA!!!

Esto va en .NET (Programacion Gral) MOD: JAJAJA, NO DURO MUCHO EN VB6 XD.

Código
While _var <> "1"c Or "2 c Or "X"c Or "x"

Primero, te faltan comillas en el 2, Suponiendo que sea VB6 repeti la condicion completa en cada una, y la "c" que pones despues del string no se para que es.

Aunque no veo ningun Vector(array) asi lo arreglaria yo:
Código
While _var <> "1" Or _var <> "2" Or  _var <>"X" Or _var <> "x"



GRACIAS POR LEER!!!

Perdon por ponerlo donde no era, lo de las comillas lo escribi mal aqui pero en el editor las tengo puestas.

Y poner:

Código
While _var <> "1" Or _var <> "2" Or  _var <>"X" Or _var <> "x"

Tampoco funciona porque lo probe antes, uso el VB.NET en Visual Studio 2010

En línea

Hola cariño, pasa por favor, y cierra la puerta al entrar. No quiero que se oigan los disparos fuera.
.mokk.

Desconectado Desconectado

Mensajes: 177



Ver Perfil
Re: Programa Quiniela Deportiva
« Respuesta #3 en: 17 Enero 2011, 19:45 »

Gran error aqui mira

Código:
Console.WriteLine("ERROR, Inique un valor entre 1/X/2: ")
                    Console.ReadLine()

Porque no estas volviendo a asignarle el nuevo valor a _var y am en el while tmb esta incorrecto a como lo colocastes, podrias tambien usar un IF si se te es mas facil o talves un switch(creo que aqui es select case)

P.D. la letra c es alguna variable ? si es asi esta bien colocarla en el while si no lo es solo deberia funcionar usando

Código:
while _var <> 1 or _var <> 2 or _var <> "x"
'Codigo
Console.WriteLine("ERROR, Inique un valor entre 1/X/2: ")
                    _var = Console.ReadLine()
end while

79137913: Segun recuerdo en VB.net no difiere mayuscula o minuscula por lo que
_var <> "X" or _var <> "x"
seria lo mismo con solo colocar uno no?
« Última modificación: 17 Enero 2011, 19:50 por .mokk. » En línea

MicroHack

Desconectado Desconectado

Mensajes: 34



Ver Perfil WWW
Re: Programa Quiniela Deportiva
« Respuesta #4 en: 18 Enero 2011, 00:54 »

No funciona de esa manera.

Nose, tiene que haber una sintaxis para que el while pueda concadenar condiciones y comprobarlas en una misma linea.  >:(
En línea

Hola cariño, pasa por favor, y cierra la puerta al entrar. No quiero que se oigan los disparos fuera.
.mokk.

Desconectado Desconectado

Mensajes: 177



Ver Perfil
Re: Programa Quiniela Deportiva
« Respuesta #5 en: 18 Enero 2011, 06:51 »

O si se me habi pasado xD

en ves de Or, es And , porque usando or esque si alguna de esas se cumple repetira el while, lo cual lo que deceamos esque solo se repita si todas es lo mismo osea True, en fin el codigo quedaria asi:

Código
   Dim _var As Char
 
       Console.Write("1&#186; Pronostico: ")
       _var = CChar(Console.ReadLine())
 
       While _var <> "1" And _var <> "2" And _var <> "X" And _var <> "x"
 
           Console.WriteLine("ERROR, Inique un valor entre 1/X/2: ")
           _var = CChar(Console.ReadLine())
 
       End While

Tenian razon sobre lo de "X" y "x", el programa si nota la diferencia, me disculpo por mi ignorancia en ese aspecto. jeje
« Última modificación: 18 Enero 2011, 06:57 por .mokk. » En línea

MicroHack

Desconectado Desconectado

Mensajes: 34



Ver Perfil WWW
Re: Programa Quiniela Deportiva
« Respuesta #6 en: 18 Enero 2011, 13:09 »

EDIT: Esta es la sintaxis correcta

Código:

While (_var <> "1"c And _var <> "2"c And _var <> "x"c And _var <> "X"c)
    Console.WriteLine("ERROR, Inique un valor entre 1/X/2: ")
                    _var = CChar(Console.ReadLine())


Ahora si me funciona, gracias a todos.
« Última modificación: 18 Enero 2011, 13:57 por MicroHack » En línea

Hola cariño, pasa por favor, y cierra la puerta al entrar. No quiero que se oigan los disparos fuera.
79137913


Desconectado Desconectado

Mensajes: 780


4 Esquinas


Ver Perfil WWW
Re: Programa Quiniela Deportiva
« Respuesta #7 en: 18 Enero 2011, 15:36 »

HOLA!!!

79137913: Segun recuerdo en VB.net no difiere mayuscula o minuscula por lo que
_var <> "X" or _var <> "x"
seria lo mismo con solo colocar uno no?

En cuanto a manejo de variables no diferencia entre mayusculas y minusculas, pero en manejo de strings (cadenas de texto) si diferencia, * si osea si pones un in que sea x=X va a ser true, pero si pones un if que sea "x"="X" va a ser false.

*MOD: Para que no diferencie, tendrias que hacer algo asi UCase("x")=UCase("X") o sino LCase("x")=LCase("X")

GRACIAS POR LEER!!!
« Última modificación: 18 Enero 2011, 15:39 por 79137913 » En línea

"Como no se puede igualar a Dios, ya he decidido que hacer, ¡SUPERARLO!"
"La peor de las ignorancias es no saber corregirlas"

 79137913                          *Shadow Scouts Team*                                                          Resumenes Cs.Economicas
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
web deportiva
Desarrollo Web
theloop 2 437 Último mensaje 29 Mayo 2007, 18:53
por theloop
AD ¿asociasion deportiva?
Dudas Generales
gemaymanuel 0 270 Último mensaje 27 Junio 2009, 14:43
por gemaymanuel
puedo vender mi sistema de quiniela 100% efectivo?
Dudas Generales
quinielavencida 6 4,018 Último mensaje 20 Marzo 2010, 20:49
por Jaixon Jax
¿ Alguien juega a la Quiniela (españa) ? Que me resuelva unas dudas !!
Foro Libre
Mr.Know 1 1,284 Último mensaje 1 Noviembre 2010, 18:04
por Arkaitz10
Comprobar nº aciertos en una quiniela reducida de 7 dobles C#
Ejercicios
elnorber 0 5,364 Último mensaje 18 Marzo 2011, 18:44
por elnorber
Powered by SMF 1.1.16 | SMF © 2006-2008, Simple Machines