(Javascript) Take Three Integers From User to Display Sum, Average, Product, Smallest, and Largest Number

14,828

Solution 1

Please throughout this answer. I embed logic to a function and call once all 3 numbers found and logic also change

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<!-- Fig. 6.14: welcome5.html -->
<!-- Using equality and relational operators. -->
<html>
    <head>
        <title>Compare Numbers</title>
        <script type="text/javascript">
            var firstNumber, // first string entered by the user
                secondNumber, // second string entered by the user
                thirdNumber, // third string entered by the user
                sum, // add the integers
                average, // add the integers, divide by 3
                product; // multiply the integers

            // enter first number from user as a string
            firstNumber = window.prompt("Enter first integer");

            // enter second number from user as a string
            secondNumber = window.prompt("Enter second integer");

            // enter third number from user as a string
            thirdNumber = window.prompt("Enter third integer");

            // convert numbers from strings to integers
            firstNumber = parseInt(firstNumber);
            secondNumber = parseInt(secondNumber);
            thirdNumber = parseInt(thirdNumber);
            findLargNum(firstNumber,secondNumber,thirdNumber);

            function findLargNum(firstNumber,secondNumber,thirdNumber){
                //determine result
                if (firstNumber > secondNumber) {
                    if(firstNumber > thirdNumber) window.alert(firstNumber + " is largest");
                }
                else if(secondNumber > thirdNumber) window.alert(secondNumber + " is largest");
                else window.alert(thirdNumber + " is largest");

                var sum =  firstNumber + secondNumber + thirdNumber;
                window.alert("the sum is " + sum); 
                var average = (firstNumber + secondNumber + thirdNumber) / 3;
                window.alert("the average is " + average);var product = firstNumber * secondNumber * thirdNumber;window.alert("the product is" + product);
            }
        </script>
    </head>
    <body>
        <h1 style = "text-align:center">Compare the Integers!</h1>
    </body>
</html>

var firstNumber, // first string entered by the user
	secondNumber, // second string entered by the user
	thirdNumber, // third string entered by the user
	sum, // add the integers
	average, // add the integers, divide by 3
	product; // multiply the integers

// enter first number from user as a string
firstNumber = window.prompt("Enter first integer");

// enter second number from user as a string
secondNumber = window.prompt("Enter second integer");

// enter third number from user as a string
thirdNumber = window.prompt("Enter third integer");

// convert numbers from strings to integers
firstNumber = parseInt(firstNumber);
secondNumber = parseInt(secondNumber);
thirdNumber = parseInt(thirdNumber);
findLargNum(firstNumber,secondNumber,thirdNumber);

function findLargNum(firstNumber,secondNumber,thirdNumber){
	//determine result
	if (firstNumber > secondNumber) {
		if(firstNumber > thirdNumber) window.alert(firstNumber + " is largest");
	}
	else if(secondNumber > thirdNumber) window.alert(secondNumber + " is largest");
	else window.alert(thirdNumber + " is largest");
	
	var sum =  firstNumber + secondNumber + thirdNumber;
	window.alert("the sum is " + sum); 
	var average = (firstNumber + secondNumber + thirdNumber) / 3;
	window.alert("the average is " + average);var product = firstNumber * secondNumber * thirdNumber;window.alert("the product is" + product);
}
<h1 style = "text-align:center">Compare the Integers!</h1>

Solution 2

//  Initialising variables
var number1, number2, number3, sum, average, product, largest, smallest;

//Inpuing the Numbers 
// parseInt is used to covert the var to integer value or else the result will be concatenation of all the values
number1 = parseInt(window.prompt('Enter Number 1 :'));
number2 = parseInt(window.prompt('Enter Number 2 :'));
number3 = parseInt(window.prompt('Enter Number 3 :'));

// Adding the Numbers
sum = number1 + number2 + number3;

// Finding the average
average = parseInt(sum) / 3;

// Finding Product 
product = number1 * number2 * number3;

// Checking the Largest value
if (number1 > number2 && number1 > number3) {
    largest = number1;
} else if (number2 > number1 && number2 > number3) {
    largest = number2;
} else {
    largest = number3;
}

//Checking the smallest value

if (number1 < number2 && number1 < number3) {
    smallest = number1;
} else if (number2 < number1 && number2 < number3) {
    smallest = number2;
} else {
    smallest = number3;
}

//Returning or Printing Result in Alert box
window.alert('Sum : ' + sum + '\nAverage : ' + average.toFixed(2) + '\nProduct : ' + product + '\nLargest : ' + largest + '\nSmallest : ' + smallest);
Share:
14,828
HappyHands31
Author by

HappyHands31

UX web designer, frontend developer, HTML, CSS, JavaScript, Python, C#, PHP, WordPress, and Adobe Creative Suite experience. gatewaywebdesign.com.

Updated on June 05, 2022

Comments

  • HappyHands31
    HappyHands31 almost 2 years

    The first issue that I'm having is with displaying the smallest and largest of the three numbers. Two separate alerts are appearing - the first alert says that the second-largest number is the largest (because it hasn't yet taken the third number into consideration), and the second alert correctly states that the largest number of the three is the largest. Not sure why this is happening - I just need one alert.

    The second issue that I'm having is with displaying the sum, average, and product. When I try to run this code the page just goes blank - it doesn't work at all. Right now this portion of the code is commented out. Please help if you know what the problem is. I will need all of this information to display in the same alert. Thank you. JSFiddle: https://jsfiddle.net/HappyHands31/xzsf8ca4/8/

    <!DOCTYPE html>
    
    <!-- Fig. 6.14: welcome5.html -->
    <!-- Using equality and relational operators. -->
    <html>
       <head> 
        <meta charset = "utf-8">
        <title>Compare Numbers</title>
        <h1 style = "text-align:center">Compare the Integers!</h1>
        <script>
    
         var firstNumber; // first string entered by the user
         var secondNumber; // second string entered by the user
         var thirdNumber; // third string entered by the user
         var sum; // add the integers
         var average; // add the integers, divide by 3
         var product; // multiply the integers
    
         // enter first number from user as a string
         firstNumber = window.prompt("Enter first integer");
    
         // enter second number from user as a string
         secondNumber = window.prompt("Enter second integer");
    
         // enter third number from user as a string
         thirdNumber = window.prompt("Enter third integer");
    
         // convert numbers from strings to integers
         firstNumber = parseInt(firstNumber);
         secondNumber = parseInt(secondNumber);
         thirdNumber = parseInt(thirdNumber);
    
         //determine result
         if (firstNumber > secondNumber && thirdNumber)
            window.alert(firstNumber + " is largest");
    
         if (secondNumber > firstNumber && thirdNumber)
            window.alert(secondNumber + " is largest"); 
    
         if (thirdNumber > firstNumber && secondNumber)
            window.alert(thirdNumber + " is largest");
        //determine sum, average, and product
        /*
         sum (firstNumber + secondNumber + thirdNumber)
            window.alert("the sum is "); 
         average ((firstNumber + secondNumber + thirdNumber) / 3))
            window.alert("the average is ");
         product (firstNumber * secondNumber * thirdNumber)
            window.alert("the product is");
        */ 
    
    
    // end if
    </script>
    </head>
    <body>
    </body>
    </html>