Visualizzazione dei risultati da 1 a 5 su 5

Discussione: problemi con due array

  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2001
    Messaggi
    35

    problemi con due array

    Vorrei scrivere in javascript un programmino per rispondere a questo quesito:

    Si vuole ottenere delle statistiche relative ai visitatori di un museo. In particolare si vuole un programma che consenta di memorizzare, per ogni visitatore, se è maschio o femmina, e, alla fine della giornata, sapere quanti sono stati i visitatori maschi e quanti i visitatori femmine. Non si sa a priori quanti siano i visitatori che durante il giorno visiteranno il museo.

    ecco il mio codice (non mi stampa il contenuto dei due array):
    <HTML>
    <HEAD>
    </HEAD>

    <BODY>
    <SCRIPT LANGUAGE=JavaScript>

    var male = new Array();
    var female = new Array();

    var maschio = "M";
    var femmina = "F";
    var fine = "X";

    var visitatore = 0;
    var i;

    for (i = 1; i > 0; i++)
    {
    visitatore = prompt("Inserisci M (maschio) o F (femmina) per ogni visitatore oppure X per uscire","");

    if (visitatore == maschio)
    {
    (visitatore = male[i]);
    }

    if (visitatore == femmina)
    {
    (visitatore = female[i]);
    }

    if (visitatore == fine)
    {
    break;
    }
    }

    document.write("visite femmine : " + female[i] + "
    ");
    document.write("visite maschi : " + male[i] + "
    ");

    </SCRIPT>
    </BODY>
    </HTML>

    Vorrei evitare di usare funzioni...
    Grazie a tutti.

  2. #2
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    Costruisci due array vuoti e ciclicamente assegni alla variabile visitatore il non-contenuto dell'elemento i-esimo di uno dei due array... mi sfugge la logica di tutto cio' e come possa alla fine contare ...

    Non ti basta usare due contatori ed incrementarli a seconda del sesso?
    Il guaio per i poveri computers e' che sono gli uomini a comandarli.

    Attenzione ai titoli delle discussioni: (ri)leggete il regolamento
    Consultate la discussione in rilievo: script / discussioni utili
    Usate la funzione di Ricerca del Forum

  3. #3
    Utente di HTML.it
    Registrato dal
    Oct 2001
    Messaggi
    35
    Originariamente inviato da br1
    Costruisci due array vuoti e ciclicamente assegni alla variabile visitatore il non-contenuto dell'elemento i-esimo di uno dei due array... mi sfugge la logica di tutto cio' e come possa alla fine contare ...

    Non ti basta usare due contatori ed incrementarli a seconda del sesso?
    Grazie per il suggerimento ..ho fatto in questo modo e funziona...(non è facile formalizzare il problema, è proprio un discorso di logica... )

    ecco il mio codice:
    <BODY>
    <SCRIPT LANGUAGE=JavaScript>

    var visite = new Array(2);
    visite[0] = 0;
    visite[1] = 0;

    var maschio = "M";
    var femmina = "F";
    var fine = "X";

    var visitatore;
    visitatore = prompt("Inserisci M o F per ogni visitatore oppure X per uscire","");

    while (visitatore != fine)
    {

    if (visitatore == maschio)
    {
    visite[0] = (visite[0] + 1);
    }
    if (visitatore == femmina)
    {
    visite[1] = (visite[1] + 1 );
    }

    visitatore = prompt("Inserisci M o F per ogni visitatore oppure X per uscire","");
    }
    document.write("visite femmine : " + visite[1] + "
    ");
    document.write("visite maschi : " + visite[0] + "
    ");

  4. #4
    Utente di HTML.it L'avatar di carlomarx
    Registrato dal
    Oct 2009
    Messaggi
    1,669
    codice:
    <!doctype html>
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>Esempio</title>
    <script type="text/javascript">
    function iniziaInserimento () {
    	var nMales = nFemales = 0, sQuestion = "Inserisci M o F per ogni visitatore oppure lascia il campo vuoto per uscire.";
    
    	for (
    		var sAnswer = prompt(sQuestion);
    		sAnswer;
    		!/^[mf]$/i.test(sAnswer) ?
    			alert("Inserire esclusivamente uno dei seguenti valori: \"m\", \"s\".")
    			: sAnswer.toLowerCase() === "m" ?
    				nMales++
    				: nFemales++,
    		sAnswer = prompt(sQuestion)
    	);
    
    	document.getElementById("visitemaschi").innerHTML = nMales;
    	document.getElementById("visitefemmine").innerHTML = nFemales;
    }
    
    window.addEventListener ?
    	addEventListener("load", iniziaInserimento, false)
    	: window.attachEvent ?
    		attachEvent("onload", iniziaInserimento)
    		: window.onload = iniziaInserimento;
    </script>
    
    </head>
    <body>
    
    
    Visite maschi <span id="visitemaschi">&amp;hellip;</span>
    
    Visite femmine <span id="visitefemmine">&amp;hellip;</span></p>
    </body>
    </html>

  5. #5
    Utente di HTML.it
    Registrato dal
    Oct 2001
    Messaggi
    35
    questo è programmare....non sai quanto ti invidio!

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.