Podawanie liczby dodatniej do momentu podania liczby ujemnej

0

Witam,

Potrzebuję napisać skrypt w którym użytkownik podaje liczby do momentu podania liczby ujemnej.
Następnie program ma za zadanie policzyć oraz wyświetlić ilość podanych liczb dodatnich bądź równych 0.
Nie ma mocy żeby to było dobrze i nawet nie wiem czy zmierzam w dobrym kierunku.

Na chwilę obecną napisałem coś takiego:

        <script>
            var n = prompt("Możesz podawać liczby do momentu w którym podasz liczbę ujemną: ");
            
            let n0 = -n;
            
            function loop()
            {
                for (i = 0; i < n; i++)
                {
                    if (n <= -n) {break;}
                }
              document.getElementById("wynik").innerHTML = x;                  
            }
        </script>

Nie za bardzo rozumiem jak zrobić żeby prompt wykonywał mi się do momentu w którym uzytkownik poda liczbę ujemną.
Wciąż się uczę ale muszę się wyrobić z materiałem do końca grudnia, a oprócz tego zostało mi jeszcze 5 zadań
których, każde kolejne zadanie wzrasta o poziom zaawansowania i po kolei coś tam próbuję sobie działać.

0

Możesz jeszcze raz spróbować opisać co ma robić ten skrypt, bo trochę niezrozumiale to ująłeś :)

1

Tak po Twojemu to powinno wyglądać jakoś tak:

    <script>
        var res = 0;
        while(true){
            var n = prompt("Możesz podawać liczby do momentu w którym podasz liczbę ujemną: ");
            if(n<0){
                break;  
            }else{
                res += n - 0;
            }
        }
        document.getElementById("wynik").innerHTML = res;
    </script>

Ten kod liczy sumę nie ilość (tobie jest potrzebna ilość).
Trzeba robić wszystko w pętli.
To odejmowanie "- 0" to sposób na konwersję string na int. (u Ciebie nie potrzebne, masz policzyć liczbę liczb dodatnich)
Warunek (n<0) to chyba wiadomo.

0
Maly Brat napisał(a):

Tak po Twojemu to powinno wyglądać jakoś tak:

    <script>
        var res = 0;
        while(true){
            var n = prompt("Możesz podawać liczby do momentu w którym podasz liczbę ujemną: ");
            if(n<0){
                break;  
            }else{
                res += n - 0;
            }
        }
        document.getElementById("wynik").innerHTML = res;
    </script>

Ten kod liczy sumę nie ilość (tobie jest potrzebna ilość).
Trzeba robić wszystko w pętli.
To odejmowanie "- 0" to sposób na konwersję string na int. (u Ciebie nie potrzebne, masz policzyć liczbę liczb dodatnich)
Warunek (n<0) to chyba wiadomo.

Chłop co wytłumaczył :O
Wielkie dzięki. Na tym forum się więcej nauczę niż na toutrialach jak będę sumiennie ćwiczył. Fajny forumik.
Spróbuję jeszcze dodać żeby wszystkie podane liczby wyświetliły się w ten sposób -> 4 + 5 +1 + 7 + (-n) = 17

A jakbym jeszcze chciał napisać skrypt który zrobi odwrócony trójkąt prostokątny?
Próbuję zamienić coś takiego

        <script>
            var n = prompt("Podaj wysokość trójkąta: ");
            var t = "";
            var star = "";

            for (var i = 0; i < n; i++) {
                star = star + "*";
                t = t + star + " <br />";
                    
                    document.getElementById("wynik").innerHTML = t;
            }           
        </script> 

na coś takiego

            for (let i = n; i >= 0; i--) {
                for (let j = n; j <= i; j--)
                    {
                       star = star + "*"; 
                    }
                
                t = t + star + " <br />";
                    
                    document.getElementById("wynik").innerHTML = t;
            }    

to poniżej też bez żadnego wyniku

            for (var i = 0; i < n; i++) {
                star = star + "*";
                i++;
                
                if (n < 0)
                    {
                        t += + "*";
                    }
                    
                document.getElementById("wynik").innerHTML = t;
            } 

1 użytkowników online, w tym zalogowanych: 0, gości: 1