第二次作业

实验目的:

1.掌握软件开发的基本流程;

2.掌握常用的软件开发方式和工具。

实验内容:

1.设计一个包含登录界面的计算器软件,该软件可以实现第一次作业中的全部功能,同时可以保存用户的历史计算记录(保存数据最好使用数据库)。

 实验环境及开发工具:

1.使用micrsoft visio绘制流程图。

2.使用HBuilder X编写软件。

3.用Mysql存储数据。

4.用jdbc连接数据库。

登录流程图:

 

 

1.登录代码:

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title>登录</title>
        <style>
            body{
                
                background-image: url(img04.png);
                background-repeat: repeat-y;
                background-size:100% 100%;
                background-attachment: fixed;
            }
            .form{
                margin: 0 auto;
                margin-top: 100px;  
                text-align: center;
                width: 300px;
                height: 300px;
                border: 1px solid black;
                background:lavender;
                
            }
            .form h4{
                border-bottom: 1px dotted black;
            }
            .form p{
                display: block;
                height: 50;
                padding: 5px;
                
            }
            .form span{
                display: block;
                color: #999;
                display: none;
            }
            .form button{
                width: 80%;
                height: 25px;
                border-radius: 50px;
                background-color: hotpink;
                color: #ddd;
                cursor: pointer;
                /* 鼠标变成小手 */
            }
            .form a{
                color:#ddd;
                text-decoration: none;
            }
                body{
                        background: url(img/v2-d3dacbae50f0d48956913080ee09b611_r.jpg) top left;
                        background-size: 100%;
                    }
        </style>
    </head>
    <body> 
        <form class="form">
            <h4>登录</h4>
            <p>
                <label for="user">账户</label>
                <input type="text" id="username" placeholder="请输入账号" value="">
            </p>
            <p>
                <label for="pwd">密码</label>
                <input type="password" id="pwd" placeholder="密码" value="">
            </p>
            <p>
                <input type="checkbox" id="chk"/>记住密码
                <span id="spa">请确认是安全是PC</span>
            </p>
            <p>
                <button id="denglu"><a id="tiaozhuan" href="##">登录</a></button>
                <button id="quxiao">取消</button>
            </p>
        </form>
        <script>
            var chk=document.getElementById("chk");
            var spa=document.getElementById("spa");
            var btn1=document.getElementById("denglu");
            var btn2=document.getElementById("quxiao");
            var username=document.getElementById("username");
            var pwd=document.getElementById("pwd");
            var a=document.getElementById("tiaozhuan");
            chk.onmouseout=function(){
                spa.style.display="none";
            }
            chk.onmouseover=function(){
                spa.style.display="block";
            }
            btn1.onclick=function(){
                if(username.value=="" && pwd.value=="") {
                    alert("账号或密码不为空");
                }else{
                    if(username.value=="admin" && pwd.value=="888"){
                        alert("登录成功");
                        a.href="demo 10.html";
                        //转跳的HTML页面需要与当前HTML页面在一个文件夹中   各种图片也是
                    }else{
                        alert("账号或密码错误");
                    }
                }    
            }

        </script>
    </body>
</html>

 

2.登录截图:

 3.未输入账号密码截图:

 4.登录失败截图:

 5.登录成功跳转进入计算器:

 6.计算器代码:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>计算器</title>
    <style>
        /* 设置顶部标题栏样式 */
        #top {
            width: 450px;
            height: 50px;
            margin: auto;
            background-color: black;
            /* border-radius: 10px; */
            /* border-top-left-radius: 10px; */
        }
        #top .point {
            width: 20px;
            height: 20px;
            float: left;
            margin-left: 10px;
            margin-top: 15px;
            border-radius: 10px;
        }
      
        #calc-title {
            font-size: 22px;
            color: white;
            float: right;
            margin-top: 10px;
            margin-right: 10px;
        }

        /* 设置结果显示栏样式 */
        #result {
            width: 446px;
            height: 50px;
            margin: auto;
            text-align: right;/*文本内容右对齐*/
            background-color: white;
            border: solid 2px red;
            font-size: 30px;
        }

        /* 设置按钮区域的样式 */
        #button {
            width: 450px;
            height: 422px;
            background-color: black;
            margin: auto;
        }

        #button div {
            width: 108px;
            height: 80px;
            float: left;
            background-color: hotpink;
            margin: 2px;
            line-height: 80px;
            text-align: center;
            font-size: 26px;
        }

        /* 使用伪类选择器设置鼠标悬停效果 */
        #button div:hover {
            background-color: cornflowerblue;
        }

    </style>
    <script type="text/javascript">
        //获取一个元素
        function aler(){
        var cal = document.getElementById("calc-title").innerHTML;
        window.alert(cal);
        }
        document.getElementsByClassName("point");
        //输入数字
        function num(number){
        var result = document.getElementById("result")
        result.innerHTML = result.innerHTML + number 
        }//这里的result,不是name里面的
        //输入运算符
        function oper(operator){
        var result = document.getElementById("result")
        result.innerHTML = result.innerHTML + operator
        }
        //计算结果
        function yunsuan(){
            var result= document.getElementById("result")
            var expression = result.innerHTML
            result.innerHTML =eval(expression)//eval是一个可以把里面的字符串当成代码运行,eval可以把字符串转为数字然后执行
        }
        function doback(){
            var result =document.getElementById("result")//这里只是定位到result
            var len=result.innerHTML.length//这里才是取出result的值并取他的总长度
            result.innerHTML =result.innerHTML.substr(0,len-1)//把result里面的值处理后重新放到result里面
            
        }
        function qingkong(){
            var result = document.getElementById("result")
            result.innerHTML = ""

        }
    </script>
</head>
<body >
    <div id="top">
        <div id="calc-title">计算器</div>
    </div>

    <div id="result" name="result" ></div>

    <div id="button">
        <!--当被单击时触发事件-->
        <!--在<script>里面写函数,下面调用函数,传参-->
        <div onclick="qingkong()">AC</div>
        <div>+/-</div>
        <div onclick="oper('%')">%</div>
        <div onclick="oper('/')">÷</div>
        <div onclick="num(7)">7</div>
        <div onclick="num(8)">8</div>
        <div onclick="num(9)">9</div>
        <div onclick="oper('*')">*</div>
        <div onclick="num(4)">4</div>
        <div onclick="num(5)">5</div>
        <div onclick="num(6)">6</div>
        <div onclick="oper('-')">-</div>
        <div onclick="num(1)">1</div>
        <div onclick="num(2)">2</div>
        <div onclick="num(3)">3</div>
        <div onclick="oper('+')">+</div>
        <div onclick="num(0)">0</div>
        <div onclick="doback()">删除</div>
        <div onclick="oper('.')">.</div>
        <div onclick="yunsuan()">=</div>
    </div>

</body>
</html>

7.计算器运行:

加法:

减法:

 乘法:

除法:

 8.连接数据库代码:

 

var mysql = require('mysql');
var connection = mysql.createConnection({
      host        : 'localhost',
      user        :'root',
      password :'',
      database : 'test'
});


connection.connect(function(err) {
       if(err) throw err;
       console.log("Connected!");
});

  

posted @ 2023-12-04 20:14  爱吃土豆的马铃薯  阅读(24)  评论(0)    收藏  举报