【JS】学生管理系统(弹出框版本)

学生管理系统(弹出框版本)

功能介绍

  • 功能∶增、删、改、查
  • 输入操作选项(序号),若操作序号正确,执行相关操作﹔若操作序号错误,可以重新输入,直至输入正确序号为止
  • 执行完成相关操作后,经询问用户是否继续后,可以返回主菜单也可以进行其他操作

代码部分

<script type="text/javascript">
        /*
        分析:
        添加学生信息
        删除学生信息
        修改学生信息
        查询学生信息
        显示主菜单
        */
        //数组对象存放学生信息:变量申请  对象 {} 表示对象,通过键值的形式进行数据的存储 ,{键名:值,键名:值}
        var studentarr=[
            {"name":"李某某","age":22,"sex":"女","class":"1班"},
            {"name":"谭某某","age":22,"sex":"男","class":"2班"},
            {"name":"陈某某","age":22,"sex":"男","class":"2班"},
            {"name":"袁某","age":22,"sex":"男","class":"1班"},
            {"name":"梁某某","age":22,"sex":"男","class":"1班"},
            {"name":"吴某某","age":22,"sex":"男","class":"2班"},
            {"name":"刘某某","age":22,"sex":"男","class":"1班"},
        ];
        menu(); //进入主菜单
        //主菜单方法---------------------------------------------------------//
        function menu(){
            var choose= prompt("欢迎来到学生管理系统V1.0.0\n 1.添加学生 \n 2.删除学生 \n 3.修改学生 \n 4.查询学生 \n 请选择相应序号操作:")
            switch(choose){
                case "1":
                    addStudent(); 
                    break;
                case "2":
                    deleteStudent();
                    break;
                case "3":
                    updateStudent();
                    break;
                case "4":
                    queryStudent();
                    break;
                default:
                    alert("无此项操作,请重新输入!!!");
                    menu(); //返回主菜单继续输入选择
            }
        }
        //1.添加学生信息---------------------------------------------------------//
        function addStudent(){
            //1.用户输入
            var name=prompt("姓名:");
            var age=prompt("年龄:");
            var sex=prompt("性别:");
            var classNumber=prompt("班级:");
            //对象中的键名,双引号可加可不加
            var newStudent={"name":name,"age":age,"sex":sex,"class":classNumber};
            //2.添加到学生的数组中
            //条件:同班同学不超过30
            //则求对应班级的学生人数
            var count=0;  
            for(var i=0;i<studentarr.length;i++){
                if(studentarr[i].class==classNumber){  
                    count++; //查询classNumber班的人数
                }
            }
            //判断此班级人数
            if(count<30){
                studentarr.push(newStudent); //未满30人,写入数组
                alert("添加成功!");
            }else{
                alert("班级人数已满不能再新增了!即将返回主菜单!");
                menu(); //没法继续添加就返回主菜单
            }
            //是否继续添加
            var iscontinue=prompt("是否继续添加操作y/n,请选择:");
            if(iscontinue=="y"){
                        addStudent(); 
            }else{
                        menu(); //不继续添加就返回主菜单
            }
        }
            
        //2.删除学生信息---------------------------------------------------------//
        function deleteStudent(){
            //请输入你要删除的学生姓名
            var deletename=prompt("请输入你要删除的学生的姓名:");
            //找是否有这个学生
            var isdelete=false;
            for(var i=0;i<studentarr.length;i++){
                if(studentarr[i].name==deletename){
                    studentarr.splice(i,1);
                    isdelete=true;  //删除操作成功
                    alert("删除成功!");
                    break;
                }
            }
            //判断是否删除了学生
            if(isdelete==false){
                alert("没有找到你要删除的学生!!!");
            }
            //是否继续删除
            var iscontinue=prompt("是否继续删除操作y/n,请选择:");
            if(iscontinue=="y"){
                        deleteStudent(); 
            }else{
                        menu(); //不继续删除就返回主菜单
            }
            
        }
        //3.修改学生信息---------------------------------------------------------//
        function updateStudent(){
            //请输入你要修改的学生名字
            var updatename=prompt("请输入你要修改的学生名字:");
            //判断要修改信息的学生是否存在
            var updateIndex=-1; //-1表示不存在
            for(var i=0;i<studentarr.length;i++){
                if(studentarr[i].name==updatename){
                    updateIndex=i; //存在
                    break;
                }
            }
            //不存在,给提示
            if(updateIndex==-1){
                alert("管理系统不存在该学生!!!");
                //是否继续修改,不存在时可重新输入修改信息
                var iscontinue=prompt("是否继续修改操作y/n,请选择:");
                if(iscontinue=="y"){
                        updateStudent(); 
                }else{
                        menu(); //不继续修改就返回主菜单
                }
            }
            //如果存在跳出for之后就可以修改信息了
            //输入要修改的学生信息
            //年龄
            var age=prompt("请输入("+updatename+")要修改的年龄:");
            //性别
            var sex=prompt("请输入("+updatename+")要修改的性别:");
            //班级
            var classNumber=prompt("请输入("+updatename+")要修改的班级:");
            //修改的信息放入新对象中
            var updateInformation={"name":updatename,"age":age,"sex":sex,"class":classNumber};
            //赋给原本的对象,覆盖原本对象中的信息
            studentarr[updateIndex]=updateInformation;
            alert("修改成功!");
            //是否继续修改
            var iscontinue=prompt("是否继续修改操作y/n,请选择:");
            if(iscontinue=="y"){
                        updateStudent(); 
            }else{
                        menu(); //不继续修改就返回主菜单
            }
        }
        //4.查询学生信息---------------------------------------------------------//
        function queryStudent(){
            //输入要查询信息的学生姓名
            var querySname=prompt("请输入要查询信息的学生姓名:");
            //判断输入查询的学生是否存在
            var isquery=false;
            for(var i=0;i<studentarr.length;i++){
                if(studentarr[i].name==querySname){
                    isquery=true;  //找到了该学生信息
                    break;
                }
            }
            //判断是否查询到了学生(没找到)
            if(isquery==false){
                alert("没有找到你要查询的学生!!!");
                //是否继续查询,不存在时可重新输入名字查询
                var iscontinue=prompt("是否继续查询操作y/selectALL/n,请选择:");
                if(iscontinue=="y"){
                        queryStudent(); 
                }else if(iscontinue=="selectALL"){
                         queryStudentAll(); 
                }else{
                    menu(); //不继续查询就返回主菜单
                }
            }
            //找出这个学生的信息
            for(var i=0;i<studentarr.length;i++){
                if(studentarr[i].name==querySname){
                    alert("姓名:"+studentarr[i].name
                            +"\n年龄:"+studentarr[i].age
                            +"\n性别:"+studentarr[i].sex
                            +"\n班级:"+studentarr[i].class
                        );   
                    break;//输出显示完成后退出循环
                }
            }
            var iscontinue=prompt("是否继续查询操作y/selectALL/n,请选择:");
            if(iscontinue=="y"){
                queryStudent(); //继续查询
            }else if(iscontinue=="selectALL"){
                queryStudentAll(); 
            }else{
                menu(); //不继续查询就返回主菜单
            }
        }
        //查询所有学生信息
        function queryStudentAll(){
        var str = "";
        for(var i=0; i<studentarr.length;i++){
             str+= "姓名:"+studentarr[i].name
                    +" 年龄:"+studentarr[i].age
                    +" 性别:"+studentarr[i].sex
                    +" 班级:"+studentarr[i].class+"\n";
        }
        alert(str);
        //是否继续查询
        var iscontinue=prompt("是否继续查询操作y/n,请选择:");
            if(iscontinue=="y"){
                        queryStudent(); 
            }else{
                        menu(); //不继续查询就返回主菜单
            }
        }
</script>

部分效果图

  • 主菜单界面
    主菜单界面

  • 操作提示
    操作提示

  • 操作成功
    在这里插入图片描述在这里插入图片描述

  • 查询结果及查询所有结果
    在这里插入图片描述
    查询所有结果

  • 没有找到相关信息
    在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值