记忆功能MC MR不起作用

时间:2017-06-16 11:16:07

标签: javascript calculator

当我在M +中添加一个数字时,它可以正常工作,但是当我按下MC然后按下MR时,它们仍会显示数字。换句话说,内存还不是空的。 MR的另一个问题是当你在内存中有一个号码然后按下MR时,你会看到他而不是你最后输入的号码。这是我的代码:

    <!DOCTYPE html>
            <html>
                <head>
                    <title>Calculator </title>
                    <link rel="stylesheet" type="text/css" href="style.css">


                </head>
                <body>
                    <FORM name="Keypad" action="">
                        <input name="ReadOut" id="output" type="Text" 
 size=24 value="0" readonly>
                        <td><input id="screen" type="text" value="" 
 name="memoryindicator" readonly="readonly"> </td>
                        <table>
                            <tr>
                                <td><input id="btn7" type="Button" value="  
 7  " onclick="NumPressed(7)"></td>
                                <td><input id="btn8" type="Button" value="  
 8  " onclick="NumPressed(8)"></td>        
                                <td><input id="btn9" type="Button" value="  
 9  " onclick="NumPressed(9)"></td>
                                <td colspan="2"><input id="btnC" 
type="Button" value="  C  " onclick="Clear()"></td>
                                <td><input id="btnM" type="Button" value="  
 MC  " onclick="memoryclear(this)" />       
                            </tr>
                            <tr>
                                <td><input id="btn4" type="Button" value="  
 4" onclick="NumPressed(4)"></td>
                                <td><input id="btn5" type="Button" value="  
 5   "onclick="NumPressed(5)"></td>        
                                <td><input id="btn6" type="Button" value="  
 6  " onclick="NumPressed(6)"></td>
                                <td><input id="btnplusminus" type="Button" 
 value=" +/- " onclick="Neg()"></td>
                                <td><input id="btnplus" type="Button" 
 value="  +  " onclick="Operation('+')"></td>
                                <td><input id="btnMR" type="Button" value="  
 MR  " onclick="memoryrecall(this)" />
                            </tr>
                            <tr>
                                <td><input id="btn1" type="Button" value="  
 1  " onclick="NumPressed(1)"></td>
                                <td><input id="btn2" type="Button" value="  
 2  " onclick="NumPressed(2)"></td>        
                                <td><input id="btn3" type="Button" value="  
 3  " onclick="NumPressed(3)"></td>
                                <td><input id="btnmultiply" type="Button" 
 value="  *  " onclick="Operation('*')"></td>
                                <td><input id="btnminus" type="Button" 
 value="   -   " onclick="Operation('-')"></td>
                                <td><input id="btnM" type="Button" value="  
 M-  " onclick="memoryset(this)" />
                            </tr>
                        </table>
                        <input id="btn0" type="Button" value="  0  " 
 onclick="NumPressed(0)">
                        <input id="btndecimal" type="Button" value="   .  " 
 onclick="Decimal()">      
                        <input id="btndivide" type="Button" value="   /   " 
 onclick="Operation('/')">
                        <input id="percent" type="Button" value="%" 
 onclick="Percent()">
                        <td><input id="btnMM" type="Button" value="  M+  " 
 onclick="memoryadd(this)" />
                        </br>
                        <td><input id="btnequals" type="Button" value="  =  
 " onclick="Operation('=')"></td>
                        <input id="about" type="Button" value="About" 
onclick="myFunction()">
                     <script src="pscript.js"></script>    
                    </FORM>


                </body>
            </html>

使用Javascript:

        // de variabelen
        var FKeyPad = document.Keypad; 
        var Accumulate = 0;
        var FlagNewNum = false;
        var PendingOp = "";
        var memory = 0;



        function memoryclear (el) { // deze functie is voor de MC knop. 
             memory = 0;    // wist letterlijk alles.
             el.form.memoryindicator.value = memory;
        }
        function memoryrecall (el) { // Deze functie is voor de MR knop.
            memory = parseFloat(FKeyPad.ReadOut.value); // het getal wat in 
  het scherm staat (readout) en je drukt op MR dan komt ie in het andere 
  schermpje te staan dmv de el.form .
            el.form.memoryindicator.value = memory;
        }
        // deze functie is voor de M- knop. 
        function memoryset (el) {  
            memory -= parseFloat(FKeyPad.ReadOut.value);
            el.form.memoryindicator.value = memory; // het getal wat in het 
  scherm staat - M- dus bijv je hebt 200 in je m+ en je drukt op m- dan gaat 
  het eraf dat komt door de -= Oftewel Readout -= de elform 

        }
        function memoryadd (el) {  // deze fucntie is voor de M+ knop
            memory += parseFloat(FKeyPad.ReadOut.value);
            el.form.memoryindicator.value = memory; // het getal wat in het 
  scherm staat + M+ dus bijv je hebt 20 in het scherm en je drukt op  m+ dan 
 krijg 
 je dat in het andere scherm oftewel readout += 

        }

        function NumPressed (Num) {   // de functie om te kunnen klikken op 
  mijn rekenmachine
            if (FlagNewNum) {
                FKeyPad.ReadOut.value  = Num;
                FlagNewNum = false;
            }
            else {
                if (FKeyPad.ReadOut.value == "0")
                    FKeyPad.ReadOut.value = Num;
                else
                    FKeyPad.ReadOut.value += Num;
            }
        }
        function Operation (Op) {  // deze functie berekent de + - / * 
  sommen.
            var Readout = FKeyPad.ReadOut.value;
            if (FlagNewNum && PendingOp != "=");
            else
            {
                FlagNewNum = true;  
                if ( '+' == PendingOp )// de + som
                    Accumulate += parseFloat(Readout);
                else if ( '-' == PendingOp ) // de - som
                    Accumulate -= parseFloat(Readout);
                else if ( '/' == PendingOp ) // de / som
                    Accumulate /= parseFloat(Readout);
                else if ( '*' == PendingOp ) // de * som
                    Accumulate *= parseFloat(Readout);
                else
                    Accumulate = parseFloat(Readout);
                FKeyPad.ReadOut.value = Accumulate;
                PendingOp = Op;
            }
        }
        function Decimal () {   // deze functie is voor de . knop.
            var curReadOut = FKeyPad.ReadOut.value;
            if (FlagNewNum) {
                curReadOut = "0.";
                FlagNewNum = false;
            }
            else
            {
                if (curReadOut.indexOf(".") == -1)
                    curReadOut += ".";
            }
            FKeyPad.ReadOut.value = curReadOut;
        }
        function ClearEntry () {  // Deze functie is om de knop C te kunnen 
    activeren.
            FKeyPad.ReadOut.value = "0";
            FlagNewNum = true;
        }
        function Clear () {     // Deze functie is om de knop C te kunnen 
     activeren.
            Accumulate = 0;
            PendingOp = "";
            ClearEntry();
        }
        function Neg () { // deze functie is voor de +/- knop deze knop is 
   een xtraatje aan mijn rekenmachine.
            FKeyPad.ReadOut.value = parseFloat(FKeyPad.ReadOut.value) * -1;    
        }
        function Percent () { // deze functie is voor % knop deze knop is 
  een xtraatje aan mijn rekenmachine.
            FKeyPad.ReadOut.value = (parseFloat(FKeyPad.ReadOut.value) / 
  100);
        }





        function myFunction() { // dit is voor de knop about. een leuke knop 
  about me
            alert("Gemaakt door yeey");
        }

CSS:

        input[type="button"]{
            background:-webkit-gradient( linear, left top, left bottom, 
  color-stop(0.05, #606060), color-stop(1, #606060) );
            background:-moz-linear-gradient( center top, #606060 5%, #606060 
 100% );

 filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#606060', 
 endColorstr='#606060');
            background-color:#606060;
            border:1px solid #606060;
            display:inline-block;
            color:#fff;
            font-family:Arial;
            font-size:50px;
            line-height:28px;
            text-decoration:none;
            text-align:center;
            margin-bottom:1.5px;
            margin-left: 1.5px;
            margin-right:1.5px ;
            margin-top:1.5px ;
            height: 75px; 
        }
        input[type="button"]{
        width: 184px;
        }
        #btnC{
                width:372.7px;
        }
        #btn0{
                width:374.7px;
        }
        #btn0,#btndecimal,#btndivide {
            margin-right: 0.1px;
        }
        #btn7,#btn4,#btn1,#btn0,#btnequals {
            margin-left: 0.01px;
        }        
        #btnequals {
            height: 61px;
            width: 950px;
            margin-top: 3px;
        }
        input[type="button"]:active {
            position:relative;
            background:#989898;
        } 
        input:focus {
            outline:0;
        }
        input[type="Text"] {
            padding-left: 10px;
            margin-bottom: 1.5px;
            font-size: 100px;
            background-color: #202020 ;n
            height:195px;
            width: 935px;
            border:none;
            color:white;
        }
        body {
            background-color: #080808 ;
            overflow: hidden;
        }
        #about {
            font-size: 45px;
            height: 60px; 
            margin-left:2px ;
        }

        #screen {

        width: 175px;
        height: 115px;
        margin-left: 8px;
        }

        #btnMM {
            margin-left: 3px;
        }

          #btn0 {
            margin-left: 4px;
        }

0 个答案:

没有答案