Assignment No 04
Assignment No 04
04
Date of completion:
Objective:
Problem Statement:
e.g., Design and implement a simple calculator using Java Script for operations like addition,
multiplication, subtraction, division, square of number etc.
a) Design calculator interface like text field for input and output, buttons for numbers and
operators etc.
b) Validate input values
c) Prompt/alerts for invalid values etc
Theory:
Introduction to JavaScript in Web Applications
JavaScript is a scripting language that allows developers to add interactivity and dynamic
functionality to web pages. It enables:
• Form validation to ensure correct user input.
• Event handling for user actions like button clicks.
• Prompt and alert dialogs to interact with users.
A calculator application is a great example of how JavaScript can be used to build interactive
web applications with UI elements, event listeners, and real-time input validation.
Implementation
1. HTML Code for Calculator (index.html)
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Stylish Calculator</title>
<link rel="stylesheet" href="style.css">
</head>
<body>
<div class="calculator">
<div class="display">
<p id="user-input">0</p>
</div>
<div class="buttons">
<button class="btn btn-operator">AC</button>
<button class="btn btn-operator">DEL</button>
<button class="btn btn-operator">%</button>
<button class="btn btn-operator">/</button>
<button class="btn btn-number">7</button>
<button class="btn btn-number">8</button>
<button class="btn btn-number">9</button>
<button class="btn btn-operator">*</button>
<button class="btn btn-number">4</button>
<button class="btn btn-number">5</button>
<button class="btn btn-number">6</button>
<button class="btn btn-operator">-</button>
<button class="btn btn-number">1</button>
<button class="btn btn-number">2</button>
<button class="btn btn-number">3</button>
<button class="btn btn-operator">+</button>
<button class="btn btn-zero">0</button>
<button class="btn btn-number">.</button>
<button class="btn btn-equal">=</button>
</div>
</div>
<script src="script.js"></script>
</body>
</html>
.calculator {
background: #222;
padding: 25px;
border-radius: 20px;
box-shadow: 0 8px 20px rgba(0, 0, 0, 0.5);
width: 370px;
text-align: center;
}
.display {
background: #333;
color: white;
font-size: 2.5rem;
padding: 20px;
text-align: right;
border-radius: 15px;
margin-bottom: 20px;
min-height: 60px;
font-weight: bold;
overflow-x: auto;
}
.buttons {
display: grid;
grid-template-columns: repeat(4, 1fr);
gap: 12px;
}
.btn {
background: #444;
color: white;
font-size: 1.8rem;
border: none;
padding: 18px;
border-radius: 12px;
cursor: pointer;
transition: all 0.3s;
box-shadow: 0 4px 10px rgba(0, 0, 0, 0.3);
}
.btn:hover {
background: #555;
transform: scale(1.05);
}
.btn-operator {
background: #ff9500;
color: white;
font-weight: bold;
}
.btn-operator:hover {
background: #e08900;
}
.btn-equal {
background: #28a745;
font-weight: bold;
color: white;
}
.btn-equal:hover {
background: #218838;
}
.btn-zero {
grid-column: span 2;
font-size: 2rem;
}
document.querySelectorAll(".numbers").forEach((item) => {
item.addEventListener("click", function (e) {
if (inputValue.innerText === "NaN" || inputValue.innerText === "0") {
inputValue.innerText = "";
}
inputValue.innerText += e.target.innerText.trim();
});
});
document.querySelectorAll(".operations").forEach((item) => {
item.addEventListener("click", function (e) {
let lastChar = inputValue.innerText.slice(-1);
let value = e.target.innerHTML;
Output:
Conclusion
This assignment successfully demonstrates the creation of a functional and visually appealing
calculator using HTML, CSS, and JavaScript. We designed an intuitive UI, implemented core
arithmetic operations, integrated input validation, and enhanced user interaction through dynamic
DOM manipulation. This project showcases JavaScript's ability to build interactive web applications
efficiently.