Форум программистов, компьютерный форум, киберфорум
Наши страницы
JavaScript
Войти
Регистрация
Восстановить пароль
 
Cestuh
0 / 0 / 0
Регистрация: 22.06.2015
Сообщений: 24
#1

Калькулятор на js - JavaScript

18.07.2016, 13:51. Просмотров 294. Ответов 12
Метки нет (Все метки)

Всем привет! Делаю калькулятор на js и добавляю туда математические функции (косинус, тангенс и т.д.), не получается реализовать их. Вот код калькулятора:
PHPHTML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
<!DOCTYPE html>
<html>
<head>
    <title>JavaScript</title>
    <meta charset="utf-8" />
        [JS]
    <script type="text/javascript" src="jquery-1.12.4.min.js"></script>
    <script type="text/javascript">
        function proverka(input) { 
            var value = input.value; 
            var rep = /[;":'a-zA-Zа-яА-Я]/; 
            if (rep.test(value)) { 
                value = value.replace(rep, ''); 
                input.value = value; 
            } 
        } 
        
        function persents(input){
            return input.replace(/((?:\d+\.)?\d+)\%/g, function(s, val){
                return val / 100;
            })
        }
        
        function checkNum(str) {
            for (var i = 0; i < str.length; i++) {
            var ch = str.substring(i, i+1)
            if (ch < "0" || ch > "9") {
            if (ch != "/" && ch != "*" && ch != "+" && ch != "-" && ch != "."
            && ch != "(" && ch!= ")") {
            alert("invalid entry!")
            return false
            }
            }
            }
            return true
            }
            
            function cos(form) {
calc.input.value = Math.cos(calc.input.value);
}
        
        function addChar(input) {
            if(input.value == 0) return alert("Нельзя на ноль делить");
            if(input.value == 1) return 1;
        }
        
        function timer() {
            var s = Number(document.getElementById("timer").innerHTML);
            s++;
            document.getElementById("timer").innerHTML = s;
            setTimeout("timer()", 1000);
        }
    
        function date() {
            var date = new Date();
            var text = date.getFullYear();
            text += ".0" + Number(date.getMonth()+1);
            text += ".1" + date.getDay();
            text += "." + date.getHours();
            text += "." + date.getMinutes();
            text += "." + date.getSeconds();
            document.getElementById("niggus").innerHTML = text;
        }
    </script>
        [/JS]
    <style>
        #calc * {font-size: 16px;}
        #calc table {border: solid 3px silver; border-spacing: 3px; background-color: #EEE; width: 319px;}
        #calc table td {border-spacing: 3px;}
        input.display {width: 300px; text-align: left; outline: none; color: #000; padding-left: 2px;}  
        input[type= button] {width: 40px; height: 30px; background-color: #EEE; outline: none;}
        input.doit {width: 304px; background-color: #6A5ACD;}
        input.dim{background-color: #A9A9A9;}
        input.gray{background-color: #C0C0C0;}
        input.silver{background-color: #d3d3d3;}
        input.blue{background-color: #d3d3d3;}
        .pp{margin-top: -15px; font-size: 22px; font-weight: bold; color: #00FF00;}
        .p{font-size: 17px; font-weight: bold; color: #00FF00;}
        #timer{font-size: 80px; color: #FF1493; position: relative;}
        #sekundomer {background-color: #000; width: 176px; height: 124px; border: 3px solid silver; text-align: center; margin-left: 419px; margin-top: -198px;}
        #date_nigga {margin-left: 720px; margin-top: -130px;}
    </style>
</head>
<body onload="timer(this), date(this)">
    <form name="calculator" id="calc">
        <table>
            <tr>
                <td>
                    <input type="text" name="input" size="16" class="display" disabled placeholder="0" onkeyup="return proverka(this)" onsubmit="Checkform(this)" />
                </td>
            </tr>
            <tr>
                <td class="buttons">
                    <input type="button" name="skobka" value="(" class="gray" Onclick="calc.input.value += '('"/>
                    <input type="button" name="skobka" value=")" class="gray" Onclick="calc.input.value += ')'"/>
                    <input type="button" name="percent" value="%" class="gray" Onclick="calc.input.value = eval(persents(calc.input.value))">
                    <input type="button" name="clear" value="C" class="gray" OnClick="calc.input.value = ''"/>
                    <input type="button" name="clear_one" value="CE" class="gray" Onclick="calc.input.value = input.value.substring(0, input.value.length - 1)"/>                   
                    <input type="button" name="sq" value="sq" class="dim" Onclick="" />
                    <input type="button" name="asin" value="as" class="dim" Onclick="" />
                    <br/>
                    <input type="button" name="one" value="1" OnClick="calc.input.value += '1'"/>
                    <input type="button" name="two" value="2" OnClick="calc.input.value += '2'"/>
                    <input type="button" name="three" value="3" OnClick="calc.input.value += '3'"/>
                    <input type="button" name="add" value="+" class="silver" OnClick="calc.input.value += '+'"/>
                    <input type="button" name="sub" value="-" class="silver" OnClick="calc.input.value += '-'"/>
                    <input type="button" name="exp" value="exp" class="dim" Onclick="">
                    <input type="button" name="sqrt" value="sqr" class="dim" Onclick="">
                    <br>
                    <input type="button" name="four" value="4" OnClick="calc.input.value += '4'">
                    <input type="button" name="five" value="5" OnClick="calc.input.value += '5'">
                    <input type="button" name="six" value="6" OnClick="calc.input.value += '6'">
                    <input type="button" name="mul" value="x" class="silver" OnClick="calc.input.value += '*'"/>
                    <input type="button" name="div"  value="/" class="silver" OnClick="addChar(calc.input.value += '/')">
                    <input type="button" name="sin" value="sin" class="dim" Onclick="">
                    <input type="button" name="cos" value="cos" class="dim" Onclick="if (checkNum(this.calc.value)) { cos(this.calc) }">
                    <br>
                    <input type="button" name="seven" value="7" OnClick="calc.input.value += '7'">
                    <input type="button" name="eight" value="8" OnClick="calc.input.value += '8'">
                    <input type="button" name="nine" value="9" OnClick="calc.input.value += '9'">
                    <input type="button" name="zero" value="0" OnClick="calc.input.value += '0'"/>
                    <input type="button" name="tochka" value="." class="blue" Onclick="calc.input.value += '.'"/>
                    <input type="button" name="tan" value="tan" class="dim" Onclick="">
                    <input type="button" name="In" value="In" class="dim" Onclick="">
                </td>
            </tr>
            <tr>
                <td>
                    <input type="button" name="doit" value="=" class="doit" OnClick="calc.input.value = eval(calc.input.value)"/>
                </td>
            </tr>
        </table>
    </form>
    <div id="sekundomer">
        <br/>
        <span id="timer">-1</span>
        <br/>
    </div>
    <div id="date_nigga">
        <p>Вы зашли на сайт:</p>
        <p id="niggus" ></p>
        <p>Год.Месяц.День.Час.Минута.Секунда</p>
    </div>
</body>
</html>
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.07.2016, 13:51
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Калькулятор на js (JavaScript):

Как преобразовать обычный калькулятор в калькулятор использующий класс стек?
#include &lt;iostream&gt; int main(){ int a = 0; int b = 0; char...

Простой калькулятор и калькулятор с парсингом
Ребят я совсем не давно только начал изучать сишку, решил написать простенький...

Калькулятор с#
Подскажите, пожалуйста, за что отвечают переменные с1 и rept в данном куске...

калькулятор
Недавно создал калькулятор, но не знаю в чем ошибка. Подскажите что не так в...

Калькулятор Qt
Помогите с Калькулятором Qt? Есть готовая программа (ниже скину архив), надо...

Калькулятор
Всем привет ) Пожалуйста подскажите почему мы пишем &quot; scanf (&quot;%c&quot;, &amp;oper); ...

12
ntlinuxnt
$ su
1597 / 512 / 97
Регистрация: 18.11.2010
Сообщений: 2,805
Записей в блоге: 2
Завершенные тесты: 5
19.07.2016, 05:41 #2
И в чем заключается ваша проблема?
0
ironid
68 / 14 / 7
Регистрация: 17.10.2015
Сообщений: 53
19.07.2016, 18:19 #3
В js же есть Math объект - используйте его(если я вас правильно понял)
0
BANO
Ренегат
Эксперт HTML/CSS
1716 / 1059 / 385
Регистрация: 06.08.2014
Сообщений: 5,203
Записей в блоге: 1
19.07.2016, 18:32 #4
ironid, можно подкрепть вас ссылочкой?
0
Cestuh
0 / 0 / 0
Регистрация: 22.06.2015
Сообщений: 24
19.07.2016, 22:14  [ТС] #5
Проблема заключается в том что, мне нужно эти функции реализовать, я знаю что есть объект Math, но я не понимаю как добавить его правильно в калькулятор, как не пробовал, не получается нормально ее вставить
0
ntlinuxnt
$ su
1597 / 512 / 97
Регистрация: 18.11.2010
Сообщений: 2,805
Записей в блоге: 2
Завершенные тесты: 5
19.07.2016, 22:31 #6
Если в хотите нормальный калькулятор, то вам надо выстраивать дерево и по нему ориентироваться.
0
Cestuh
0 / 0 / 0
Регистрация: 22.06.2015
Сообщений: 24
19.07.2016, 22:33  [ТС] #7
Дерево, функции что ли?
0
ntlinuxnt
$ su
1597 / 512 / 97
Регистрация: 18.11.2010
Сообщений: 2,805
Записей в блоге: 2
Завершенные тесты: 5
19.07.2016, 22:45 #8
https://ru.wikipedia.org/wiki/%D0%90...B5%D0%B2%D0%BE
0
Cestuh
0 / 0 / 0
Регистрация: 22.06.2015
Сообщений: 24
19.07.2016, 22:50  [ТС] #9
И в чем оно мне поможет?
0
ntlinuxnt
$ su
1597 / 512 / 97
Регистрация: 18.11.2010
Сообщений: 2,805
Записей в блоге: 2
Завершенные тесты: 5
19.07.2016, 22:52 #10
тем что можно будет лепить выражения любой глубины
0
Cestuh
0 / 0 / 0
Регистрация: 22.06.2015
Сообщений: 24
19.07.2016, 22:57  [ТС] #11
Не понял, абстрактное дерево позволит сделать мне любое выражение?
0
ntlinuxnt
$ su
1597 / 512 / 97
Регистрация: 18.11.2010
Сообщений: 2,805
Записей в блоге: 2
Завершенные тесты: 5
19.07.2016, 23:16 #12
https://quickgit.kde.org/?p=kcalc.git&a=tree
Или посмотрите например исходники kdeшного калькулятора на плюсах, и реализуйте так же на js. Дело ваше, но сейчас у вас такая лапша, что читать даже не охота.
0
Cestuh
0 / 0 / 0
Регистрация: 22.06.2015
Сообщений: 24
19.07.2016, 23:33  [ТС] #13
Ясно, вода у меня...
0
19.07.2016, 23:33
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.07.2016, 23:33
Привет! Вот еще темы с решениями:

Калькулятор и бд
Добрый вечер! Ситуация такая. Требуется сделать калькулятор расчета мощности...

Калькулятор
Подкинула мне моя учеба задачку. Нужно сделать калькулятор на emu 8086. И мне...

Калькулятор
Здраствуйте! У меня к вам такой вопрос нужно чтобы при классе Sin считывался...

Калькулятор
Калькулятор хотел создать на Дельфи не получается я новичок еще помагите...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru