Sachin LabFile6.docx
Sachin LabFile6.docx
Aim: To design a simple calculator using JavaScript that performs the arithmetic
operations..
Procedure:
Create the HTML structure:
● Add buttons for each operation: sum, difference, product, and quotient.
● Perform the appropriate arithmetic operation when the corresponding button is clicked.
Source Code:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width,
initial-scale=1.0">
<title>Simple Calculator</title>
<style>
body {
font-family: 'Segoe UI', Tahoma, Geneva, Verdana,
sans-serif;
display: flex;
justify-content: center;
align-items: center;
min-height: 100vh;
margin: 0;
background: linear-gradient(135deg, #f5f7fa 0%, #c3cfe2
100%);
}
.calculator {
background: white;
padding: 2rem;
border-radius: 10px;
box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
width: 300px;
}
.display {
background: #f8f9fa;
padding: 1rem;
border-radius: 5px;
margin-bottom: 1rem;
text-align: right;
font-size: 1.5rem;
border: 1px solid #dee2e6;
}
.buttons {
display: grid;
grid-template-columns: repeat(2, 1fr);
gap: 0.5rem;
}
button {
padding: 0.8rem;
font-size: 1rem;
border: none;
border-radius: 5px;
cursor: pointer;
transition: all 0.3s ease;
}
button:hover {
transform: translateY(-2px);
box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}
.operation {
background: #007bff;
color: white;
}
.operation:hover {
background: #0056b3;
}
input {
width: 100%;
padding: 0.8rem;
margin-bottom: 1rem;
border: 1px solid #dee2e6;
border-radius: 5px;
font-size: 1rem;
}
input:focus {
outline: none;
border-color: #007bff;
box-shadow: 0 0 0 2px rgba(0, 123, 255, 0.25);
}
</style>
</head>
<body>
<div class="calculator">
<div class="display" id="result">0</div>
<input type="number" id="num1" placeholder="First number">
<input type="number" id="num2" placeholder="Second number">
<div class="buttons">
<button class="operation"
onclick="calculate('sum')">Sum (+)</button>
<button class="operation"
onclick="calculate('difference')">Difference (-)</button>
<button class="operation"
onclick="calculate('product')">Product (×)</button>
<button class="operation"
onclick="calculate('division')">Division (÷)</button>
</div>
</div>
<script src="calculator.js"></script>
</body>
</html>
script.js
// Get DOM elements
const num1Input = document.getElementById('num1');
const num2Input = document.getElementById('num2');
const resultDisplay = document.getElementById('result');
if (isNaN(num1) || isNaN(num2)) {
alert('Please enter valid numbers');
return null;
}
// Calculator operations
function calculate(operation) {
const values = getInputValues();
if (!values) return;
let result;
switch (operation) {
case 'sum':
result = values.num1 + values.num2;
break;
case 'difference':
result = values.num1 - values.num2;
break;
case 'product':
result = values.num1 * values.num2;
break;
case 'division':
if (values.num2 === 0) {
alert('Cannot divide by zero');
return;
}
result = values.num1 / values.num2;
break;
default:
alert('Invalid operation');
return;
}
num2Input.addEventListener('keypress', function(e) {
if (e.key === 'Enter') {
calculate('sum'); // Default to sum operation on Enter
}
});
Result:
Conclusion
The simple calculator was successfully developed using HTML and JavaScript. It accepts two
numbers from the user and performs basic arithmetic operations such as sum, difference,
product, and quotient. The calculator handles invalid input and division by zero appropriately,
demonstrating the use of conditional logic and DOM manipulation in JavaScript.