<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Calculator</title>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.3/css/all.min.css">
<style>
body {
font-family: Arial, sans-serif;
background-color: #f1f1f1;
margin: 0;
padding: 0;
display: flex;
justify-content: center;
align-items: center;
height: 100vh;
}
.calculator {
background-color: #fff;
border-radius: 10px;
box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
overflow: hidden;
width: 300px;
}
.calculator input[type="text"] {
width: 100%;
height: 60px;
padding: 0 15px;
font-size: 24px;
border: none;
outline: none;
}
.calculator .buttons {
display: grid;
grid-template-columns: repeat(4, 1fr);
}
.calculator button {
border: none;
outline: none;
background-color: #f1f1f1;
font-size: 20px;
cursor: pointer;
transition: background-color 0.3s;
}
.calculator button:hover {
background-color: #ddd;
}
.calculator button.operator {
background-color: #f79489;
color: #fff;
}
.calculator button.clear {
grid-column: span 2;
background-color: #f79489;
color: #fff;
}
</style>
</head>
<body>
<div class="calculator">
<input type="text" id="display" disabled>
<div class="buttons">
<button onclick="clearDisplay()" class="clear">C</button>
<button onclick="appendValue('7')">7</button>
<button onclick="appendValue('8')">8</button>
<button onclick="appendValue('9')">9</button>
<button onclick="appendValue('4')">4</button>
<button onclick="appendValue('5')">5</button>
<button onclick="appendValue('6')">6</button>
<button onclick="appendValue('1')">1</button>
<button onclick="appendValue('2')">2</button>
<button onclick="appendValue('3')">3</button>
<button onclick="appendValue('0')">0</button>
<button onclick="appendValue('.')">.</button>
<button onclick="appendOperator('+')" class="operator">+</button>
<button onclick="appendOperator('-')" class="operator">-</button>
<button onclick="appendOperator('*')" class="operator">*</button>
<button onclick="appendOperator('/')" class="operator">/</button>
<button onclick="calculate()">=</button>
</div>
</div>
<script>
let input = '';
let operator = '';
function appendValue(value) {
input += value;
document.getElementById('display').value = input;
}
function appendOperator(op) {
if (input !== '') {
operator = op;
input += op;
document.getElementById('display').value = input;
}
}
function calculate() {
if (input !== '') {
let result = eval(input);
document.getElementById('display').value = result;
input = result.toString();
}
}
function clearDisplay() {
input = '';
operator = '';
document.getElementById('display').value = '';
}
</script>
</body>
</html>
