Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
6
respuestas

RECETAS DE ARMANDO

RECETAS DE ARMANDO

<script>

    var ingredientes = [];
    var cantidad = parseInt(prompt("¿Cuántos ingredientes vas a añadir?"));

    var contador = 1;
    while( contador <= cantidad) {
        var ingrediente = prompt("Informe el ingrediente " + contador);
        var encontrado = false;    
            for(var indice = 0; indice < ingredientes.length; indice++){
                if(ingredientes[indice] === ingrediente){
                    encontrado = true;
                    break;
                }
            }
            if(encontrado === false){
                ingredientes.push(ingrediente);
                contador++;
            }            
    }

    console.log(ingredientes);

</script>
6 respuestas
<meta charset="UTF-8">

<h1>Recetas de Armando</h1>

<script>

    function saltarLinea(){
        document.write("<br>");
        document.write("<br>");

    }
    function imprimir(frase){
        document.write(frase);
        saltarLinea ();

    }

    var ingredientes = [];
    var cantidad = parseInt(prompt("¿Cuántos ingredientes vas a añadir?"));
    var contador = 1;

    while( contador <= cantidad) {
        var ingrediente = prompt("Informe el ingrediente " + contador);
        var yaExiste = false;
        for(var posicion = 0; posicion < ingredientes.length; posicion ++){
            if(ingredientes[posicion] == ingrediente){
                yaExiste = true;
            alert("Ingrediente repetido: " + ingrediente);
            break;    
            }
        }
            if(yaExiste == false){
                ingredientes.push(ingrediente);
                contador++;

            }

    }


    imprimir("Cantidad de ingredientes " + cantidad);
    imprimir(ingredientes);


</script>

He formulado esta código, supongo que no difiere de la mayoría. Mi duda es que no interlinear la lista de ingredientes (tal vez por el cansancio) pero no le encuentro manera sin agregar más variables, y de las que no estoy muy seguro que siga siendo funcional el programa Alguno tiene alguna sugerencia para esto?

Hola Hugo, de antemano paz para tu vida y la de tu familia!

No te entiendo muy bien cuando dices "no interlinear la lista de ingredientes..."

Podrías por favor aclarar éste requisito?

Hola Diego

cuando me tira la impresión me lo hace de la siguiente manera:

Cantidad de ingredientes X

ingrediente 1, ingrediente 2, ingrediente 3, etc.

yo estaba intentando que la lista de ingredientes la pusiera con un salto de linea o interlineado, así

ingrediente 1 ingrediente 2 ingrediente 3

pero es algo que no he logrado hacer.

He escrito este código que sí funciona, pero que no mejora, sino que lo hace más engorroso:

    imprimir("Cantidad de ingredientes " + cantidad);
    imprimir(ingredientes[0]);
    imprimir(ingredientes[1]);
    imprimir(ingredientes[2]);

Puedes hacer la impresion en un Loop for:

for (var i = 0; i < ingredientes.length; i++) { imprimir(ingredientes[i]); }

De tal forma que no importando el length, o sea, el rango de elementos del Array, i va a tomar cada indice y va a imprimir el elemento en cada loop, hasta agotar los elementos.

Puede ser una solución; inténtalo y quedo atento Hugo, Happy Coding!

Hola Diego

Ha quedado perfecto, te agradezco muchísimo la ayuda. Mi mente vieja no logro ver que es igual que cualquier for y que la variable estaba ahí. Que tengas una excelente semana y muchísimas gracias, otra vez.

Abrazos

Dos mentes viejas funcionan mejor que una querido Hugo ;) Enhorabuena! Nos vemos en el camino. #HappyCoding!