patashala/assets/js/calculator.js
Vivek a53135a78d Added based code
Added base code to the repo
2024-02-07 20:19:28 +05:30

97 lines
3.1 KiB
JavaScript
Executable File

// calculator custom functions
var oper = "";
var num = "";
function displaynum(n) {
//document.form1.t1.value = document.form1.t1.value + n;
$("#display").val( $("#display").val() + n );
}
function operator(op) {
oper = op;
num = $("#display").val();
$("#display").val("");
//document.form1.t1.value += oper
}
//code for equals starts here
function equals() {
doesthejob(eval(num), eval($("#display").val()), oper);
}
//a sub-function of equals
function doesthejob(n1, n2, op) {
if (op == "+")
$("#display").val( n1 + n2 );
else if (op == "-")
$("#display").val( n1 - n2 );
else if (op == "*")
$("#display").val( n1 * n2 );
else if (op == "/")
$("#display").val( n1 / n2 );
else if (op == "nCr")
document.form1.t1.value = fact2(n1) / fact2(n1 - n2) / fact2(n2);
else if (op == "nPr")
document.form1.t1.value = fact2(n1) / fact2(n1 - n2);
}
//code for equals ends here
function fact2(n) { // fact2() for nCr & nPr
if (errorchecking(n) == false)
return;
var answer = 1;
for (i = n; i >= 2; i--){
answer = answer * i;
}
return answer;
}
function fact() {
n = Number(document.form1.t1.value);
if (errorchecking(n) == false)
return;
var answer = 1;
for (i = n; i >= 2; i--){
answer = answer * i;
}
document.form1.t1.value = answer;
}
function errorchecking(n) {
if (n < 0) {
alert("Number shouldn't be negative");
return false;
}
var mod = n % 1;
if (!mod == 0) {
alert("The number should be an integer");
return false;
}
}
function prime(n) {
if (errorchecking(n) == false)
return;
var b = true;
for (i = 2; i <= n / 2; i ++) {
if (n % i == 0) {
document.form1.t1.value = "Not prime; its first divided by " + i;
b = false;
break;
}
}
if (b)
document.form1.t1.value = "Is prime";
}
function negation() {
document.form1.t1.value = document.form1.t1.value * - 1;
}
function reset() {
$("#display").val("");
num = "";
}
// Calculator functions end here.