Lua - Porque me tira dos veces el ingreso de numero?

 
Vista:
sin imagen de perfil
Val: 11
Ha mantenido su posición en Lua (en relación al último mes)
Gráfica de Lua

Porque me tira dos veces el ingreso de numero?

Publicado por lucas (6 intervenciones) el 24/06/2020 00:56:17
Porque me tira dos veces el ingreso de numero? Esta bien la funcion de controlador para que no se rompa el programa?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
function controlmenu(datoerror)
numero=0
repeat
numero = tonumber(io.read())
if numero == nil or math.mod(numero,1)~=0 then
	print (datoerror)
end
until numero ~= nil or math.mod(numero,1)==0
return numero
end
 
function menu(...)
print("Ingrese las opciones que deseas tener:")
n1 = tonumber(io.read())
while n1 == nil do
	n1=controlmenu("Numero invalido ingrese otro")
end
for x = 1,n1 do
	print("Opcion " ..x)
end
print ("Elija una opcion: ")
opcion= tonumber(io.read())
	while opcion == nil do
	opcion=controlmenu("Numero invalido ingrese otro")
	end
if opcion < 0 and opcion >= n1  then
else
	print("Porfavor ingrese una opcion valida:")
	opcion= tonumber(io.read())
	while opcion == nil do
	opcion=controlmenu("Numero invalido ingrese otro")
	end
end
return opcion
end
hola = menu(...)
print("Usted elegio la opcion".. hola)
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil
Val: 21
Ha mantenido su posición en Lua (en relación al último mes)
Gráfica de Lua

Porque me tira dos veces el ingreso de numero?

Publicado por dario (5 intervenciones) el 24/06/2020 06:55:38
Hola, no entiendo bien lo que quieres hacer. Podrias poner un ejemplo de o que quieres, o poner el enunciado del problema.
Salu2.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 11
Ha mantenido su posición en Lua (en relación al último mes)
Gráfica de Lua

Porque me tira dos veces el ingreso de numero?

Publicado por lucas (6 intervenciones) el 24/06/2020 17:07:05
Crear una función "menú " que permita agregar la cantidad de items que sean necesarios, con sus respectivos controles. De tal forma que no acuse error por ingresar letra, numero decimal o por un numero no valido de acuerdo a la cantidad de items que el usuario podria seleccionar.
Este es el enunciado del problema
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 21
Ha mantenido su posición en Lua (en relación al último mes)
Gráfica de Lua

Porque me tira dos veces el ingreso de numero?

Publicado por dario (5 intervenciones) el 25/06/2020 05:34:27
Hola, pruebalo asi:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
function controlmenu(datoerror)
  numero = 0
 
  repeat
    io.write('Digite un numero: ')
    numero = tonumber(io.read())
 
    if numero == nil or math.mod(numero,1)~=0 then
      print (datoerror)
    end
 
  until numero ~= nil or math.mod(numero,1)==0
 
  return numero
end
 
function menu()
  io.write("Ingrese las opciones que deseas tener:")
  n1 = tonumber(io.read())
 
  while n1 == nil do
    n1=controlmenu("Numero invalido ingrese otro")
  end
 
  for x = 1,n1 do
    print("Opcion " ..x)
  end
 
  io.write ("Elija una opcion: ")
  opcion= tonumber(io.read())
 
	while opcion == nil do
    opcion=controlmenu("Numero invalido ingrese otro")
	end
 
  if opcion < 0 and opcion >= n1  then
    print("Porfavor ingrese una opcion valida:")
    opcion= tonumber(io.read())
 
    while opcion == nil do
      opcion=controlmenu("Numero invalido ingrese otro")
    end
 
  end
 
  return opcion
end
 
hola = menu()
print("Usted elegio la opcion ".. hola)

Una consulta, que editor usas para Lua, yo uso ZeroBrane, es muy bueno.
Salu2.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil
Val: 11
Ha mantenido su posición en Lua (en relación al último mes)
Gráfica de Lua

Porque me tira dos veces el ingreso de numero?

Publicado por lucas (6 intervenciones) el 25/06/2020 05:40:01
Genial bro, uso el sCite
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar