Gracias por el curso, puede que sea tarde pero este fue mi metodo: static void Main(string[] args) { Console.WriteLine("Bienvenido al juego del bucle númerico"); Console.WriteLine(); Console.WriteLine("Introduce tu nombre"); string Nombre = Console.ReadLine(); Console.WriteLine($"Bien {Nombre} introduce un número entre el 1 y el 100"); int nIngresado = Int32.Parse(Console.ReadLine()); Random numero = new Random(); int numeroAleatorio = numero.Next(0, 100); int intentos = 0; while (nIngresado != numeroAleatorio) { if (nIngresado < numeroAleatorio) { Console.WriteLine("Debes ingresar un número mayor"); nIngresado = int.Parse(Console.ReadLine()); } else if (nIngresado > numeroAleatorio) { Console.WriteLine("Debes ingresar un número menor"); nIngresado = int.Parse(Console.ReadLine()); } intentos++; } Console.WriteLine("Felicitaciónes adivinaste el número del bucle"); Console.WriteLine(); Console.WriteLine($"{Nombre} tu número de intentos es {intentos}"); }
Está bien solamente te falta hacer una pregunta antes de acabar el ciclo while para que lo vuelva a intentar y asi el contador incremente cada que se repita, porque ahi solo tiene una oportunidad de acertar
Gracias por los cursos a mi me funciono de esta manera. Console.WriteLine("Introduce un numero entre 0 y 100"); //Pide un numero en consola int num = int.Parse(Console.ReadLine()); Random rnd = new Random(); int aleatorio= rnd.Next(0,100); //Genera numero aleatorio //Console.WriteLine("El numero aleatorio es: " + aleatorio); //Para saber el numero aleatorio int intento = 0; while (num != aleatorio) //num es diferente al numero aleatorio se cumple el bucle { if(num > aleatorio) { Console.WriteLine("Introduce un numero menor"); num = int.Parse(Console.ReadLine()); } else if(num < aleatorio) {
Console.WriteLine("Introduce un numero mayor"); num = int.Parse(Console.ReadLine());
} intento++; //Se guarda en intento y se va incrementando cada vez que se repite el bucle } Console.WriteLine(); Console.WriteLine("Haz acertado, el numero aleatorio es: " + aleatorio); Console.WriteLine("Numero de intentos realizados: " + intento);
Me quede con la boca abierta cuando me salió a la primera, si bien soy estudiante de analista de sistemas (recién primer año) la verdad es que me motivo por que se ve que estoy aprendiendo. Genio por el curso, mil gracias.
Aquí va el mío, que he empezado el curso hace poco. Seguro que se puede mejorar mucho, pero funciona!! funciona!! Gracias por el curso! Random numero = new Random(); int numeroAleatorio = numero.Next(0, 100); Console.WriteLine("Tienes que adivinar el número entre 0 y 100. Escribe tu número y pulsa Intro"); int respuesta = Int32.Parse(Console.ReadLine()); while (respuesta != numeroAleatorio) { if (respuesta < numeroAleatorio) { Console.WriteLine("El número que buscas es mayor, inténtalo de nuevo"); respuesta = Int32.Parse(Console.ReadLine()); } if (respuesta > numeroAleatorio) { Console.WriteLine("El número que buscas es menor, inténtalo de nuevo"); respuesta = Int32.Parse(Console.ReadLine()); } }
De antemano, muchisimas gracias por este grandioso curso, soy un programador algo "avanzado", no tanto, pero la verdad es que este curso me ha ayudado a recordar el por qué me gusta la programación como tal :) He aquí mi tarea static void Main(string[] args) { Console.WriteLine("Bienvenido al programa Adivina el numero :D v1.0 "); Random numero = new Random(); int numAleatorio, numElegido; int intentos = 1; Console.WriteLine("¡Numero aleatorio generado correctamente!"); numAleatorio = numero.Next(0, 100); Console.WriteLine("¿Cual es el número?"); numElegido = int.Parse(Console.ReadLine()); while (numElegido != numAleatorio) { if (numElegido > numAleatorio) { Console.WriteLine("Ya casi, el numero es menor al ingresado"); }else if(numElegido < numAleatorio){ Console.WriteLine("Ya casi, el numero es mayor al ingresado"); } numElegido = int.Parse(Console.ReadLine()); intentos++; } Console.WriteLine(" "); Console.WriteLine($"Correcto!!, el numero era {numAleatorio}, bien hecho :)!"); Console.WriteLine($"Tu numero de intentos fue de: {intentos}"); Muchas gracias Profe!!! le mando un abrazo y cuídese buen hombre!!!
Bueno, ahora estoy iniciando con mi curso de C# y felicidades por los videos, son muy detallados y entretenidos. Este es el ejercicio que complete. class Program { static void Main(string[] args) { Random numero = new Random(); int NumeroA = numero.Next(0, 100); Console.WriteLine("Introduzca el numero"); int numero2 = Convert.ToInt32(Console.ReadLine()); while (numero2!=NumeroA) { if (numero2>NumeroA) { Console.WriteLine("El numero es mayor que el generado aleatoriamente"); } else Console.WriteLine("El numero es menor que el generado aleatoriamente"); Console.WriteLine("Introduzca el numero"); numero2 = Convert.ToInt32(Console.ReadLine()); }
Gracias por este increíble curso y el esfuerzo que haces, tu manera de enseñar es de las mejores que he visto en mi vida. Bendiciones. //Solución. Console.WriteLine("Este juego adivinará el número que estás pensando, por favor ingresa tu nombre "); string nombre = Console.ReadLine(); Console.WriteLine($"{nombre}, Ahora ingresa un número "); int numeroIngresado = Int32.Parse(Console.ReadLine()); Random numero = new Random(); int numeroAleatorio = numero.Next(0, 100); int intentos = 0; while (numeroIngresado != numeroAleatorio) { if(numeroIngresado < numeroAleatorio) { Console.WriteLine("Ingresa un numero mayor "); numeroIngresado = Int32.Parse(Console.ReadLine()); }else if(numeroIngresado > numeroAleatorio) { Console.WriteLine("Ingresa un numero menor"); numeroIngresado = Int32.Parse(Console.ReadLine()); } intentos++; } Console.WriteLine("Haz adivinado el numero"); Console.WriteLine($"Realizaste {intentos} intentos "); }
La declaración de while (respuesta != "no") tiene su equivalente en el bucle for como for (;respuesta != "no";) y funciona exactamente como el anterior bucle while y por lo tanto como un supuesto bucle "indeterminado", lo que cambia en el bucle for es simplemente que se elimina la inicialización de la variable de control del bucle y el iterador del bucle en la declaración del for. El bucle for también puede funcionar como un bucle "indeterminado" y el while y do - while pueden tener su equivalente al bucle for y por lo tanto funcionar también como bucles "determinados".
Algo que les puede interesar es lo siguiente: random.Next(0,5) nunca devuelve el segundo parametro ya que es exclusivo, esto quiere decir que si ponemos random.Next(0,100) nunca devolvera el 100 para que nos indique los numeros aleatorios del 1-100 seria asi: random.Next(1,101). Espero que los pueda ayudar, Gracias Profesor Juan, tus videos son los mejores, saludos desde Republica Dominicana :)
soy principiante en esto de la programación y me he pegado un vicio viendo tus vídeos, tanto el de python como este de c#, en fin aqui dejo mi codigo, se que podria ser mejor pero a mi me funciono bien y para ser nuevo en este mundo creo que esta muy bien. using System; namespace AdivinaNumero { class Program { static void Main(string[] args) { Random numero = new Random(); int numeroAleatorio = numero.Next(1, 100); Console.WriteLine("Adivina el numero"); int miNumero = Int32.Parse(Console.ReadLine()); int contador = 1; while (numeroAleatorio != miNumero) { contador += 1; if (miNumero > 0 && miNumero < numeroAleatorio) Console.WriteLine("El numero introducido es menor"); if (miNumero > numeroAleatorio && miNumero < 101) Console.WriteLine("El numero introducido ES MAYOR"); if (miNumero > 100 || miNumero < 1) Console.WriteLine("El numero introducido no es correcto"); miNumero = Int32.Parse(Console.ReadLine()); } Console.WriteLine($"Ha logrado acertar el numero aleatorio en {contador} intentos"); Console.WriteLine("Fin del programa"); } } }
Hola, me descolgué del curso hace un par de meses y he estado repasando los vídeos anteriores para asimilar conocimientos. Justo al acabar este me dí cuenta de que no comente mi coduigo así que he dicho, ¿por qué no? Aquí está mi granito de arena :) int intentos = 0; Random rand = new Random(); int num = rand.Next(1, 100); int inputNum = -1; while (num != inputNum) { intentos++; Console.WriteLine("Introduce un numero: "); inputNum = Int32.Parse(Console.ReadLine()); if (inputNum > num) Console.WriteLine("El numero es mas pequeño"); else if (inputNum < num) Console.WriteLine("El numero es mas grande"); else break; } Console.WriteLine($"Felicidades, has acertado con solo {intentos} intentos!");
gracias por tan valioso contenido para todos aquellos que estamos empezando!! alguien podria decirme que algoritmo o secuencia utiliza para arrojar el numero aleatorio, Juan comenta que siempre se repiten unos numeros mas que otros y eso tiene un porque y me gustaria saber ese porque.. gracias de antemano.. @pildorasinformaticas
Gracias por todos tus cursos y por la propuesta de ejercicio. Comparto la solución que apliqué yo: using System; namespace While { class Program { static void Main(string[] args) { Random numero = new Random(); int numeroAleatorio = numero.Next(0, 100); Console.WriteLine("Uy tengo un número en mente. Si lo adivinas te llevas un premio...¿Te atreves? Introduce un número"); int respuesta = int.Parse(Console.ReadLine()); while(respuesta != numeroAleatorio) { if (respuesta < numeroAleatorio) Console.WriteLine("El número es mayor"); else { Console.WriteLine("Introduce un número menor"); respuesta = int.Parse(Console.ReadLine()); }
if (respuesta > numeroAleatorio) Console.WriteLine("El número es menor"); else { Console.WriteLine("Introduce un número mayor"); respuesta = int.Parse(Console.ReadLine()); }
} Console.WriteLine("Enhorabuena has acertado. Tu premio es mi reconocimiento ☺"); } } } Ahora voy a comprobar si se parece en algo a la tuya (que suerte poder hacerlo en un solo clic) o di más vueltas que la rosca de un tornillo XD!!
Juan, unas explicaciones estupendas.. me tienes enganchada.. jejeje, en febrero empiezo DAM y la verdad es que dan gusto tus explicaciones.. mi propuesta, sería la siguiente.. using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace AdivinaMiNumero { class Program { static void Main(string[] args) { Random numero = new Random(); int numeroAleatorio = numero.Next(0, 101); string linea; int respuesta, contador; Console.WriteLine("Adivina el número que he pensado entre 0 y 100..."); linea = Console.ReadLine(); respuesta = Validar(linea); contador = 0; while (respuesta != numeroAleatorio) { if (respuesta > numeroAleatorio) Console.WriteLine($" Mi número es menor que {respuesta}"); else Console.WriteLine($" Mi número es mayor que {respuesta}"); contador = contador + 1; Console.WriteLine(" Prueba otra vez..."); linea = Console.ReadLine(); respuesta = Validar(linea); } Console.WriteLine($" Enhorabuena!!! Efectivamente, {respuesta} era mi número... Lo has conseguido tras {contador} intentos."); Console.WriteLine($" Esta es la impresión directa de mi número: {numeroAleatorio}"); Console.ReadLine(); } static int Validar(string dato) { string linea; bool formato = false;
formato = Int32.TryParse(dato, out int supuestoNumero); if (supuestoNumero 100) formato = false; while (formato == false) { Console.WriteLine("Recuerda que debes introducir un número entre 0 y 100. Prueba otra vez..."); linea = Console.ReadLine(); formato = Int32.TryParse(linea, out supuestoNumero); } return supuestoNumero; } } } Si puedes, que ya no sé si leerás esto.. me dices qué te parece.. Mil gracias de nuevo por tus explicaciones. Son geniales!!
Muy buen curso! esta fue la forma en la que lo resolví! → static void Main(string[] args) { Console.WriteLine("Adivina el número"); Console.WriteLine("Inserte un numero entre 0 y 100"); Random numero = new Random(); int nAleatorio = numero.Next(0, 100); int nInsertado = Int32.Parse(Console.ReadLine()); int intentos = 0; while(nInsertado !=nAleatorio) { if (nInsertado > nAleatorio) Console.WriteLine("Inserte un número menor"); else if(nInsertado
Muchas gracias no entendí a la primera el (respuesta != "no") pero lo entendí después de verlo la segunda vez lo entendí así: (respuesta no es igual a "no quiero entrar") te sales del bucle. jejeje muchas gracias amigo! Saludos desde México!
Excelente profesor aunque hasta ahora encuentro tan buen curso. Siento que estoy aprendiendo. Yo hice el ejercicio asi: using System; namespace _1EjercicioWhile { class Program { static void Main(string[] args) { int numero1; Random numero = new Random(); int numeroAleatorio = numero.Next(0, 100); Console.WriteLine("Adivina cual es el número"); numero1 = int.Parse(Console.ReadLine()); while (numeroAleatorio != numero1) { if (numeroAleatorio > numero1) { Console.WriteLine("El número es mayor"); Console.WriteLine("Adivina cual es el número"); numero1 = int.Parse(Console.ReadLine()); } else if (numeroAleatorio < numero1) { Console.WriteLine("El número es menor"); Console.WriteLine("Adivina cual es el número"); numero1 = int.Parse(Console.ReadLine()); }
} Console.WriteLine("Adivinaste el numero es " + numeroAleatorio); } } }
Buenas tardes a todos los seguidores de Pildorasinformaticas. en la linea de : string respuesta = Console.ReadLine(); me sale una linea ondeada verde abajo de "ReadLine" (no quiero decir error) en versión 2022 de Visual Studio. Sin embargo se ejecuta el programa, para que no se panqueen cuando lo vean e intenten resolverlo como me paso y me genero un poco de estres.(CS8600). IOExeption, Out of Memory Exeption, Argument Out Of Range Exeption. Gracias por compartir profesor, Saludos.
Gracias por el curso, está fue la menara de la que hice el código: using System; namespace Bucle_While { class Program { static void Main(string[] args) { //Metodo para generar numero aleatorios Random random = new Random(); int numeroAleatorio = random.Next(101); int numero; int intentos = 0; bool adivina = false; while (!adivina) { Console.WriteLine("Ingrese un numero del 1 al 100"); numero = int.Parse(Console.ReadLine()); //Cada vez que introduzcas un numero, el contador de intentos aumentara intentos++; if (numero == numeroAleatorio) { Console.WriteLine($"Felicidades, acertaste el numero aleatorio, en esta cantidad de intentos {intentos}"); //Si el numero es correcto, entonces el programa leera la linea de abajo y se detendra el programa. adivina = true; } else if (numero > numeroAleatorio) Console.WriteLine("Te pasaste, esta mas abajo"); else if (numero < numeroAleatorio) Console.WriteLine("Puff, esta mas arriba"); } } } }
Excelente Curso profesor Juan aca los codigos de mi ejercicio int numeroRan = new Random().Next(0, 100); int incremento = 1; Console.WriteLine("Ahora adivine el numero generado Aleatoriamente debe de ser entre 0 y 100"); int numero = Int32.Parse(Console.ReadLine()); while (numeroRan != numero){ if (numeroRan > numero) Console.WriteLine($"El numero ingresado {numero} es menor al generado aleatoriamente"); else Console.WriteLine($"El numero ingresado {numero} es mayor al generado aleatoriamente"); incremento++; numero = Int32.Parse(Console.ReadLine()); } Console.WriteLine($"A conseguido adivinar el numero generado aleatoriamente {numeroRan}, con {incremento} intentos");
Juan muchas gracias por por tomarte el tiempo para crear estos cursos, son geniales, este es el tercero que hago en tu canal. comparto mi código del reto. Random numero = new Random(); int numeroaleatorio = numero.Next(0, 100); //Console.WriteLine(numeroaleatorio); Console.WriteLine("Bienvenido al Juego."); Console.WriteLine("========== == ====="); Console.WriteLine("Adivina el número entre el 0 y el 100"); int numeroUsuario = int.Parse(Console.ReadLine()); int intentos = 1; while (numeroUsuario != numeroaleatorio) { if (numeroUsuario < numeroaleatorio) Console.WriteLine("El número es mayor. Intentalo de nuevo"); else Console.WriteLine("El número es menor. Intentalo de nuevo"); numeroUsuario=int.Parse(Console.ReadLine()); intentos++; } Console.WriteLine("Has adivinado el número."); Console.WriteLine($"Necesitaste {intentos} Intentos para adivinar, bye!"); Console.ReadKey();
Buenas noches, muy bueno el desafío, me tomó un tiempo poder hacer lo de los intentos, pero finalmente lo hice, acá comparto mi solución: Random número = new Random(); int númeroAleatorio = número.Next(0, 100); Console.WriteLine("Intenta adivinar el número que se a producido aleatoriamente"); int respuesta=101; int intentos = 0; while (respuesta != númeroAleatorio) { intentos++;
Console.WriteLine("Introduce un número"); respuesta = Int32.Parse(Console.ReadLine()); if (respuesta > númeroAleatorio) Console.WriteLine("El número ingresado es mayor que el generado aleatoriamente");
else if (respuesta < númeroAleatorio) Console.WriteLine("El número ingresado es menor que el generado aleatoriamente"); else Console.WriteLine($"Felicidades, has ganado en {intentos} intentos"); } Console.WriteLine("Esto concluye el juego");
¡Otro excelente video pofe! Ahora voy a empezar a compartir mi código ya que las últimas 2 veces me sirvió bastante ver los que dejan otras personas en comentarios, así que para aportar yo también, acá va el mio static void Main(string[] args) { Random numero = new Random(); int numeroAleatorio = numero.Next(0, 100); Console.WriteLine("A ver si podés adivinar el número, comprendido entre 1 y 100"); int intento = int.Parse(Console.ReadLine()); int cantidadIntentos = 0; while (intento != numeroAleatorio) { if (intento < numeroAleatorio) { Console.WriteLine("Introducí un número mayor"); intento = int.Parse(Console.ReadLine()); } else if (intento > numeroAleatorio) { Console.WriteLine("Introducí un número menor"); intento = int.Parse(Console.ReadLine()); } cantidadIntentos++; } int cantidadIntentos2 = cantidadIntentos + 1; Console.WriteLine("¡Bien, adivinaste!"); Console.WriteLine($"El número correcto era {numeroAleatorio}, y solo te tomó {cantidadIntentos2} de intentos"); (Al final se ve como cambio el cantidadIntentos por cantidadIntentos2, ya que necesitaba sumarle 1 a la cantidad de intentos, porque si no, el último intento no me lo contaba, por lo que siempre le faltaba 1 intento al número real.
Muchas gracias por compartir su conocimiento señor profesor!. De verdad que me parece un robo el hecho de que sus cursos sean gratis, pero agradezco infinitamente lo que se esfuerza por enseñarnos. Un saludo
Gracias profe trate de hacerlo mas logico con lo que he aprendido hasta ahora. using System; namespace video12 { class Program { static void Main(string[] args) { Console.WriteLine("Introduce tu nombre, porfavor"); string nombre = Console.ReadLine(); Console.WriteLine("Deseas entrar en el bucle?"); string respuesta = Console.ReadLine(); while (respuesta != "no") {
Console.WriteLine("estas ejecutando el interior del bucle while");
Console.WriteLine($"{nombre}, Deseas salir del bucle?"); string preguntaBucle = Console.ReadLine(); if (preguntaBucle == "si") respuesta = "no"; else respuesta = "si"; } Console.WriteLine("Has salido del bucle"); } } } Actualizo porque termine el video xd using System; namespace video13 { class Program { static void Main(string[] args) { Random numero = new Random(); int contador = 0; int numeroAleatorio = numero.Next(0, 100); Console.WriteLine("Adivine el numero aleatorio"); int numeroIntento = Int32.Parse(Console.ReadLine()); while (numeroAleatorio!=numeroIntento) { if (numeroAleatorio > numeroIntento) { Console.WriteLine("El numero escogido es menor"); Console.WriteLine("Porfavor intente denuevo...."); numeroIntento = Int32.Parse(Console.ReadLine()); contador++; } else if (numeroAleatorio < numeroIntento) { Console.WriteLine("El numero escogido es mayor"); Console.WriteLine("Porfavor intente denuevo...."); numeroIntento = Int32.Parse(Console.ReadLine()); contador++; } else numeroAleatorio = numeroIntento;
} Console.WriteLine($"Correcto, se consiguio al intento: {contador}");
¡Estoy contento porque pude hacer el programa! Ahora a ver cómo lo hizo, profesor, en el siguiente vídeo. ¡Saludos! Por cierto, éste es mi código: Random numero = new Random(); int nAleatorio = numero.Next(1, 100); Console.WriteLine("Adivina en qué número del 1 al 100 estoy pensando :)"); int intento = 1; int nUsuario = Int32.Parse(Console.ReadLine()); while (nUsuario != nAleatorio) { if (nUsuario < nAleatorio) Console.WriteLine("El número es MAYOR. Vuelve a intentarlo..."); else if (nUsuario > nAleatorio) Console.WriteLine("El número es MENOR. Vuelve a intentarlo..."); intento = intento + 1; nUsuario = Int32.Parse(Console.ReadLine()); } Console.WriteLine($"¡Correcto! Lo has logrado en {intento} intentos.");
Saludo profe!! Excelente curso.. Hice el ejercicio de esta manera: Random numA = new Random(); int numAle = numA.Next(0, 100); int Attempts=0; while (conti) { Attempts++; int numIntro; Console.WriteLine("Introduce you a numbers for guess the generated number:"); numIntro =int.Parse(Console.ReadLine()); if (numAle > numIntro) Console.WriteLine("Introduce a bigger number:"); else if (numAle < numIntro) Console.WriteLine("Introduce a minor number:"); else{ Console.WriteLine($"Congratulations, you guss the numbers: {numAle} in {Attempts}Attempts"); conti = false; } }
Hola muy buenas agradezco la ayuda que me ha brindado este video, ya que los bucles con while todavía no los acababa de conocer pero podrías hacer un video de los bucles con for por favor?
Parece que voy mejorando. He parado el vídeo en el min 5:45 (es decir, justo al final de la teoría del while) y he conseguido hacer la tabla de multiplicar aplicando lo aprendido en los vídeos anteriores. Habrá formas mejores pero al menos con esto sé que he entendido la función de while: Console.WriteLine("Tabla de Multiplicar"); Console.WriteLine("Introduce un número del 1 al 10"); int numeroaMultiplicar = Int32.Parse(Console.ReadLine()); int posicionMultiplicacion = 1; // Definimos la posición en la que se encuentra la multiplicación. if (numeroaMultiplicar >0 && numeroaMultiplicar
Gracias por la explicacion, y el curso en general A continuación mi mejor intento del ejercicio:: using System; namespace ConsoleApp2 { class Program { static void Main(string[] args) { Console.WriteLine("Hola [USUARIO], a continuacion el sistema generara un numero aleatorio entre 0 y 100"); Random numero = new Random(); int random = numero.Next(0, 100), i = 0, intentos = 0; while (i == 0) { Console.WriteLine("Por favor, indique que numero es el que aleatoriamente genero el sistema: "); int comparar = Int32.Parse(Console.ReadLine()); if (comparar == random) { Console.WriteLine("El numero es correcto
Ejecutando cierre"); i = 1; } else { intentos++; Console.WriteLine($"Lo sentimos, el numero es incorrecto. Numero de intentos: {intentos}");
} } Console.Write("Presione ENTER para salir..."); Console.ReadLine(); }
Años depués pero apenas estoy tomando el curso, así me quedó : static void Main(string[] args) { Random numeroAleatorio = new Random(); int numeroElegido = numeroAleatorio.Next(0,100); Console.WriteLine("Adivina y escribe cual es el numero que el programa ha generado"); int numeroUsuario = int.Parse(Console.ReadLine()); while (numeroUsuario != numeroElegido) { if (numeroUsuario > numeroElegido) { Console.WriteLine("El número es menor, intenta de nuevo"); numeroUsuario = int.Parse(Console.ReadLine()); } if (numeroUsuario < numeroElegido) { Console.WriteLine("El número es mayor, intenta de nuevo"); numeroUsuario = int.Parse(Console.ReadLine()); } } if (numeroUsuario == numeroElegido) { Console.WriteLine("LE ATINASTE!! el numero es " + numeroElegido); } }
Porque son listas preestablecidas. Fíjate en el primer número generado por el programa cuando lo ejecutes todos los días. Verás que hay uno que sale muchas más veces que los demás, como las mesas trucadas de los casinos. Un saludo!
2022; acá aprendiendo c# en paralelo a la facultad, usted me da una gran ayuda! using System; namespace UsoWhile { class Program { static void Main(string[] args) { int nroUser; int nroVuelta = 1; Random numero = new Random(); int nroAleatorio = numero.Next(0, 100); Console.WriteLine("Hola! Hé generado un nro aleatorio entre el numero 0 y 100, ahora debes adivinarlo"); Console.WriteLine("Ingrese un nro"); nroUser = int.Parse(Console.ReadLine()); while (nroAleatorio != nroUser) { nroVuelta ++; if (nroUser < nroAleatorio) { Console.WriteLine("El número en cual estoy pensando es mayor al que ingresaste"); } else Console.WriteLine("El número en cual estoy pensando es menor al que ingresaste"); Console.WriteLine("Ingrese un nro"); nroUser = int.Parse(Console.ReadLine()); } Console.WriteLine("Perfecto! has advininado el numero aleatorio " + nroAleatorio + ", usaste " + nroVuelta + " intentos"); } } }
Aquí dejo mi solución al problema :3 Por cierto, gracias por este curso, me ha servido muchísimo, incluso comprendí más con usted que con los profesores del instituto. static void Main(string[] args) { Random numero = new Random(); int numeroAleatorio = numero.Next(1,100); int contadorIntentos = 0; //Console.WriteLine(numeroAleatorio); Console.WriteLine("¡Hola!, este programa ha generado un número aleatorio entre 1 y 100"); Console.WriteLine("Escribe un número y presiona enter, a ver si lo puedes adivinar"); int numeroIngresado = Int32.Parse(Console.ReadLine()); while(numeroIngresado != numeroAleatorio) { if (numeroIngresado > numeroAleatorio) { contadorIntentos++; Console.WriteLine("Nop, el número es menor ;)"); numeroIngresado = Int32.Parse(Console.ReadLine()); } else{ contadorIntentos++; Console.WriteLine("Nop, el número es mayor ;)"); numeroIngresado = Int32.Parse(Console.ReadLine()); } } contadorIntentos++; Console.WriteLine("¡Genial!, ¡Adivinaste el número aleatorio!"); Console.WriteLine("¡Y sólo te tomó "+contadorIntentos+" intentos!"); }
Una duda, el equals es equivalente a "==" ¿verdad? Como se podria hacer un equals pero lo contrario en lugar de "!=" para hacer el IgnoreCase sin tener que escribir dos barras, no se si me explico
Yo lo hice asi: namespace Ejercicio_numeroAleatorio { class Program { static void Main(string[] args) { int contador = 1; //se incializa el contador en 1 porque el usuario escribe un intento antes de entrar al bucle Random numero = new Random(); //se crea el numero aleatorio int numeroAleatorio = numero.Next(0, 100); //se crea numero aleatorio y se escribe el rango que tendra Console.WriteLine("Escriba el numero que va a adivinar"); int num = int.Parse(Console.ReadLine()); //se guarda el primer numero que escribio el usuario para adivinar el numero while (num != numeroAleatorio && num >=0 && num
hola, a mi me esta generando un problema después de declarar la variable "respuesta" e iniciar el bucle while, el error dice "no se puede convertir implícitamente el tipo sring en bool"
Hola, primero que nada, gracias por el curso que nos has puesto a disposición. Mi pregunta es, en donde encuentro el video en el que explicas el FOR, porque hicistes el WHILE y DO WHILE pero no el FOR , o yo me he equivocado? Saludos desde Perú
Hola, muy buenas y muchas gracias por las excelentes clases de este curso. Respecto a este ejercicio, me gustaria mostrarles mi solucion a ver que les parece. using System; namespace Estructura_de_bucle_While { class Program { /*En este codigo tengo que adivinar un numero que la Pc genera aleatoriamente entre 0 y 100 a medida que voy introduciendo numeros voy acotando la solucion final*/ static void Main(string[] args) { Random numero = new Random(); int numeroAleatorio = numero.Next(0, 100); Console.WriteLine("Trate de adivinar un numero entre 0 y 100"); int numeroDelUsuario = int.Parse(Console.ReadLine()); //estas variables son para ajustar el intervalo de numeros int minimo = 0; int maximo = 100; //en mi solucion opto por la estructura do-while do { { if (numeroDelUsuario < numeroAleatorio) { minimo = numeroDelUsuario; //ajusto el menor numero a considerar Console.WriteLine("El numero escogido quedo por debajo"); Console.WriteLine($"Ahora tiene para escoger entre {minimo} y {maximo}"); numeroDelUsuario = int.Parse(Console.ReadLine()); } else if (numeroDelUsuario > numeroAleatorio) { maximo = numeroDelUsuario; //ajusto el mayor numero a considerar Console.WriteLine("El numero escogido esta por encima"); Console.WriteLine($"Ahora tiene para escoger entre {minimo} y {maximo}"); numeroDelUsuario = int.Parse(Console.ReadLine()); } } } while (numeroDelUsuario != numeroAleatorio); Console.WriteLine("Has acertado, el numero es {0}", numeroDelUsuario); } } }
Muy buen curso, muchas gracias, un poco tarde pero les dejo mi método: using System; namespace usoWhile { class MainClass { public static void Main(string[] args) { int intento = 0; Random numero = new Random();//genera numero aleatorio int numAleatorio = numero.Next(0, 100); Console.WriteLine("¿Cual es el numero que tengo en mente?"); int numUsuario = Int32.Parse(Console.ReadLine()); while (numAleatorio != numUsuario) { intento++; if (numAleatorio > numUsuario) Console.WriteLine("El numero que buscas es Mayor"); else Console.WriteLine("El numero que buscas es Menor"); Console.WriteLine("Intentalo Nuevamente:"); numUsuario = Int32.Parse(Console.ReadLine()); } Console.WriteLine($"Lo has adivinado, te llevo {intento} intentos."); } } }
Muy contento con este ejercicio, excelente me puso a pensar un poco. { // this code gets the number from the player Console.WriteLine("Please input a number between 0 and 100"); int num = Int32.Parse(Console.ReadLine()); // num should be initiated = 101 so that way always enter the loop //this codes generates a random number Random random = new Random(); int randomNum = random.Next(0, 100);
int attemps = 0; // this line initialice the counter while (num != randomNum) // will evaluate always that the player input is different to random number { if (num < randomNum) { Console.WriteLine("You number is less than the random, Please try again "); num = Int32.Parse(Console.ReadLine()); } else if (num > randomNum) //instead of else if we can use if nested { Console.WriteLine("Your number is greater than the random number, Please try again"); num = Int32.Parse(Console.ReadLine()); } else // this piece of code is not needed cos there is only = or == { Console.WriteLine("that is not a number, please try again"); num = Int32.Parse(Console.ReadLine()); } attemps++; //increments the counter
} Console.WriteLine(" "); Console.WriteLine($"the randon number created is: {randomNum}"); // shows random number Console.WriteLine($"You have won!, you input {num} is equal to computer generated number {randomNum}" ); Console.WriteLine($"You have done it in { attemps} attemps");
Excelente Curso, mi ejercicio lo resolví asa: Random numero = new Random(); int numAleatorio = numero.Next(0, 100); Console.WriteLine("¿En que numero estoy pensando? El numero es del 0 al 100, dime tu respuesta " + "y yo te dire si es mayor o menor y te dire cuando sepas el numero. "); int respuesta = int.Parse(Console.ReadLine()); while (respuesta != numAleatorio) {
while (respuesta > numAleatorio) { Console.WriteLine("Soy mas pequeño"); respuesta = int.Parse(Console.ReadLine()); } while (respuesta < numAleatorio) { Console.WriteLine("Soy mas grande"); respuesta = int.Parse(Console.ReadLine()); } } Console.WriteLine($"Le atinaste soy un {numAleatorio}");
Buena tarde, Profesor. Aquí dejo mi ejercicio, solo tengo una duda, cuando pregunto si quiere volver a jugar y el usuario coloca que si, ¿Como puedo hacer para que vuelva a iniciar desde arriba? Console.WriteLine("¿Quieres jugar?"); string respuesta1 = Console.ReadLine(); if (respuesta1 == "no") Console.WriteLine("Hasta luego"); else { Random numero = new Random(); int numeroAleatorio = numero.Next(0, 100); Console.WriteLine("Vas a adivinar el numero en el que pienso"); Console.WriteLine("¿Qué nuemero estoy pensando?"); int respuestaNumero = int.Parse(Console.ReadLine()); int intentos = 1; while (respuestaNumero != numeroAleatorio) { intentos++; if (respuestaNumero > numeroAleatorio) Console.WriteLine("Tu numero es mayor al que pienso"); else Console.WriteLine("Tu numero es menor al que pienso"); Console.WriteLine("Vuelve a intentarlo, ¿Qué numero estoy pensando?"); respuestaNumero = int.Parse(Console.ReadLine()); } Console.WriteLine($"Haz adivinado el numero que pense, el cual es {respuestaNumero} y lo haz logrado en tan solo {intentos} intentos"); Console.WriteLine("¿Quieres volver a jugar?"); string respuesta2 = Console.ReadLine(); if (respuesta2 == "no") Console.WriteLine("Gracias por jugar"); Console.ReadLine(); } Console.ReadLine();
While volverá a iniciar mientras se cumpla la condición, ahora si te refieres a que no acumule las respuestas en pantalla, agrega al final del bucle un "Console.Clear();" y limpiará la pantalla para que la pregunta inicie 'desde arriba'.
aqui mi programa del ejercicio int suma = 0; Random numero = new Random(); int numeroaleatorio = numero.Next(0, 100); Console.WriteLine("este juego trataras de adivinar un numero aleatorio comprendido entre 0 y 100"); Console.WriteLine("que numero crees que es "); int respuesta = Int32.Parse(Console.ReadLine()); while (respuesta != numeroaleatorio) { Console.WriteLine("erroneo"); suma = suma + 1; if (respuesta < numeroaleatorio) Console.WriteLine("el numero es mayor"); else if (respuesta > numeroaleatorio) Console.WriteLine("el numero es menor"); Console.WriteLine("dame otro numero "); respuesta = int.Parse(Console.ReadLine()); } Console.WriteLine("correcto"); Console.WriteLine($"tuviste {suma} errores");
Yo lo escribí así, lo probé y funciona :-D using System; namespace PrimeraAplicacion { class Program { static void Main(string[] args) { Random numero = new Random(); int numeroAleatorio = numero.Next(0, 100); Console.WriteLine("El sistema genero un numero aleatorio"); Console.WriteLine("ingrese un numero del 0 al 100 para ver si acierta "); int numeroIngresado = int.Parse(Console.ReadLine()); int intentos = 1; while (numeroIngresado != numeroAleatorio) { intentos++; if (numeroIngresado > numeroAleatorio) Console.WriteLine(" el numero ingresado es MAYOR al generado"); else Console.WriteLine(" el numero ingresado es MENOR al generado"); Console.WriteLine("ingrese un numero del 0 al 100 para ver si acierta "); numeroIngresado = int.Parse(Console.ReadLine()); } Console.WriteLine($" el numero generado es: {numeroIngresado}"); Console.WriteLine($"y lo encontro en: {intentos} intentos"); } } }
gracias por estos videos, mi código fue este: static void Main(string[] args) { Random primer=new Random(); int numeroConsola = primer.Next(1,100); Console.WriteLine("Escribe un número que creas que es mayór al de la consola del 1 al 100"); int numeroJugador = Int32.Parse(Console.ReadLine()); while (numeroConsola > numeroJugador) { Console.WriteLine("tu número es menor, intenta de nuevo"); Console.WriteLine("Escribe un número que creas que es mayór al de la consola del 1 al 100"); numeroJugador = Int32.Parse(Console.ReadLine()); } Console.WriteLine($"ganaste, tu número es mayor, el de la consola era {numeroConsola}"); }
Acá el mío, mi hermano y yo estuvimos jugando con esto que cree :D Falta corregir muchos errores, lo corregiré mañana en la mañana mientras escucho música (es la mejor parte de "programar"♥) Random numero = new Random(); int numeroAL = numero.Next(0, 100);
Console.WriteLine("Podrás adivinar el número?"); Console.WriteLine("Escribe un número que está entre 1 y 100, si logras adivinar ganas, y si fallas, te daremos una pista para que encuentres el número oculto"); string oculto = Console.ReadLine(); int num_oculto = Int32.Parse(oculto); if (num_oculto != numeroAL) { while (num_oculto != numeroAL) { Console.WriteLine("Sigue intentando"); Console.WriteLine("Pon otro número"); string ocultos = Console.ReadLine(); num_oculto = Int32.Parse(ocultos); if (num_oculto > numeroAL) { Console.WriteLine("El numero que buscas es menor al valor ingresado"); } else if (num_oculto < numeroAL) { Console.WriteLine("El numero que buscas es mayor al valor ingresado"); } } } if (num_oculto == numeroAL) { Console.WriteLine("El número es correcto"); } Console.Read();
Muy agradecido Juan. Mis saludos desde Rep. Dominicana aquí esta mi ejercicio. using System; namespace NumeroAleatorio { class Program { static void Main(string[] args) { Random random = new Random(); int numeroAleatorio = random.Next(0, 100); // Imprime el número aleatorio solo para que ver Console.WriteLine(numeroAleatorio); Console.WriteLine("Introduce el número adivinar?"); int miNumero = int.Parse(Console.ReadLine()); // Convierto el # introducido a entero int intentos = 1; // Guardo la cantidad de intentos por el usuario while(numeroAleatorio != miNumero) { Console.Clear(); // Limpia la consola if (miNumero < numeroAleatorio) { Console.WriteLine($"{miNumero} es menor al número aleatorio."); Console.WriteLine($"Tiene {intentos} intentos."); } else { if (miNumero > numeroAleatorio) { Console.WriteLine($"{miNumero} es mayor al número aleatorio."); Console.WriteLine($"Tiene {intentos} intentos."); } } intentos++; // Incremento los intentos en cada vuelta del bucle while Console.WriteLine(); // Imprime una linea en blanco Console.WriteLine("Vuelve a introduce el número adivinar?"); miNumero = int.Parse(Console.ReadLine()); } Console.WriteLine($"Acertaste!!! Feliciadades.."); Console.WriteLine($"{miNumero} es el número aleatorio."); Console.WriteLine($"Lo lograste en {intentos} intentos."); Console.ReadKey(); } } }
Hola una sugerencia... soy nuevo en esto y me esta gustando Console.WriteLine("¿Deseas ingresar en el bucle:?"); string respuesta = Console.ReadLine(); if (respuesta == "si") { while (respuesta == "si") { Console.WriteLine("Ingresastes al bucle."); Console.WriteLine("Ingresa tu nombre para registrarte:"); string nombre = Console.ReadLine(); Console.WriteLine("Te registraste con el nombre:" + nombre); Console.WriteLine("Quieres seguir registrandote dentro del bucle:"); respuesta = Console.ReadLine(); if (respuesta == "no") { Console.WriteLine("Saliste del bucle"); } } } else Console.WriteLine("No ingresastes al bucle.");
soy nuevo en estos lares. Tengo una duda que no consigo resolver pero seguro que cualquiera de vosotros me dais la solución. El PRG es el simple resuelto en clase:, pero no se como hacer para preguntar si quiere volver a jugar y que el programa empiece de nuevo tantas veces como el usuario quiera. Por mas que lo intento no doy con la tecla. He visto alguna solucion, pero no es simple, quiero encontrar algo sencillo, he visto la solución de Javier Cruz, pero quiero encontrar el camino sencillo. static void Main(string[] args) { Random numero = new Random(); int aleatorio = numero.Next(0, 100); int minumero = 101; int intentos = 0; Console.WriteLine("introduce un numero entre 0 y 100"); while(aleatorio != minumero) { intentos++; minumero = int.Parse(Console.ReadLine()); if (minumero > aleatorio) Console.WriteLine("el numero es mas bajo"); if (minumero < aleatorio) Console.WriteLine("el numero es mas alto"); } System.Console.WriteLine($"correcto, has necesitado {intentos} intentos");
Dejo un pequeño resumen: los bucles while y do-while son del tipo indefinido, aquellos que funcionan sin límite hasta que cierta condición específica se cumpla. Dejo mi forma de hacer el código para los que deseen comparar de la actividad dejada por el profe Juan. Console.WriteLine("Introduce un número entre 1 y 100"); int respuesta = Int32.Parse(Console.ReadLine()); Random numero = new Random(); int numeroAleatorio = numero.Next(0,100); while (respuesta!=numeroAleatorio) { if (respuesta > numeroAleatorio) Console.WriteLine("El número es mayor al número aleatorio"); else Console.WriteLine("El número es menor al número aleatorio"); Console.WriteLine("Vuelve a escribir un número, por favor"); respuesta = Int32.Parse(Console.ReadLine()); } Console.WriteLine("Haz ganado");
Me agrado el ejercicio, aca esta mi tarea me encargue de investigar como evitar que el usuario ponga un string en vez de un numero usando int.tryParse ::::::: using System; namespace AdivinaElNumero { class Program { static void Pista(int numeroRandom, int NumeroUsuario) { if (numeroRandom > NumeroUsuario) Console.WriteLine("intentalo con un numero mayor"); else if (numeroRandom < NumeroUsuario) Console.WriteLine("intentalo con un numero menor"); }
static void Main(string[] args) { int NumeroUsuario; Console.WriteLine("Bienvenido al juego, consite en adivinar el numero"); Random Numero = new Random(); int numeroRandom = Numero.Next(0, 100); bool adivino = false;
Console.WriteLine("cual es el numero del 1 al 100"); string texto = Console.ReadLine(); bool resultado = int.TryParse(texto,out NumeroUsuario); if (resultado == false) { Console.WriteLine("lo sentimos, solo puede elegir numeros"); }
int intentos = 1; if (NumeroUsuario == numeroRandom) Console.WriteLine("impresionante ganaste en el primer intento"); else Pista(numeroRandom, NumeroUsuario); { while (adivino == false) { Console.WriteLine("Intentalo de nuevo"); texto = Console.ReadLine(); resultado = int.TryParse(texto, out NumeroUsuario); if (resultado == false) { Console.WriteLine("lo sentimos, solo puede elegir numeros"); }
genial, dejo mi codigo aunque no he podido contar os intentos, y francamente el del amigo javier cruz de abajo no lo acabo de entender :( , si bien el mio es bastante conciso, que me dices Juan?: static void Main(string[] args) { Random numero = new Random(); int numeroaleatorio = numero.Next(0, 100); Console.WriteLine("averigua cual es el numero"); int numeroUsuario= int.Parse(Console.ReadLine()); while (numeroUsuario!=numeroaleatorio) { if (numeroUsuario > numeroaleatorio) Console.WriteLine("el numero que buscas es menor");
else Console.WriteLine("el numero que buscas es mayor"); numeroUsuario = int.Parse(Console.ReadLine()); } Console.WriteLine("EUREKA!! el numero era" + numeroaleatorio);
EJERCICIO using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace ejercicioWhile { class Program { public static Random ran = new Random(); static void Main(string[] args) { bool condicion = true; int intetos = 1; int aleatorio; aleatorio = ran.Next(0, 100); Console.WriteLine("Se genero un numero aleatorio entre el 0 y 100, intenta adivinar cual es" + " Escribe un numero"); int numero = -1; if (aleatorio == numero) condicion = false; while (condicion) { Console.WriteLine("Intenta con un numero"); numero = int.Parse(Console.ReadLine()); if (numero < aleatorio) { Console.WriteLine("Mas"); } else { Console.WriteLine("Menos"); } if (numero == aleatorio) { condicion = false; intetos++; } else { condicion = true; intetos++; } } Console.WriteLine($"Le atinaste con intentos de {intetos - 1}"); Console.ReadLine(); } } }
Realmente, si una variable aleatoria entre 1 y 100 te da 48 siete veces seguidas, eso sigue siendo aleatorio. Cuando pensamos en aleatorio solemos pensar en diferente, pero ésto no es así.
Bueno aquí va el mio, es sencillo pero creo que cumple el objetivo, al principio me he liado en como poner para que volviera a elegir otro número y me entraba en un bucle infinito. using System; namespace Ejercicio_aleatorio { class Program { static void Main(string[] args) { Console.WriteLine("¿Aciertas el número que estoy pensando?"); string respuesta = Console.ReadLine(); if (respuesta != "no") { Random numero = new Random(); int numeroAleatorio = numero.Next(0, 10);
Console.WriteLine("Dime tu nombre"); string nombre = Console.ReadLine(); Console.WriteLine($"{nombre} déjame que piense mmmmmm.............. Ok ya lo tengo es un número entre el 1 y el 10"); Console.WriteLine($"{nombre} empieza a escribir números"); int numeroElegido = Convert.ToInt32(Console.ReadLine()); while (numeroElegido !=numeroAleatorio) { if (numeroElegido < numeroAleatorio) { Console.WriteLine($"el número {numeroElegido} es inferior al que yo he pensado prueba con uno mayor"); } else if (numeroElegido > numeroAleatorio) Console.WriteLine($"el número {numeroElegido} es mayor al que yo he pensado, prueba con uno menor"); numeroElegido = Convert.ToInt32(Console.ReadLine()); } Console.WriteLine("¡¡CORRECTO!!"); } else Console.WriteLine("AL MENOS LO PODRIAS HABER INTENTADO"); } } }
Excelente ejercicio. int contador = 1; var random = new Random(); int aleatrorio = random.Next(1, 100); //Console.WriteLine(aleatrorio); Console.WriteLine("Ingresa un numero del 1 al 10, de que numero se trata"); int numero = Int32.Parse(Console.ReadLine());
while (numero != aleatrorio){
contador++;
if (numero < aleatrorio) { Console.WriteLine("El número de la maquina es mayor"); } else { Console.WriteLine("El número de la maquina es menor"); }
Console.WriteLine("Ingresa otro numero"); numero = Int32.Parse(Console.ReadLine()); } Console.WriteLine($"Has ganado, el numero: {numero} fue el correcto. Numero de intentos {contador}");
Buenas! comparto mi ejercicio del número aleatorio: Random numero = new Random(); int numeroAleatorio = numero.Next(0, 100); Console.WriteLine("Estoy pensando un número entre 0 y 100, intenta adivinarlo"); int respuesta = int.Parse(Console.ReadLine()); while (respuesta < numeroAleatorio) { Console.WriteLine("Tu número es menor, intenta de nuevo"); respuesta = int.Parse(Console.ReadLine()); }
while (respuesta > numeroAleatorio) { Console.WriteLine("Tu número es mayor, intenta de nuevo"); respuesta = int.Parse(Console.ReadLine()); }
while (respuesta == numeroAleatorio) { Console.WriteLine("Felicidades! acertaste"); Console.WriteLine("Queres jugar de nuevo?"); string respuesta2 = Console.ReadLine(); if (respuesta2 == "si" || respuesta2 == "Si" || respuesta2 == "SI") { Console.WriteLine("Estoy pensando un número entre 0 y 100, intenta adivinarlo"); respuesta = int.Parse(Console.ReadLine()); } else { Console.WriteLine("Gracias por jugar!"); respuesta = 800; } }
Mi codigo: es importante aclarar que se parte de que no se puede acertar en 0 intentos .Siempre se va a necesitar 1 minimo(a no ser que seas el profesor Xavier). Random numero = new Random(); int aleatorio = numero.Next(0, 100); Console.WriteLine("Dame un numero : "); int numero1 = int.Parse(Console.ReadLine()); int intentos = 1; while(numero1 != aleatorio) { intentos++; Console.WriteLine("Error! Has fallado "); if (aleatorio > numero1) Console.WriteLine($"Es mayor que {numero1}"); else Console.WriteLine($"Es menor que {numero1}"); Console.WriteLine("Dame un numero de nuevo"); numero1 = int.Parse(Console.ReadLine()); } Console.WriteLine($"Has acertado en {intentos} intentos y el numero era el {aleatorio}");
Mi ejercicio por si se quieren guiar: // Video 19: Random classRandom = new Random(); int randomNum = classRandom.Next(0, 100); int tries = 1; while (true) { int compareerNum = classRandom.Next(0, 100); Console.WriteLine($"[-] Intento número {tries}"); tries ++; if (compareerNum == randomNum) { Console.WriteLine($"[+] El número encontrado es el {randomNum}"); break; } }
Esta es mi solución. No es un código muy limpio, pero funciona bien. using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace ConsoleApplication2 { class Program { static void Main(string[] args) { Random numerorandom = new Random(); int numero = numerorandom.Next(0, 100); Console.WriteLine("El programa ha generado un número completamente aleatorio. ¿Podrás acertarlo?"); int acierto = 0; int intentos = 0; int numusuario; while (acierto == 0) { intentos++; Console.Write("Dime un número: "); numusuario = Int32.Parse(Console.ReadLine()); if (numusuario == numero) acierto = 1;
else { Console.WriteLine("No has acertado, llevas {0} intentos", intentos); if (numusuario > numero) Console.WriteLine("El número es menor"); else Console.WriteLine("El número es mayor"); } } Console.WriteLine("¡Lo has conseguido! Te ha costado {0} intentos", intentos); Console.ReadKey(); } } }
Os dejo mi código, como ya tenia práctica con Python y como hago el curso de Java no me costaba casi nada. int contadorIntentos = 0; bool programaFinalizado = false; bool numEncontrado = false; while(programaFinalizado == false){ // Generar numero aleatorio entre 0 y 100 Random randomObj = new Random(); int numRandom = randomObj.Next(0,100); Console.WriteLine("El programa ha creado un número entre 0 y 100, intenta adivinarlo"); while(numEncontrado == false){ // Introducir un numero int numInput = Convert.ToInt32(Console.ReadLine()); // Comprobar si es mayor o menor o igual if(numInput < numRandom){ Console.WriteLine("El número oculto és mayor"); } else if (numInput > numRandom){ Console.WriteLine("El número oculto és menor"); } else { Console.WriteLine("Has acertado después de " + contadorIntentos + " intentos"); numEncontrado = true; programaFinalizado = true; } // Aumenta el contador de intentos en cada vuelta del bucle contadorIntentos ++; } }
Es como cuando un niño quiere un dulce, el niño seria la condición que espera un "si puedes comer el dulce" de parte de sus papás, entonces el niño preguntaría, ¿Papá, puedo comer dulce? y el papá dice "no puedes comer dulce" entonces entraría en un bucle y se repetirá hasta que el papá diga que si. Console.WriteLine("Puedo comer Dulces?"); string respuestaPapa = Console.ReadLine();
while (respuestaPapa != "si puedes") { Console.WriteLine("Papa No quiere que comas Dulces"); Console.WriteLine("Puedo comer Dulces?"); respuestaPapa = Console.ReadLine(); } Console.WriteLine("Ya puedes comer Dulces!!!"); jejeje XD Saludos!
Buenas aqui dejo el ejercicio :D, se que se puede hacer mejor pero bueno prefiero seguir aprendiendo using System; using System.Reflection; namespace ConsoleApp3 { class Program { static void Main(string[] args) { Console.WriteLine("Bienvenido, si quiere iniciar diga si"); string iniciarPartida = Console.ReadLine(); if (iniciarPartida == "si") { int iniciar = 1; int intentos = 1; Random numero = new Random(); int numeroAleatorio = numero.Next(0, 100); while (iniciar == 1) { Console.WriteLine("Introduce un número entre 0 y 100"); int numeroIndicado = Int32.Parse(Console.ReadLine()); if (numeroIndicado == numeroAleatorio) { Console.WriteLine($"Enhorabuena has adivinado el número en {intentos} intentos"); iniciar++; } else { { if (numeroIndicado < numeroAleatorio) { Console.WriteLine("El número introducido es incorrecto"); Console.WriteLine($"El numero indicado {numeroIndicado} es menor"); intentos++; } else if (numeroIndicado > numeroAleatorio) { Console.WriteLine("El número introducido es incorrecto"); Console.WriteLine($"El número indicado {numeroIndicado} es mayor"); intentos++; } } } } Console.WriteLine($"Programa finalizado"); } } } }
Puede que sea muuuuuy tarde pero aqui está mi tarea xd using System; namespace PrimeraAplicacion { internal class Program {
static void Main(string[] args) { Console.WriteLine("Bienvenido a los backrooms"); Console.WriteLine(); Console.WriteLine("Primero dime tu nombre"); string Nombre = Console.ReadLine(); Console.WriteLine($"muy bien {Nombre}... el juego consiste en ir acercandose a un numero aletorio y que coincida, si haces más de 10 intentos xMUERESx"); Console.WriteLine(); Console.WriteLine("Escribe un numero y veremos si tienes buena suerte..."); int Ningresado=Int32.Parse(Console.ReadLine()); Random numero = new Random(); int numeroAletorio = numero.Next(0, 100); int intentos = 0; while(Ningresado!=numeroAletorio) { if (Ningresado > numeroAletorio) { Console.WriteLine("te estás pasando, menos un intento..."); Console.WriteLine("digita un nuevo numero"); intentos++; if (intentos > 11) { Console.WriteLine("tuviste muchas oportunidades, dile adios al mundo"); } Ningresado = Int32.Parse(Console.ReadLine()); } else if (Ningresado < numeroAletorio) { Console.WriteLine("solo te digo que te falta cantidad..."); Console.WriteLine($"digita un nuevo numero {intentos}"); intentos++; if (intentos > 11) { Console.WriteLine("tuviste muchas oportunidades, dile adios al mundo"); } Ningresado = Int32.Parse(Console.ReadLine()); } } Console.WriteLine($"felicidades {Nombre} tuviste muchaaa suerte, eres libre"); Console.WriteLine(); Console.WriteLine($"Hiciste estos intentos antes de tu muerte: {intentos}"); }
BUenas acabo de intentar el reto y me salio. No se si deberia de hacer lo de esta manera pero me funciona :). using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace ConsoleApp4 { class Program { static void Main(string[] args) { Random number = new Random(); int numberRandom =number.Next(0, 100); int enternumber = Int32.Parse(Console.ReadLine()); while (enternumber!= numberRandom) { if (enternumber > numberRandom) { Console.WriteLine("the number you entered is bigger then the ranndom number"); } else if (enternumber < numberRandom) { Console.WriteLine("the number you entered is smaller then the ranndom number"); } Console.WriteLine("try again"); enternumber = Int32.Parse(Console.ReadLine());
me esta gustando mucho el curso es muy fácil de entender pocos cursos son así de claros les comparto aun que tarde pero creo es una buena respuesta public static void ejercicio() { Console.WriteLine("Deseas jugar"); string respuesta = Console.ReadLine(); while (respuesta != "no") { Console.WriteLine("Bienbenidp al juego del numero randon"); Console.WriteLine("Introduce tu nombre"); string Nombre = Console.ReadLine(); Console.WriteLine($"Un gusto {Nombre.ToUpper()} juguemos " + $" Introduce un numero entre el 0 y 100"); int nIntegrado = Int32.Parse(Console.ReadLine()); Random numero = new Random(); int numeroAleatorio = numero.Next(0, 100); int intentos = 0;//iniciara en 0 hasta que metamos nuestros intentos //si damos con el numero saldremos del bucle while (nIntegrado != numeroAleatorio) { //verificara nuestro numero si es menor if (nIntegrado < numeroAleatorio) { Console.WriteLine("Introduce un numero mayor"); nIntegrado = Int32.Parse(Console.ReadLine()); } //verificara que nuestro numero sea mayor else if (nIntegrado > numeroAleatorio) { Console.WriteLine("Introduce un numero menor"); nIntegrado = Int32.Parse(Console.ReadLine()); } intentos++;//esta nos contara el numero de intentos } Console.WriteLine($"Felicidas {Nombre.ToUpper()} encontraste el numero"); Console.WriteLine(); Console.WriteLine($"Lo intentaste {intentos} de veces podras hacerlo en menos"); Console.WriteLine($"Saldras del bucle {Nombre.ToUpper()} cuando repondas la pregunta"); Console.WriteLine("¿Deseas repetir otra vez?"); respuesta = Console.ReadLine(); } Console.WriteLine("has salido del bucle");
Este fue mi metodo profe. using System; using System.Threading; namespace Adivina_el_Numero { class Program { static void Main(string[] args) { Random Numero = new Random(); int NumeroAleatorio = Numero.Next(0, 100); bool Acerto = false; int Intentos = 0; while (Acerto == false) { Console.WriteLine("Adivina el numero del 1 al 100"); int NumeroElegido = int.Parse(Console.ReadLine()); if (NumeroElegido == NumeroAleatorio) { Console.WriteLine($"¡Ganaste en {Intentos} Intentos!"); Acerto = true; } else if (NumeroElegido > NumeroAleatorio) { Console.WriteLine("El numero que seleccionaste es mayor que el numero aleatorio"); Intentos++; } else if (NumeroElegido < NumeroAleatorio) { Console.WriteLine("El numero que seleccionaste es menor que el numero aleatorio"); Intentos++; } Thread.Sleep(2000); } } } }
yo hice esto int nI = 1; Random numero = new Random(); int numeroAleatorio = numero.Next(0, 100); Console.WriteLine("¿Que numero eligio aleatoriamente?"); int respuesta = Int32.Parse(Console.ReadLine()); while (respuesta!=numeroAleatorio) { nI ++; Console.WriteLine("estas ejecutando el interior del bucle while"); if (numeroAleatorio > respuesta) { Console.WriteLine("El numero generado es mayor"); } else if (numeroAleatorio < respuesta) { Console.WriteLine("El numero generado es menor"); } Console.WriteLine("Elige otra vez"); respuesta = Int32.Parse(Console.ReadLine()); } Console.WriteLine($"has finalizado el bucle la respuesta es correcta y has utilizado {nI} intentos");
Gracias por el curso, puede que sea tarde pero este fue mi metodo:
static void Main(string[] args)
{
Console.WriteLine("Bienvenido al juego del bucle númerico");
Console.WriteLine();
Console.WriteLine("Introduce tu nombre");
string Nombre = Console.ReadLine();
Console.WriteLine($"Bien {Nombre} introduce un número entre el 1 y el 100");
int nIngresado = Int32.Parse(Console.ReadLine());
Random numero = new Random();
int numeroAleatorio = numero.Next(0, 100);
int intentos = 0;
while (nIngresado != numeroAleatorio)
{
if (nIngresado < numeroAleatorio)
{
Console.WriteLine("Debes ingresar un número mayor");
nIngresado = int.Parse(Console.ReadLine());
}
else if (nIngresado > numeroAleatorio)
{
Console.WriteLine("Debes ingresar un número menor");
nIngresado = int.Parse(Console.ReadLine());
}
intentos++;
}
Console.WriteLine("Felicitaciónes adivinaste el número del bucle");
Console.WriteLine();
Console.WriteLine($"{Nombre} tu número de intentos es {intentos}");
}
Creo que debemos colocar en la variable : int Intentos = 1. El uno para que los intentos sean exactos, por que el programa cuenta desde cero.
@@johnidfel4962 Exacto, en eso se equivoco el compañero
Está bien solamente te falta hacer una pregunta antes de acabar el ciclo while para que lo vuelva a intentar y asi el contador incremente cada que se repita, porque ahi solo tiene una oportunidad de acertar
asi le hice aunque creo que el else if no es necesario en el codigo pues solo con un else quedaria bien.
@@patricio1280 Ni para tanto. El error es minimo
Gracias por los cursos a mi me funciono de esta manera.
Console.WriteLine("Introduce un numero entre 0 y 100"); //Pide un numero en consola
int num = int.Parse(Console.ReadLine());
Random rnd = new Random();
int aleatorio= rnd.Next(0,100); //Genera numero aleatorio
//Console.WriteLine("El numero aleatorio es: " + aleatorio); //Para saber el numero aleatorio
int intento = 0;
while (num != aleatorio) //num es diferente al numero aleatorio se cumple el bucle
{
if(num > aleatorio) {
Console.WriteLine("Introduce un numero menor");
num = int.Parse(Console.ReadLine());
}
else if(num < aleatorio) {
Console.WriteLine("Introduce un numero mayor");
num = int.Parse(Console.ReadLine());
}
intento++; //Se guarda en intento y se va incrementando cada vez que se repite el bucle
}
Console.WriteLine();
Console.WriteLine("Haz acertado, el numero aleatorio es: " + aleatorio);
Console.WriteLine("Numero de intentos realizados: " + intento);
Me quede con la boca abierta cuando me salió a la primera, si bien soy estudiante de analista de sistemas (recién primer año) la verdad es que me motivo por que se ve que estoy aprendiendo. Genio por el curso, mil gracias.
Juan eres tan buen profesor..... eres lo máximo!!!
Aquí va el mío, que he empezado el curso hace poco. Seguro que se puede mejorar mucho, pero funciona!! funciona!! Gracias por el curso!
Random numero = new Random();
int numeroAleatorio = numero.Next(0, 100);
Console.WriteLine("Tienes que adivinar el número entre 0 y 100. Escribe tu número y pulsa Intro");
int respuesta = Int32.Parse(Console.ReadLine());
while (respuesta != numeroAleatorio)
{
if (respuesta < numeroAleatorio)
{
Console.WriteLine("El número que buscas es mayor, inténtalo de nuevo");
respuesta = Int32.Parse(Console.ReadLine());
}
if (respuesta > numeroAleatorio)
{
Console.WriteLine("El número que buscas es menor, inténtalo de nuevo");
respuesta = Int32.Parse(Console.ReadLine());
}
}
Console.WriteLine("¡Enhorabuena! ¡Has acertado!");
Que curso tan espectacular, muchas gracias.
Excelente!
Me parece acertado plantear ejercicios. Nos ayudan bastante.
De antemano, muchisimas gracias por este grandioso curso, soy un programador algo "avanzado", no tanto, pero la verdad es que este curso me ha ayudado a recordar el por qué me gusta la programación como tal :)
He aquí mi tarea
static void Main(string[] args)
{
Console.WriteLine("Bienvenido al programa Adivina el numero :D v1.0
");
Random numero = new Random();
int numAleatorio, numElegido;
int intentos = 1;
Console.WriteLine("¡Numero aleatorio generado correctamente!");
numAleatorio = numero.Next(0, 100);
Console.WriteLine("¿Cual es el número?");
numElegido = int.Parse(Console.ReadLine());
while (numElegido != numAleatorio)
{
if (numElegido > numAleatorio)
{
Console.WriteLine("Ya casi, el numero es menor al ingresado");
}else if(numElegido < numAleatorio){
Console.WriteLine("Ya casi, el numero es mayor al ingresado");
}
numElegido = int.Parse(Console.ReadLine());
intentos++;
}
Console.WriteLine("
");
Console.WriteLine($"Correcto!!, el numero era {numAleatorio}, bien hecho :)!");
Console.WriteLine($"Tu numero de intentos fue de: {intentos}");
Muchas gracias Profe!!! le mando un abrazo y cuídese buen hombre!!!
Bueno, ahora estoy iniciando con mi curso de C# y felicidades por los videos, son muy detallados y entretenidos.
Este es el ejercicio que complete.
class Program
{
static void Main(string[] args)
{
Random numero = new Random();
int NumeroA = numero.Next(0, 100);
Console.WriteLine("Introduzca el numero");
int numero2 = Convert.ToInt32(Console.ReadLine());
while (numero2!=NumeroA)
{
if (numero2>NumeroA)
{
Console.WriteLine("El numero es mayor que el generado aleatoriamente");
}
else
Console.WriteLine("El numero es menor que el generado aleatoriamente");
Console.WriteLine("Introduzca el numero");
numero2 = Convert.ToInt32(Console.ReadLine());
}
Console.WriteLine("Felicidades Ganaste");
Console.ReadKey();
}
}
Qué gran esfuerzo está haciendo, yo todavía estoy con el curso de Java en el vídeo 44, cuando domine mediante Java brincare a este curso
Excelente su curso. Voy al siguiente capítulo. Muchas gracias
Gracias por este increíble curso y el esfuerzo que haces, tu manera de enseñar es de las mejores que he visto en mi vida. Bendiciones.
//Solución.
Console.WriteLine("Este juego adivinará el número que estás pensando, por favor ingresa tu nombre ");
string nombre = Console.ReadLine();
Console.WriteLine($"{nombre}, Ahora ingresa un número ");
int numeroIngresado = Int32.Parse(Console.ReadLine());
Random numero = new Random();
int numeroAleatorio = numero.Next(0, 100);
int intentos = 0;
while (numeroIngresado != numeroAleatorio)
{
if(numeroIngresado < numeroAleatorio)
{
Console.WriteLine("Ingresa un numero mayor ");
numeroIngresado = Int32.Parse(Console.ReadLine());
}else if(numeroIngresado > numeroAleatorio)
{
Console.WriteLine("Ingresa un numero menor");
numeroIngresado = Int32.Parse(Console.ReadLine());
}
intentos++;
}
Console.WriteLine("Haz adivinado el numero");
Console.WriteLine($"Realizaste {intentos} intentos ");
}
El mejor curso maestro
La declaración de while (respuesta != "no") tiene su equivalente en el bucle for como for (;respuesta != "no";) y funciona exactamente como el anterior bucle while y por lo tanto como un supuesto bucle "indeterminado", lo que cambia en el bucle for es simplemente que se elimina la inicialización de la variable de control del bucle y el iterador del bucle en la declaración del for. El bucle for también puede funcionar como un bucle "indeterminado" y el while y do - while pueden tener su equivalente al bucle for y por lo tanto funcionar también como bucles "determinados".
Algo que les puede interesar es lo siguiente:
random.Next(0,5) nunca devuelve el segundo parametro ya que es exclusivo, esto quiere decir que si ponemos random.Next(0,100) nunca devolvera el 100 para que nos indique los numeros aleatorios del 1-100 seria asi: random.Next(1,101). Espero que los pueda ayudar, Gracias Profesor Juan, tus videos son los mejores, saludos desde Republica Dominicana :)
Excelente aqprendiedno con pildoras informaticas el mejor de los mejores en UA-cam
Felicitaciones años viendo este canal uno de mis favoritos en UA-cam y cada día más sorpresas retos interesante 👍🏻👍🏻👍🏻✅
soy principiante en esto de la programación y me he pegado un vicio viendo tus vídeos, tanto el de python como este de c#, en fin aqui dejo mi codigo, se que podria ser mejor pero a mi me funciono bien y para ser nuevo en este mundo creo que esta muy bien.
using System;
namespace AdivinaNumero
{
class Program
{
static void Main(string[] args)
{
Random numero = new Random();
int numeroAleatorio = numero.Next(1, 100);
Console.WriteLine("Adivina el numero");
int miNumero = Int32.Parse(Console.ReadLine());
int contador = 1;
while (numeroAleatorio != miNumero)
{
contador += 1;
if (miNumero > 0 && miNumero < numeroAleatorio) Console.WriteLine("El numero introducido es menor");
if (miNumero > numeroAleatorio && miNumero < 101) Console.WriteLine("El numero introducido ES MAYOR");
if (miNumero > 100 || miNumero < 1) Console.WriteLine("El numero introducido no es correcto");
miNumero = Int32.Parse(Console.ReadLine());
}
Console.WriteLine($"Ha logrado acertar el numero aleatorio en {contador} intentos");
Console.WriteLine("Fin del programa");
}
}
}
Hola, me descolgué del curso hace un par de meses y he estado repasando los vídeos anteriores para asimilar conocimientos. Justo al acabar este me dí cuenta de que no comente mi coduigo así que he dicho, ¿por qué no? Aquí está mi granito de arena :)
int intentos = 0;
Random rand = new Random();
int num = rand.Next(1, 100);
int inputNum = -1;
while (num != inputNum)
{
intentos++;
Console.WriteLine("Introduce un numero: ");
inputNum = Int32.Parse(Console.ReadLine());
if (inputNum > num) Console.WriteLine("El numero es mas pequeño");
else if (inputNum < num) Console.WriteLine("El numero es mas grande");
else break;
}
Console.WriteLine($"Felicidades, has acertado con solo {intentos} intentos!");
Hola saludos ,profe algo muy importante que podrias usar es .Trim() con la variable respuesta para evitar que falle si se introduce un espacio.
gracias por tan valioso contenido para todos aquellos que estamos empezando!!
alguien podria decirme que algoritmo o secuencia utiliza para arrojar el numero aleatorio, Juan comenta que siempre se repiten unos numeros mas que otros y eso tiene un porque y me gustaria saber ese porque.. gracias de antemano.. @pildorasinformaticas
Ejercicio completado la verdad es lo mejor practicar!
Gracias por todos tus cursos y por la propuesta de ejercicio. Comparto la solución que apliqué yo:
using System;
namespace While
{
class Program
{
static void Main(string[] args)
{
Random numero = new Random();
int numeroAleatorio = numero.Next(0, 100);
Console.WriteLine("Uy tengo un número en mente. Si lo adivinas te llevas un premio...¿Te atreves? Introduce un número");
int respuesta = int.Parse(Console.ReadLine());
while(respuesta != numeroAleatorio)
{
if (respuesta < numeroAleatorio) Console.WriteLine("El número es mayor");
else
{
Console.WriteLine("Introduce un número menor");
respuesta = int.Parse(Console.ReadLine());
}
if (respuesta > numeroAleatorio) Console.WriteLine("El número es menor");
else
{
Console.WriteLine("Introduce un número mayor");
respuesta = int.Parse(Console.ReadLine());
}
}
Console.WriteLine("Enhorabuena has acertado. Tu premio es mi reconocimiento ☺");
}
}
}
Ahora voy a comprobar si se parece en algo a la tuya (que suerte poder hacerlo en un solo clic) o di más vueltas que la rosca de un tornillo XD!!
Muchas gracias amigo por dedicar tu tiempo a enseñar me ha servido mucho tu conocimiento y lo explicas muy bien y sencillo 👍👍👍
Muchas gracias ¡exelente todo profe!
gracias de nuevo!
Me encantó este vídeo profe!
Genial gran video gracias
Juan, unas explicaciones estupendas.. me tienes enganchada.. jejeje, en febrero empiezo DAM y la verdad es que dan gusto tus explicaciones.. mi propuesta, sería la siguiente..
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace AdivinaMiNumero
{
class Program
{
static void Main(string[] args)
{
Random numero = new Random();
int numeroAleatorio = numero.Next(0, 101);
string linea;
int respuesta, contador;
Console.WriteLine("Adivina el número que he pensado entre 0 y 100...");
linea = Console.ReadLine();
respuesta = Validar(linea);
contador = 0;
while (respuesta != numeroAleatorio)
{
if (respuesta > numeroAleatorio)
Console.WriteLine($"
Mi número es menor que {respuesta}");
else Console.WriteLine($"
Mi número es mayor que {respuesta}");
contador = contador + 1;
Console.WriteLine("
Prueba otra vez...");
linea = Console.ReadLine();
respuesta = Validar(linea);
}
Console.WriteLine($"
Enhorabuena!!! Efectivamente, {respuesta} era mi número... Lo has conseguido tras {contador} intentos.");
Console.WriteLine($"
Esta es la impresión directa de mi número: {numeroAleatorio}");
Console.ReadLine();
}
static int Validar(string dato)
{
string linea;
bool formato = false;
formato = Int32.TryParse(dato, out int supuestoNumero);
if (supuestoNumero 100) formato = false;
while (formato == false)
{
Console.WriteLine("Recuerda que debes introducir un número entre 0 y 100. Prueba otra vez...");
linea = Console.ReadLine();
formato = Int32.TryParse(linea, out supuestoNumero);
}
return supuestoNumero;
}
}
}
Si puedes, que ya no sé si leerás esto.. me dices qué te parece..
Mil gracias de nuevo por tus explicaciones. Son geniales!!
Muy buen curso! esta fue la forma en la que lo resolví! →
static void Main(string[] args)
{
Console.WriteLine("Adivina el número");
Console.WriteLine("Inserte un numero entre 0 y 100");
Random numero = new Random();
int nAleatorio = numero.Next(0, 100);
int nInsertado = Int32.Parse(Console.ReadLine());
int intentos = 0;
while(nInsertado !=nAleatorio)
{
if (nInsertado > nAleatorio) Console.WriteLine("Inserte un número menor");
else if(nInsertado
Muchas gracias no entendí a la primera el (respuesta != "no") pero lo entendí después de verlo la segunda vez lo entendí así: (respuesta no es igual a "no quiero entrar") te sales del bucle. jejeje muchas gracias amigo! Saludos desde México!
Excelente profesor aunque hasta ahora encuentro tan buen curso. Siento que estoy aprendiendo. Yo hice el ejercicio asi:
using System;
namespace _1EjercicioWhile
{
class Program
{
static void Main(string[] args)
{
int numero1;
Random numero = new Random();
int numeroAleatorio = numero.Next(0, 100);
Console.WriteLine("Adivina cual es el número");
numero1 = int.Parse(Console.ReadLine());
while (numeroAleatorio != numero1)
{
if (numeroAleatorio > numero1)
{
Console.WriteLine("El número es mayor");
Console.WriteLine("Adivina cual es el número");
numero1 = int.Parse(Console.ReadLine());
}
else if (numeroAleatorio < numero1)
{
Console.WriteLine("El número es menor");
Console.WriteLine("Adivina cual es el número");
numero1 = int.Parse(Console.ReadLine());
}
}
Console.WriteLine("Adivinaste el numero es " + numeroAleatorio);
}
}
}
Buenas tardes a todos los seguidores de Pildorasinformaticas. en la linea de : string respuesta = Console.ReadLine();
me sale una linea ondeada verde abajo de "ReadLine" (no quiero decir error) en versión 2022 de Visual Studio. Sin embargo se ejecuta el programa, para que no se panqueen cuando lo vean e intenten resolverlo como me paso y me genero un poco de estres.(CS8600). IOExeption, Out of Memory Exeption, Argument Out Of Range Exeption. Gracias por compartir profesor, Saludos.
Gracias por el curso, está fue la menara de la que hice el código:
using System;
namespace Bucle_While
{
class Program
{
static void Main(string[] args)
{
//Metodo para generar numero aleatorios
Random random = new Random();
int numeroAleatorio = random.Next(101);
int numero;
int intentos = 0;
bool adivina = false;
while (!adivina)
{
Console.WriteLine("Ingrese un numero del 1 al 100");
numero = int.Parse(Console.ReadLine());
//Cada vez que introduzcas un numero, el contador de intentos aumentara
intentos++;
if (numero == numeroAleatorio)
{
Console.WriteLine($"Felicidades, acertaste el numero aleatorio, en esta cantidad de intentos {intentos}");
//Si el numero es correcto, entonces el programa leera la linea de abajo y se detendra el programa.
adivina = true;
}
else if (numero > numeroAleatorio) Console.WriteLine("Te pasaste, esta mas abajo");
else if (numero < numeroAleatorio) Console.WriteLine("Puff, esta mas arriba");
}
}
}
}
Excelente Curso profesor Juan
aca los codigos de mi ejercicio
int numeroRan = new Random().Next(0, 100);
int incremento = 1;
Console.WriteLine("Ahora adivine el numero generado Aleatoriamente debe de ser entre 0 y 100");
int numero = Int32.Parse(Console.ReadLine());
while (numeroRan != numero){
if (numeroRan > numero) Console.WriteLine($"El numero ingresado {numero} es menor al generado aleatoriamente");
else Console.WriteLine($"El numero ingresado {numero} es mayor al generado aleatoriamente");
incremento++;
numero = Int32.Parse(Console.ReadLine());
}
Console.WriteLine($"A conseguido adivinar el numero generado aleatoriamente {numeroRan}, con {incremento} intentos");
Juan muchas gracias por por tomarte el tiempo para crear estos cursos, son geniales, este es el tercero que hago en tu canal.
comparto mi código del reto.
Random numero = new Random();
int numeroaleatorio = numero.Next(0, 100);
//Console.WriteLine(numeroaleatorio);
Console.WriteLine("Bienvenido al Juego.");
Console.WriteLine("========== == =====");
Console.WriteLine("Adivina el número entre el 0 y el 100");
int numeroUsuario = int.Parse(Console.ReadLine());
int intentos = 1;
while (numeroUsuario != numeroaleatorio)
{
if (numeroUsuario < numeroaleatorio)
Console.WriteLine("El número es mayor. Intentalo de nuevo");
else
Console.WriteLine("El número es menor. Intentalo de nuevo");
numeroUsuario=int.Parse(Console.ReadLine());
intentos++;
}
Console.WriteLine("Has adivinado el número.");
Console.WriteLine($"Necesitaste {intentos} Intentos para adivinar, bye!");
Console.ReadKey();
Buenas noches, muy bueno el desafío, me tomó un tiempo poder hacer lo de los intentos, pero finalmente lo hice, acá comparto mi solución:
Random número = new Random();
int númeroAleatorio = número.Next(0, 100);
Console.WriteLine("Intenta adivinar el número que se a producido aleatoriamente");
int respuesta=101;
int intentos = 0;
while (respuesta != númeroAleatorio)
{
intentos++;
Console.WriteLine("Introduce un número");
respuesta = Int32.Parse(Console.ReadLine());
if (respuesta > númeroAleatorio) Console.WriteLine("El número ingresado es mayor que el generado aleatoriamente");
else if (respuesta < númeroAleatorio) Console.WriteLine("El número ingresado es menor que el generado aleatoriamente");
else Console.WriteLine($"Felicidades, has ganado en {intentos} intentos");
}
Console.WriteLine("Esto concluye el juego");
¡Otro excelente video pofe! Ahora voy a empezar a compartir mi código ya que las últimas 2 veces me sirvió bastante ver los que dejan otras personas en comentarios, así que para aportar yo también, acá va el mio
static void Main(string[] args)
{
Random numero = new Random();
int numeroAleatorio = numero.Next(0, 100);
Console.WriteLine("A ver si podés adivinar el número, comprendido entre 1 y 100");
int intento = int.Parse(Console.ReadLine());
int cantidadIntentos = 0;
while (intento != numeroAleatorio)
{
if (intento < numeroAleatorio)
{
Console.WriteLine("Introducí un número mayor");
intento = int.Parse(Console.ReadLine());
}
else if (intento > numeroAleatorio)
{
Console.WriteLine("Introducí un número menor");
intento = int.Parse(Console.ReadLine());
}
cantidadIntentos++;
}
int cantidadIntentos2 = cantidadIntentos + 1;
Console.WriteLine("¡Bien, adivinaste!");
Console.WriteLine($"El número correcto era {numeroAleatorio}, y solo te tomó {cantidadIntentos2} de intentos");
(Al final se ve como cambio el cantidadIntentos por cantidadIntentos2, ya que necesitaba sumarle 1 a la cantidad de intentos, porque si no, el último intento no me lo contaba, por lo que siempre le faltaba 1 intento al número real.
Para que no tengas dos variables cantidad puedes sobrescribir el valor de tu variable:
cantidadIntentos = cantidadIntentos + 1;
Muchas gracias por compartir su conocimiento señor profesor!. De verdad que me parece un robo el hecho de que sus cursos sean gratis, pero agradezco infinitamente lo que se esfuerza por enseñarnos. Un saludo
Gracias profe trate de hacerlo mas logico con lo que he aprendido hasta ahora.
using System;
namespace video12
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Introduce tu nombre, porfavor");
string nombre = Console.ReadLine();
Console.WriteLine("Deseas entrar en el bucle?");
string respuesta = Console.ReadLine();
while (respuesta != "no")
{
Console.WriteLine("estas ejecutando el interior del bucle while");
Console.WriteLine($"{nombre}, Deseas salir del bucle?");
string preguntaBucle = Console.ReadLine();
if (preguntaBucle == "si") respuesta = "no";
else respuesta = "si";
}
Console.WriteLine("Has salido del bucle");
}
}
}
Actualizo porque termine el video xd
using System;
namespace video13
{
class Program
{
static void Main(string[] args)
{
Random numero = new Random();
int contador = 0;
int numeroAleatorio = numero.Next(0, 100);
Console.WriteLine("Adivine el numero aleatorio");
int numeroIntento = Int32.Parse(Console.ReadLine());
while (numeroAleatorio!=numeroIntento) {
if (numeroAleatorio > numeroIntento)
{
Console.WriteLine("El numero escogido es menor");
Console.WriteLine("Porfavor intente denuevo....");
numeroIntento = Int32.Parse(Console.ReadLine());
contador++;
}
else if (numeroAleatorio < numeroIntento)
{
Console.WriteLine("El numero escogido es mayor");
Console.WriteLine("Porfavor intente denuevo....");
numeroIntento = Int32.Parse(Console.ReadLine());
contador++;
}
else numeroAleatorio = numeroIntento;
}
Console.WriteLine($"Correcto, se consiguio al intento: {contador}");
}
}
}
¡Estoy contento porque pude hacer el programa! Ahora a ver cómo lo hizo, profesor, en el siguiente vídeo.
¡Saludos!
Por cierto, éste es mi código:
Random numero = new Random();
int nAleatorio = numero.Next(1, 100);
Console.WriteLine("Adivina en qué número del 1 al 100 estoy pensando :)");
int intento = 1;
int nUsuario = Int32.Parse(Console.ReadLine());
while (nUsuario != nAleatorio)
{
if (nUsuario < nAleatorio) Console.WriteLine("El número es MAYOR. Vuelve a intentarlo...");
else if (nUsuario > nAleatorio) Console.WriteLine("El número es MENOR. Vuelve a intentarlo...");
intento = intento + 1;
nUsuario = Int32.Parse(Console.ReadLine());
}
Console.WriteLine($"¡Correcto! Lo has logrado en {intento} intentos.");
Saludo profe!! Excelente curso.. Hice el ejercicio de esta manera:
Random numA = new Random();
int numAle = numA.Next(0, 100);
int Attempts=0;
while (conti)
{
Attempts++;
int numIntro;
Console.WriteLine("Introduce you a numbers for guess the generated number:");
numIntro =int.Parse(Console.ReadLine());
if (numAle > numIntro) Console.WriteLine("Introduce a bigger number:");
else if (numAle < numIntro) Console.WriteLine("Introduce a minor number:");
else{
Console.WriteLine($"Congratulations, you guss the numbers: {numAle} in {Attempts}Attempts");
conti = false;
}
}
Tengo una duda soy nuevo en esto.
Que es un string o que quiere decir una variable string??
Hola muy buenas agradezco la ayuda que me ha brindado este video, ya que los bucles con while todavía no los acababa de conocer pero podrías hacer un video de los bucles con for por favor?
Y el For en que parte se encuentra? agradeceria su respuesta.
Profesor una consulta, porque el signo $ en la linea del código 21, tenga esa dudad profesor. saludos desde Perú.
Parece que voy mejorando. He parado el vídeo en el min 5:45 (es decir, justo al final de la teoría del while) y he conseguido hacer la tabla de multiplicar aplicando lo aprendido en los vídeos anteriores. Habrá formas mejores pero al menos con esto sé que he entendido la función de while:
Console.WriteLine("Tabla de Multiplicar");
Console.WriteLine("Introduce un número del 1 al 10");
int numeroaMultiplicar = Int32.Parse(Console.ReadLine());
int posicionMultiplicacion = 1; // Definimos la posición en la que se encuentra la multiplicación.
if (numeroaMultiplicar >0 && numeroaMultiplicar
minimo lo tenias que hacer gui si ya has terminado el tuto jaja
Buen video
Excelente. Muchas gracias!!
Gracias por la explicacion, y el curso en general
A continuación mi mejor intento del ejercicio::
using System;
namespace ConsoleApp2
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Hola [USUARIO], a continuacion el sistema generara un numero aleatorio entre 0 y 100");
Random numero = new Random();
int random = numero.Next(0, 100), i = 0, intentos = 0;
while (i == 0)
{
Console.WriteLine("Por favor, indique que numero es el que aleatoriamente genero el sistema: ");
int comparar = Int32.Parse(Console.ReadLine());
if (comparar == random)
{
Console.WriteLine("El numero es correcto
Ejecutando cierre");
i = 1;
}
else
{
intentos++;
Console.WriteLine($"Lo sentimos, el numero es incorrecto. Numero de intentos: {intentos}");
}
}
Console.Write("Presione ENTER para salir...");
Console.ReadLine();
}
}
}
Excelente eres el mejor.... ( •_•)>⌐■-■
Miren lo que abarca un dato de tipo int en C#:
int -2,147,483,648 to 2,147,483,647
Años depués pero apenas estoy tomando el curso, así me quedó :
static void Main(string[] args)
{
Random numeroAleatorio = new Random();
int numeroElegido = numeroAleatorio.Next(0,100);
Console.WriteLine("Adivina y escribe cual es el numero que el programa ha generado");
int numeroUsuario = int.Parse(Console.ReadLine());
while (numeroUsuario != numeroElegido)
{
if (numeroUsuario > numeroElegido)
{
Console.WriteLine("El número es menor, intenta de nuevo");
numeroUsuario = int.Parse(Console.ReadLine());
}
if (numeroUsuario < numeroElegido)
{
Console.WriteLine("El número es mayor, intenta de nuevo");
numeroUsuario = int.Parse(Console.ReadLine());
}
}
if (numeroUsuario == numeroElegido)
{
Console.WriteLine("LE ATINASTE!! el numero es " + numeroElegido);
}
}
Porque dice que los números no son realmente aleatorios?
Porque son listas preestablecidas. Fíjate en el primer número generado por el programa cuando lo ejecutes todos los días. Verás que hay uno que sale muchas más veces que los demás, como las mesas trucadas de los casinos. Un saludo!
@@pildorasinformaticas Y hay una manera de crear realmente números aleatorios?
2022; acá aprendiendo c# en paralelo a la facultad, usted me da una gran ayuda!
using System;
namespace UsoWhile
{
class Program
{
static void Main(string[] args)
{
int nroUser;
int nroVuelta = 1;
Random numero = new Random();
int nroAleatorio = numero.Next(0, 100);
Console.WriteLine("Hola! Hé generado un nro aleatorio entre el numero 0 y 100, ahora debes adivinarlo");
Console.WriteLine("Ingrese un nro");
nroUser = int.Parse(Console.ReadLine());
while (nroAleatorio != nroUser)
{
nroVuelta ++;
if (nroUser < nroAleatorio)
{
Console.WriteLine("El número en cual estoy pensando es mayor al que ingresaste");
}
else Console.WriteLine("El número en cual estoy pensando es menor al que ingresaste");
Console.WriteLine("Ingrese un nro");
nroUser = int.Parse(Console.ReadLine());
}
Console.WriteLine("Perfecto! has advininado el numero aleatorio " + nroAleatorio + ", usaste " + nroVuelta + " intentos");
}
}
}
Aquí dejo mi solución al problema :3 Por cierto, gracias por este curso, me ha servido muchísimo, incluso comprendí más con usted que con los profesores del instituto.
static void Main(string[] args)
{
Random numero = new Random();
int numeroAleatorio = numero.Next(1,100);
int contadorIntentos = 0;
//Console.WriteLine(numeroAleatorio);
Console.WriteLine("¡Hola!, este programa ha generado un número aleatorio entre 1 y 100");
Console.WriteLine("Escribe un número y presiona enter, a ver si lo puedes adivinar");
int numeroIngresado = Int32.Parse(Console.ReadLine());
while(numeroIngresado != numeroAleatorio)
{
if (numeroIngresado > numeroAleatorio)
{
contadorIntentos++;
Console.WriteLine("Nop, el número es menor ;)");
numeroIngresado = Int32.Parse(Console.ReadLine());
}
else{
contadorIntentos++;
Console.WriteLine("Nop, el número es mayor ;)");
numeroIngresado = Int32.Parse(Console.ReadLine());
}
}
contadorIntentos++;
Console.WriteLine("¡Genial!, ¡Adivinaste el número aleatorio!");
Console.WriteLine("¡Y sólo te tomó "+contadorIntentos+" intentos!");
}
GENIAL
Tengo una duda, ¿Cómo hago para crear un ejecutable con su icono particular para la aplicación creada?
Muchas gracias
Lo veremos más adelante en el curso. Un saludo!
Una duda, el equals es equivalente a "==" ¿verdad? Como se podria hacer un equals pero lo contrario en lugar de "!=" para hacer el IgnoreCase sin tener que escribir dos barras, no se si me explico
Yo lo hice asi:
namespace Ejercicio_numeroAleatorio
{
class Program
{
static void Main(string[] args)
{
int contador = 1; //se incializa el contador en 1 porque el usuario escribe un intento antes de entrar al bucle
Random numero = new Random(); //se crea el numero aleatorio
int numeroAleatorio = numero.Next(0, 100); //se crea numero aleatorio y se escribe el rango que tendra
Console.WriteLine("Escriba el numero que va a adivinar");
int num = int.Parse(Console.ReadLine()); //se guarda el primer numero que escribio el usuario para adivinar el numero
while (num != numeroAleatorio && num >=0 && num
hola, a mi me esta generando un problema después de declarar la variable "respuesta" e iniciar el bucle while, el error dice "no se puede convertir implícitamente el tipo sring en bool"
Hola, primero que nada, gracias por el curso que nos has puesto a disposición. Mi pregunta es, en donde encuentro el video en el que explicas el FOR, porque hicistes el WHILE y DO WHILE pero no el FOR , o yo me he equivocado? Saludos desde Perú
Hola, muy buenas y muchas gracias por las excelentes clases de este curso. Respecto a este ejercicio, me gustaria mostrarles mi solucion a ver que les parece.
using System;
namespace Estructura_de_bucle_While
{
class Program
{
/*En este codigo tengo que adivinar un numero que la Pc genera aleatoriamente entre 0 y 100
a medida que voy introduciendo numeros voy acotando la solucion final*/
static void Main(string[] args)
{
Random numero = new Random();
int numeroAleatorio = numero.Next(0, 100);
Console.WriteLine("Trate de adivinar un numero entre 0 y 100");
int numeroDelUsuario = int.Parse(Console.ReadLine());
//estas variables son para ajustar el intervalo de numeros
int minimo = 0;
int maximo = 100;
//en mi solucion opto por la estructura do-while
do
{
{
if (numeroDelUsuario < numeroAleatorio)
{
minimo = numeroDelUsuario; //ajusto el menor numero a considerar
Console.WriteLine("El numero escogido quedo por debajo");
Console.WriteLine($"Ahora tiene para escoger entre {minimo} y {maximo}");
numeroDelUsuario = int.Parse(Console.ReadLine());
}
else
if (numeroDelUsuario > numeroAleatorio)
{
maximo = numeroDelUsuario; //ajusto el mayor numero a considerar
Console.WriteLine("El numero escogido esta por encima");
Console.WriteLine($"Ahora tiene para escoger entre {minimo} y {maximo}");
numeroDelUsuario = int.Parse(Console.ReadLine());
}
}
}
while (numeroDelUsuario != numeroAleatorio);
Console.WriteLine("Has acertado, el numero es {0}", numeroDelUsuario);
}
}
}
Gracias
andaba buscando es palabra clave que mientras sea verdad se seguira ejecutando, compando con el ejercicio de java de cap 19-
Muy buen curso, muchas gracias, un poco tarde pero les dejo mi método:
using System;
namespace usoWhile
{
class MainClass
{
public static void Main(string[] args)
{
int intento = 0;
Random numero = new Random();//genera numero aleatorio
int numAleatorio = numero.Next(0, 100);
Console.WriteLine("¿Cual es el numero que tengo en mente?");
int numUsuario = Int32.Parse(Console.ReadLine());
while (numAleatorio != numUsuario)
{
intento++;
if (numAleatorio > numUsuario)
Console.WriteLine("El numero que buscas es Mayor");
else Console.WriteLine("El numero que buscas es Menor");
Console.WriteLine("Intentalo Nuevamente:");
numUsuario = Int32.Parse(Console.ReadLine());
}
Console.WriteLine($"Lo has adivinado, te llevo {intento} intentos.");
}
}
}
Muy contento con este ejercicio, excelente me puso a pensar un poco.
{ // this code gets the number from the player
Console.WriteLine("Please input a number between 0 and 100");
int num = Int32.Parse(Console.ReadLine());
// num should be initiated = 101 so that way always enter the loop
//this codes generates a random number
Random random = new Random();
int randomNum = random.Next(0, 100);
int attemps = 0; // this line initialice the counter
while (num != randomNum) // will evaluate always that the player input is different to random number
{
if (num < randomNum)
{
Console.WriteLine("You number is less than the random, Please try again ");
num = Int32.Parse(Console.ReadLine());
}
else if (num > randomNum) //instead of else if we can use if nested
{
Console.WriteLine("Your number is greater than the random number, Please try again");
num = Int32.Parse(Console.ReadLine());
}
else // this piece of code is not needed cos there is only = or ==
{
Console.WriteLine("that is not a number, please try again");
num = Int32.Parse(Console.ReadLine());
}
attemps++; //increments the counter
}
Console.WriteLine("
");
Console.WriteLine($"the randon number created is: {randomNum}"); // shows random number
Console.WriteLine($"You have won!, you input {num} is equal to computer generated number {randomNum}" );
Console.WriteLine($"You have done it in { attemps} attemps");
Excelente Curso, mi ejercicio lo resolví asa:
Random numero = new Random();
int numAleatorio = numero.Next(0, 100);
Console.WriteLine("¿En que numero estoy pensando?
El numero es del 0 al 100, dime tu respuesta " +
"y yo te dire si es mayor
o menor y te dire cuando sepas el numero. ");
int respuesta = int.Parse(Console.ReadLine());
while (respuesta != numAleatorio)
{
while (respuesta > numAleatorio)
{
Console.WriteLine("Soy mas pequeño");
respuesta = int.Parse(Console.ReadLine());
}
while (respuesta < numAleatorio)
{
Console.WriteLine("Soy mas grande");
respuesta = int.Parse(Console.ReadLine());
}
}
Console.WriteLine($"Le atinaste soy un {numAleatorio}");
hola , ¿que programa usas para hacer tus ediciones tipo paint mientras explicas tu código al mismo tiempo? saludos
Buena tarde, Profesor.
Aquí dejo mi ejercicio, solo tengo una duda, cuando pregunto si quiere volver a jugar y el usuario coloca que si, ¿Como puedo hacer para que vuelva a iniciar desde arriba?
Console.WriteLine("¿Quieres jugar?");
string respuesta1 = Console.ReadLine();
if (respuesta1 == "no") Console.WriteLine("Hasta luego");
else
{
Random numero = new Random();
int numeroAleatorio = numero.Next(0, 100);
Console.WriteLine("Vas a adivinar el numero en el que pienso");
Console.WriteLine("¿Qué nuemero estoy pensando?");
int respuestaNumero = int.Parse(Console.ReadLine());
int intentos = 1;
while (respuestaNumero != numeroAleatorio)
{
intentos++;
if (respuestaNumero > numeroAleatorio) Console.WriteLine("Tu numero es mayor al que pienso");
else Console.WriteLine("Tu numero es menor al que pienso");
Console.WriteLine("Vuelve a intentarlo, ¿Qué numero estoy pensando?");
respuestaNumero = int.Parse(Console.ReadLine());
}
Console.WriteLine($"Haz adivinado el numero que pense, el cual es {respuestaNumero} y lo haz logrado en tan solo {intentos} intentos");
Console.WriteLine("¿Quieres volver a jugar?");
string respuesta2 = Console.ReadLine();
if (respuesta2 == "no") Console.WriteLine("Gracias por jugar");
Console.ReadLine();
}
Console.ReadLine();
While volverá a iniciar mientras se cumpla la condición, ahora si te refieres a que no acumule las respuestas en pantalla, agrega al final del bucle un "Console.Clear();" y limpiará la pantalla para que la pregunta inicie 'desde arriba'.
@@EloyTN Gracias, lo intetare
aqui mi programa del ejercicio
int suma = 0;
Random numero = new Random();
int numeroaleatorio = numero.Next(0, 100);
Console.WriteLine("este juego trataras de adivinar un numero aleatorio comprendido entre 0 y 100");
Console.WriteLine("que numero crees que es ");
int respuesta = Int32.Parse(Console.ReadLine());
while (respuesta != numeroaleatorio) {
Console.WriteLine("erroneo");
suma = suma + 1;
if (respuesta < numeroaleatorio) Console.WriteLine("el numero es mayor");
else if (respuesta > numeroaleatorio) Console.WriteLine("el numero es menor");
Console.WriteLine("dame otro numero ");
respuesta = int.Parse(Console.ReadLine());
}
Console.WriteLine("correcto");
Console.WriteLine($"tuviste {suma} errores");
Yo lo escribí así, lo probé y funciona :-D
using System;
namespace PrimeraAplicacion
{
class Program
{
static void Main(string[] args)
{
Random numero = new Random();
int numeroAleatorio = numero.Next(0, 100);
Console.WriteLine("El sistema genero un numero aleatorio");
Console.WriteLine("ingrese un numero del 0 al 100 para ver si acierta
");
int numeroIngresado = int.Parse(Console.ReadLine());
int intentos = 1;
while (numeroIngresado != numeroAleatorio)
{
intentos++;
if (numeroIngresado > numeroAleatorio) Console.WriteLine("
el numero ingresado es MAYOR al generado");
else Console.WriteLine("
el numero ingresado es MENOR al generado");
Console.WriteLine("ingrese un numero del 0 al 100 para ver si acierta
");
numeroIngresado = int.Parse(Console.ReadLine());
}
Console.WriteLine($"
el numero generado es: {numeroIngresado}");
Console.WriteLine($"y lo encontro en: {intentos} intentos");
}
}
}
gracias por estos videos, mi código fue este:
static void Main(string[] args)
{
Random primer=new Random();
int numeroConsola = primer.Next(1,100);
Console.WriteLine("Escribe un número que creas que es mayór al de la consola del 1 al 100");
int numeroJugador = Int32.Parse(Console.ReadLine());
while (numeroConsola > numeroJugador)
{
Console.WriteLine("tu número es menor, intenta de nuevo");
Console.WriteLine("Escribe un número que creas que es mayór al de la consola del 1 al 100");
numeroJugador = Int32.Parse(Console.ReadLine());
}
Console.WriteLine($"ganaste, tu número es mayor, el de la consola era {numeroConsola}");
}
Acá el mío, mi hermano y yo estuvimos jugando con esto que cree :D
Falta corregir muchos errores, lo corregiré mañana en la mañana mientras escucho música (es la mejor parte de "programar"♥)
Random numero = new Random();
int numeroAL = numero.Next(0, 100);
Console.WriteLine("Podrás adivinar el número?");
Console.WriteLine("Escribe un número que está entre 1 y 100, si logras adivinar ganas, y si fallas, te daremos una pista para que encuentres el número oculto");
string oculto = Console.ReadLine();
int num_oculto = Int32.Parse(oculto);
if (num_oculto != numeroAL)
{
while (num_oculto != numeroAL)
{
Console.WriteLine("Sigue intentando");
Console.WriteLine("Pon otro número");
string ocultos = Console.ReadLine();
num_oculto = Int32.Parse(ocultos);
if (num_oculto > numeroAL)
{
Console.WriteLine("El numero que buscas es menor al valor ingresado");
}
else if (num_oculto < numeroAL)
{
Console.WriteLine("El numero que buscas es mayor al valor ingresado");
}
}
}
if (num_oculto == numeroAL)
{
Console.WriteLine("El número es correcto");
}
Console.Read();
Muy agradecido Juan. Mis saludos desde Rep. Dominicana aquí esta mi ejercicio.
using System;
namespace NumeroAleatorio
{
class Program
{
static void Main(string[] args)
{
Random random = new Random();
int numeroAleatorio = random.Next(0, 100);
// Imprime el número aleatorio solo para que ver
Console.WriteLine(numeroAleatorio);
Console.WriteLine("Introduce el número adivinar?");
int miNumero = int.Parse(Console.ReadLine()); // Convierto el # introducido a entero
int intentos = 1; // Guardo la cantidad de intentos por el usuario
while(numeroAleatorio != miNumero)
{
Console.Clear(); // Limpia la consola
if (miNumero < numeroAleatorio)
{
Console.WriteLine($"{miNumero} es menor al número aleatorio.");
Console.WriteLine($"Tiene {intentos} intentos.");
}
else
{
if (miNumero > numeroAleatorio)
{
Console.WriteLine($"{miNumero} es mayor al número aleatorio.");
Console.WriteLine($"Tiene {intentos} intentos.");
}
}
intentos++; // Incremento los intentos en cada vuelta del bucle while
Console.WriteLine(); // Imprime una linea en blanco
Console.WriteLine("Vuelve a introduce el número adivinar?");
miNumero = int.Parse(Console.ReadLine());
}
Console.WriteLine($"Acertaste!!! Feliciadades..");
Console.WriteLine($"{miNumero} es el número aleatorio.");
Console.WriteLine($"Lo lograste en {intentos} intentos.");
Console.ReadKey();
}
}
}
Gracias por el aporte. Un saludo!
Hola una sugerencia... soy nuevo en esto y me esta gustando
Console.WriteLine("¿Deseas ingresar en el bucle:?");
string respuesta = Console.ReadLine();
if (respuesta == "si")
{
while (respuesta == "si")
{
Console.WriteLine("Ingresastes al bucle.");
Console.WriteLine("Ingresa tu nombre para registrarte:");
string nombre = Console.ReadLine();
Console.WriteLine("Te registraste con el nombre:" + nombre);
Console.WriteLine("Quieres seguir registrandote dentro del bucle:");
respuesta = Console.ReadLine();
if (respuesta == "no")
{
Console.WriteLine("Saliste del bucle");
}
}
}
else Console.WriteLine("No ingresastes al bucle.");
soy nuevo en estos lares. Tengo una duda que no consigo resolver pero seguro que cualquiera de vosotros me dais la solución. El PRG es el simple resuelto en clase:, pero no se como hacer para preguntar si quiere volver a jugar y que el programa empiece de nuevo tantas veces como el usuario quiera. Por mas que lo intento no doy con la tecla. He visto alguna solucion, pero no es simple, quiero encontrar algo sencillo, he visto la solución de Javier Cruz, pero quiero encontrar el camino sencillo.
static void Main(string[] args)
{
Random numero = new Random();
int aleatorio = numero.Next(0, 100);
int minumero = 101;
int intentos = 0;
Console.WriteLine("introduce un numero entre 0 y 100");
while(aleatorio != minumero)
{
intentos++;
minumero = int.Parse(Console.ReadLine());
if (minumero > aleatorio) Console.WriteLine("el numero es mas bajo");
if (minumero < aleatorio) Console.WriteLine("el numero es mas alto");
}
System.Console.WriteLine($"correcto, has necesitado {intentos} intentos");
Dejo un pequeño resumen: los bucles while y do-while son del tipo indefinido, aquellos que funcionan sin límite hasta que cierta condición específica se cumpla.
Dejo mi forma de hacer el código para los que deseen comparar de la actividad dejada por el profe Juan.
Console.WriteLine("Introduce un número entre 1 y 100");
int respuesta = Int32.Parse(Console.ReadLine());
Random numero = new Random();
int numeroAleatorio = numero.Next(0,100);
while (respuesta!=numeroAleatorio)
{
if (respuesta > numeroAleatorio) Console.WriteLine("El número es mayor al número aleatorio");
else Console.WriteLine("El número es menor al número aleatorio");
Console.WriteLine("Vuelve a escribir un número, por favor");
respuesta = Int32.Parse(Console.ReadLine());
}
Console.WriteLine("Haz ganado");
Te quiero
Me agrado el ejercicio, aca esta mi tarea me encargue de investigar como evitar que el usuario ponga un string en vez de un numero usando int.tryParse :::::::
using System;
namespace AdivinaElNumero
{
class Program
{
static void Pista(int numeroRandom, int NumeroUsuario)
{
if (numeroRandom > NumeroUsuario) Console.WriteLine("intentalo con un numero mayor");
else if (numeroRandom < NumeroUsuario) Console.WriteLine("intentalo con un numero menor");
}
static void Main(string[] args)
{
int NumeroUsuario;
Console.WriteLine("Bienvenido al juego, consite en adivinar el numero");
Random Numero = new Random();
int numeroRandom = Numero.Next(0, 100);
bool adivino = false;
Console.WriteLine("cual es el numero del 1 al 100");
string texto = Console.ReadLine();
bool resultado = int.TryParse(texto,out NumeroUsuario);
if (resultado == false) {
Console.WriteLine("lo sentimos, solo puede elegir numeros");
}
int intentos = 1;
if (NumeroUsuario == numeroRandom) Console.WriteLine("impresionante ganaste en el primer intento");
else
Pista(numeroRandom, NumeroUsuario);
{
while (adivino == false)
{
Console.WriteLine("Intentalo de nuevo");
texto = Console.ReadLine();
resultado = int.TryParse(texto, out NumeroUsuario);
if (resultado == false)
{
Console.WriteLine("lo sentimos, solo puede elegir numeros");
}
intentos++;
if (NumeroUsuario == numeroRandom)
{
adivino = true;
Console.WriteLine($"Felicidades ganaste en {intentos} intentos");
}
else
{
Pista(numeroRandom, NumeroUsuario);
}
}
}
}
}
}
genial, dejo mi codigo aunque no he podido contar os intentos, y francamente el del amigo javier cruz de abajo no lo acabo de entender :( , si bien el mio es bastante conciso, que me dices Juan?:
static void Main(string[] args)
{
Random numero = new Random();
int numeroaleatorio = numero.Next(0, 100);
Console.WriteLine("averigua cual es el numero");
int numeroUsuario= int.Parse(Console.ReadLine());
while (numeroUsuario!=numeroaleatorio)
{
if (numeroUsuario > numeroaleatorio) Console.WriteLine("el numero que buscas es menor");
else Console.WriteLine("el numero que buscas es mayor");
numeroUsuario = int.Parse(Console.ReadLine());
}
Console.WriteLine("EUREKA!! el numero era" + numeroaleatorio);
Lo veo muy bien, la verdad. El del amigo que comentas ahora no lo veo y poco tiempo tengo para echarle un vistazo.
EJERCICIO
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ejercicioWhile
{
class Program
{
public static Random ran = new Random();
static void Main(string[] args)
{
bool condicion = true; int intetos = 1;
int aleatorio;
aleatorio = ran.Next(0, 100);
Console.WriteLine("Se genero un numero aleatorio entre el 0 y 100, intenta adivinar cual es" + " Escribe un numero");
int numero = -1;
if (aleatorio == numero) condicion = false;
while (condicion)
{
Console.WriteLine("Intenta con un numero");
numero = int.Parse(Console.ReadLine());
if (numero < aleatorio) { Console.WriteLine("Mas"); } else { Console.WriteLine("Menos"); }
if (numero == aleatorio) { condicion = false; intetos++; }
else { condicion = true; intetos++; }
}
Console.WriteLine($"Le atinaste con intentos de {intetos - 1}");
Console.ReadLine();
}
}
}
Genio
No ha parecido muy aleatorio. Todos los números son múltiplos de 3, pero es que 4 de ellos son múltiplos de 9. A sido curioso.
Realmente, si una variable aleatoria entre 1 y 100 te da 48 siete veces seguidas, eso sigue siendo aleatorio.
Cuando pensamos en aleatorio solemos pensar en diferente, pero ésto no es así.
Bueno aquí va el mio, es sencillo pero creo que cumple el objetivo, al principio me he liado en como poner para que volviera a elegir otro número y me entraba en un bucle infinito.
using System;
namespace Ejercicio_aleatorio
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("¿Aciertas el número que estoy pensando?");
string respuesta = Console.ReadLine();
if (respuesta != "no")
{
Random numero = new Random();
int numeroAleatorio = numero.Next(0, 10);
Console.WriteLine("Dime tu nombre");
string nombre = Console.ReadLine();
Console.WriteLine($"{nombre} déjame que piense mmmmmm.............. Ok ya lo tengo es un número entre el 1 y el 10");
Console.WriteLine($"{nombre} empieza a escribir números");
int numeroElegido = Convert.ToInt32(Console.ReadLine());
while (numeroElegido !=numeroAleatorio)
{
if (numeroElegido < numeroAleatorio)
{ Console.WriteLine($"el número {numeroElegido} es inferior al que yo he pensado prueba con uno mayor"); }
else if (numeroElegido > numeroAleatorio) Console.WriteLine($"el número {numeroElegido} es mayor al que yo he pensado, prueba con uno menor");
numeroElegido = Convert.ToInt32(Console.ReadLine());
}
Console.WriteLine("¡¡CORRECTO!!");
}
else Console.WriteLine("AL MENOS LO PODRIAS HABER INTENTADO");
}
}
}
Gracias por el aporte. Un saludo!
Excelente ejercicio.
int contador = 1;
var random = new Random();
int aleatrorio = random.Next(1, 100);
//Console.WriteLine(aleatrorio);
Console.WriteLine("Ingresa un numero del 1 al 10, de que numero se trata");
int numero = Int32.Parse(Console.ReadLine());
while (numero != aleatrorio){
contador++;
if (numero < aleatrorio)
{
Console.WriteLine("El número de la maquina es mayor");
}
else
{
Console.WriteLine("El número de la maquina es menor");
}
Console.WriteLine("Ingresa otro numero");
numero = Int32.Parse(Console.ReadLine());
}
Console.WriteLine($"Has ganado, el numero: {numero} fue el correcto. Numero de intentos {contador}");
Buenas! comparto mi ejercicio del número aleatorio:
Random numero = new Random();
int numeroAleatorio = numero.Next(0, 100);
Console.WriteLine("Estoy pensando un número entre 0 y 100, intenta adivinarlo");
int respuesta = int.Parse(Console.ReadLine());
while (respuesta < numeroAleatorio)
{
Console.WriteLine("Tu número es menor, intenta de nuevo");
respuesta = int.Parse(Console.ReadLine());
}
while (respuesta > numeroAleatorio)
{
Console.WriteLine("Tu número es mayor, intenta de nuevo");
respuesta = int.Parse(Console.ReadLine());
}
while (respuesta == numeroAleatorio) {
Console.WriteLine("Felicidades! acertaste");
Console.WriteLine("Queres jugar de nuevo?");
string respuesta2 = Console.ReadLine();
if (respuesta2 == "si" || respuesta2 == "Si" || respuesta2 == "SI")
{
Console.WriteLine("Estoy pensando un número entre 0 y 100, intenta adivinarlo");
respuesta = int.Parse(Console.ReadLine());
}
else
{
Console.WriteLine("Gracias por jugar!");
respuesta = 800;
}
}
Mi codigo: es importante aclarar que se parte de que no se puede acertar en 0 intentos .Siempre se va a necesitar 1 minimo(a no ser que seas el profesor Xavier).
Random numero = new Random();
int aleatorio = numero.Next(0, 100);
Console.WriteLine("Dame un numero : ");
int numero1 = int.Parse(Console.ReadLine());
int intentos = 1;
while(numero1 != aleatorio)
{
intentos++;
Console.WriteLine("Error! Has fallado ");
if (aleatorio > numero1) Console.WriteLine($"Es mayor que {numero1}");
else Console.WriteLine($"Es menor que {numero1}");
Console.WriteLine("Dame un numero de nuevo");
numero1 = int.Parse(Console.ReadLine());
}
Console.WriteLine($"Has acertado en {intentos} intentos y el numero era el {aleatorio}");
Mi ejercicio por si se quieren guiar:
// Video 19:
Random classRandom = new Random();
int randomNum = classRandom.Next(0, 100);
int tries = 1;
while (true) {
int compareerNum = classRandom.Next(0, 100);
Console.WriteLine($"[-] Intento número {tries}");
tries ++;
if (compareerNum == randomNum)
{
Console.WriteLine($"[+] El número encontrado es el {randomNum}");
break;
}
}
El usuario es quien debe adivinar el número con ReadLine()
Esta es mi solución. No es un código muy limpio, pero funciona bien.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ConsoleApplication2
{
class Program
{
static void Main(string[] args)
{
Random numerorandom = new Random();
int numero = numerorandom.Next(0, 100);
Console.WriteLine("El programa ha generado un número completamente aleatorio. ¿Podrás acertarlo?");
int acierto = 0;
int intentos = 0;
int numusuario;
while (acierto == 0)
{
intentos++;
Console.Write("Dime un número: ");
numusuario = Int32.Parse(Console.ReadLine());
if (numusuario == numero) acierto = 1;
else
{
Console.WriteLine("No has acertado, llevas {0} intentos", intentos);
if (numusuario > numero) Console.WriteLine("El número es menor");
else Console.WriteLine("El número es mayor");
}
}
Console.WriteLine("¡Lo has conseguido! Te ha costado {0} intentos", intentos);
Console.ReadKey();
}
}
}
Os dejo mi código, como ya tenia práctica con Python y como hago el curso de Java no me costaba casi nada.
int contadorIntentos = 0;
bool programaFinalizado = false;
bool numEncontrado = false;
while(programaFinalizado == false){
// Generar numero aleatorio entre 0 y 100
Random randomObj = new Random();
int numRandom = randomObj.Next(0,100);
Console.WriteLine("El programa ha creado un número entre 0 y 100, intenta adivinarlo");
while(numEncontrado == false){
// Introducir un numero
int numInput = Convert.ToInt32(Console.ReadLine());
// Comprobar si es mayor o menor o igual
if(numInput < numRandom){
Console.WriteLine("El número oculto és mayor");
} else if (numInput > numRandom){
Console.WriteLine("El número oculto és menor");
} else {
Console.WriteLine("Has acertado después de " + contadorIntentos + " intentos");
numEncontrado = true;
programaFinalizado = true;
}
// Aumenta el contador de intentos en cada vuelta del bucle
contadorIntentos ++;
}
}
Es como cuando un niño quiere un dulce, el niño seria la condición que espera un "si puedes comer el dulce" de parte de sus papás, entonces el niño preguntaría, ¿Papá, puedo comer dulce? y el papá dice "no puedes comer dulce" entonces entraría en un bucle y se repetirá hasta que el papá diga que si.
Console.WriteLine("Puedo comer Dulces?");
string respuestaPapa = Console.ReadLine();
while (respuestaPapa != "si puedes")
{
Console.WriteLine("Papa No quiere que comas Dulces");
Console.WriteLine("Puedo comer Dulces?");
respuestaPapa = Console.ReadLine();
}
Console.WriteLine("Ya puedes comer Dulces!!!");
jejeje XD Saludos!
oye esa es ta bien i like it be cause i learned
Buenas aqui dejo el ejercicio :D, se que se puede hacer mejor pero bueno prefiero seguir aprendiendo
using System;
using System.Reflection;
namespace ConsoleApp3
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Bienvenido, si quiere iniciar diga si");
string iniciarPartida = Console.ReadLine();
if (iniciarPartida == "si")
{
int iniciar = 1;
int intentos = 1;
Random numero = new Random();
int numeroAleatorio = numero.Next(0, 100);
while (iniciar == 1)
{
Console.WriteLine("Introduce un número entre 0 y 100");
int numeroIndicado = Int32.Parse(Console.ReadLine());
if (numeroIndicado == numeroAleatorio)
{
Console.WriteLine($"Enhorabuena has adivinado el número en {intentos} intentos");
iniciar++;
}
else
{
{
if (numeroIndicado < numeroAleatorio)
{
Console.WriteLine("El número introducido es incorrecto");
Console.WriteLine($"El numero indicado {numeroIndicado} es menor");
intentos++;
}
else if (numeroIndicado > numeroAleatorio)
{
Console.WriteLine("El número introducido es incorrecto");
Console.WriteLine($"El número indicado {numeroIndicado} es mayor");
intentos++;
}
}
}
}
Console.WriteLine($"Programa finalizado");
}
}
}
}
Puede que sea muuuuuy tarde pero aqui está mi tarea xd
using System;
namespace PrimeraAplicacion
{
internal class Program
{
static void Main(string[] args)
{
Console.WriteLine("Bienvenido a los backrooms");
Console.WriteLine();
Console.WriteLine("Primero dime tu nombre");
string Nombre = Console.ReadLine();
Console.WriteLine($"muy bien {Nombre}... el juego consiste en ir acercandose a un numero aletorio y que coincida, si haces más de 10 intentos xMUERESx");
Console.WriteLine();
Console.WriteLine("Escribe un numero y veremos si tienes buena suerte...");
int Ningresado=Int32.Parse(Console.ReadLine());
Random numero = new Random();
int numeroAletorio = numero.Next(0, 100);
int intentos = 0;
while(Ningresado!=numeroAletorio)
{
if (Ningresado > numeroAletorio)
{
Console.WriteLine("te estás pasando, menos un intento...");
Console.WriteLine("digita un nuevo numero");
intentos++;
if (intentos > 11)
{
Console.WriteLine("tuviste muchas oportunidades, dile adios al mundo");
}
Ningresado = Int32.Parse(Console.ReadLine());
}
else if (Ningresado < numeroAletorio)
{
Console.WriteLine("solo te digo que te falta cantidad...");
Console.WriteLine($"digita un nuevo numero {intentos}");
intentos++;
if (intentos > 11)
{
Console.WriteLine("tuviste muchas oportunidades, dile adios al mundo");
}
Ningresado = Int32.Parse(Console.ReadLine());
}
}
Console.WriteLine($"felicidades {Nombre} tuviste muchaaa suerte, eres libre");
Console.WriteLine();
Console.WriteLine($"Hiciste estos intentos antes de tu muerte: {intentos}");
}
}
}
BUenas acabo de intentar el reto y me salio. No se si deberia de hacer lo de esta manera pero me funciona :).
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ConsoleApp4
{
class Program
{
static void Main(string[] args)
{
Random number = new Random();
int numberRandom =number.Next(0, 100);
int enternumber = Int32.Parse(Console.ReadLine());
while (enternumber!= numberRandom) {
if (enternumber > numberRandom)
{
Console.WriteLine("the number you entered is bigger then the ranndom number");
}
else if (enternumber < numberRandom)
{
Console.WriteLine("the number you entered is smaller then the ranndom number");
}
Console.WriteLine("try again");
enternumber = Int32.Parse(Console.ReadLine());
}
Console.WriteLine("Correct!! DING DING DING DING");
}
}
}
me esta gustando mucho el curso es muy fácil de entender pocos cursos son así de claros les comparto aun que tarde pero creo es una buena respuesta
public static void ejercicio()
{
Console.WriteLine("Deseas jugar");
string respuesta = Console.ReadLine();
while (respuesta != "no")
{
Console.WriteLine("Bienbenidp al juego del numero randon");
Console.WriteLine("Introduce tu nombre");
string Nombre = Console.ReadLine();
Console.WriteLine($"Un gusto {Nombre.ToUpper()} juguemos " +
$"
Introduce un numero entre el 0 y 100");
int nIntegrado = Int32.Parse(Console.ReadLine());
Random numero = new Random();
int numeroAleatorio = numero.Next(0, 100);
int intentos = 0;//iniciara en 0 hasta que metamos nuestros intentos
//si damos con el numero saldremos del bucle
while (nIntegrado != numeroAleatorio)
{
//verificara nuestro numero si es menor
if (nIntegrado < numeroAleatorio)
{
Console.WriteLine("Introduce un numero mayor");
nIntegrado = Int32.Parse(Console.ReadLine());
}
//verificara que nuestro numero sea mayor
else if (nIntegrado > numeroAleatorio)
{
Console.WriteLine("Introduce un numero menor");
nIntegrado = Int32.Parse(Console.ReadLine());
}
intentos++;//esta nos contara el numero de intentos
}
Console.WriteLine($"Felicidas {Nombre.ToUpper()} encontraste el numero");
Console.WriteLine();
Console.WriteLine($"Lo intentaste {intentos} de veces podras hacerlo en menos");
Console.WriteLine($"Saldras del bucle {Nombre.ToUpper()} cuando repondas la pregunta");
Console.WriteLine("¿Deseas repetir otra vez?");
respuesta = Console.ReadLine();
}
Console.WriteLine("has salido del bucle");
}
Este fue mi metodo profe.
using System;
using System.Threading;
namespace Adivina_el_Numero
{
class Program
{
static void Main(string[] args)
{
Random Numero = new Random();
int NumeroAleatorio = Numero.Next(0, 100);
bool Acerto = false;
int Intentos = 0;
while (Acerto == false)
{
Console.WriteLine("Adivina el numero del 1 al 100");
int NumeroElegido = int.Parse(Console.ReadLine());
if (NumeroElegido == NumeroAleatorio)
{
Console.WriteLine($"¡Ganaste en {Intentos} Intentos!");
Acerto = true;
}
else if (NumeroElegido > NumeroAleatorio)
{
Console.WriteLine("El numero que seleccionaste es mayor que el numero aleatorio");
Intentos++;
}
else if (NumeroElegido < NumeroAleatorio)
{
Console.WriteLine("El numero que seleccionaste es menor que el numero aleatorio");
Intentos++;
}
Thread.Sleep(2000);
}
}
}
}
yo hice esto
int nI = 1;
Random numero = new Random();
int numeroAleatorio = numero.Next(0, 100);
Console.WriteLine("¿Que numero eligio aleatoriamente?");
int respuesta = Int32.Parse(Console.ReadLine());
while (respuesta!=numeroAleatorio)
{
nI ++;
Console.WriteLine("estas ejecutando el interior del bucle while");
if (numeroAleatorio > respuesta)
{
Console.WriteLine("El numero generado es mayor");
}
else if (numeroAleatorio < respuesta)
{
Console.WriteLine("El numero generado es menor");
}
Console.WriteLine("Elige otra vez");
respuesta = Int32.Parse(Console.ReadLine());
}
Console.WriteLine($"has finalizado el bucle la respuesta es correcta y has utilizado {nI} intentos");