学习信息统计表

const readline = require('readline-sync');
//账号库
let accountName = () => {
    let account = [{ name: '123', password: 456 },
    { name: 'lisi', password: 123 },
    { name: 'wangwu', password: 123 }]
    return account;

}
//信息库
let dateBase = () => {
    let date = [
        { id: 1, name: 'zhang', age: '18', gender: 'man', score: '98' },
        { id: 2, name: 'liu', age: '19', gender: 'woman', score: '78' },
        { id: 3, name: 'wang', age: '20', gender: 'woman', score: '65' },
        { id: 4, name: 'wang', age: '20', gender: 'woman', score: '65' },
        { id: 5, name: 'yang', age: '22', gender: 'man', score: '100' }

    ];

    for (i = 0; i < date.length; i++) {
        date[i].id = i + 1;
    }
    // date.push({ id: date.length+1, name: 'zhang', age: '18', gender: 'man', score: '98' })
    // date.push({ id: date.length+1, name: 'liu', age: '19', gender: 'man', score: '78' })
    // date.push({ id: date.length+1, name:'wang', age: '20', gender: 'man', score: '65'  })
    // date.push({ id: date.length+1, name:'wang', age: '20', gender: 'man', score: '65'  })
    // date.push({ id: date.length+1, name: 'yang', age: '22', gender: 'man', score: '100' })


    return date;
}
// 登陆
let login = (account) => {
    let error = 3
    while (true) {
        console.log('请输入账号:')
        let uesrname = readline.question();
        console.log('请输入密码:')
        let password = readline.question();
        for (i = 0; i < account.length; i++) {
            if (uesrname == account[i].name && password == account[i].password) {
                console.log('登陆成功');
                operation();
                return true;
            }
        }
        error--;
        if (error == 0) {
            console.log('输入次数过多,退出程序')
            return true;
        }
        console.log('登录错误,还有' + error + '次机会,请重新输入')
    }
}
//注册
let register = (account) => {
    console.log('请输入注册账号:')
    let username = readline.question();
    console.log('请输入注册密码:')
    let getpassword = readline.question();
    let table = {
        name: username,
        password: getpassword
    }
    account.push(table);
    console.log(`恭喜你,注册成功!账号为${username},密码为${getpassword}。即将跳转登录页面...`)
    login(account);
}
//分类查询
let classQuery = (key, date) => {
    console.log('请输入查询信息:')
    let queryDate = readline.question();
    let reg = new RegExp(queryDate);
    for (let item of date) {
        if (item[key].search(reg) != -1) {
            console.log(item)
        }
    }
}
//查询
let query = (date) => {
    console.log('请选择查询方式: 1.查询所有 2.分类查询');
    let option = readline.question() - 0;
    switch (option) {
        case 1:
            for (let item of date) {
                console.log(item);
            }
            break;
        case 2: {
            console.log('请选择查询: 1.姓名 2.年龄 3.性别 4.成绩')
            let queryOption = readline.question() - 0;
            switch (queryOption) {
                case 1:
                    {
                        classQuery('name', date);
                        break;
                    }
                case 2:
                    {
                        classQuery('age', date);
                        break;
                    }
                case 3:
                    {
                        classQuery('gender', date);
                        break;
                    }

                case 4:
                    {
                        classQuery('score', date);
                        break;
                    }
            }break;
        }
    }

}
//新增
let increre = (date) => {
    console.log('请输入要新增学生的姓名:')
    let name = readline.question();
    console.log('请输入要新增学生的年龄:')
    let age = readline.question();
    console.log('请输入要新增学生的性别:')
    let gender = readline.question();
    console.log('请输入要新增学生的成绩:')
    let score = readline.question();
    date.push({ id: date.length + 1, name, age, gender, score })
    for (i = 0; i < date.length; i++) {
        date[i].id = i + 1;
    }
    console.log('新增成功!该学生信息如下:');
    console.log(date[date.length - 1]);

}
//分类修改数据
let classModify = (date, id, key) => {
    console.log('请输入新的数据');
    let newDate = readline.question();
    date[id][key] = newDate;
    console.log('修改成功!该学生信息如下:');
    console.log(date[id]);
}
//修改
let modify = (date) => {
    while (true) {
        console.log('请输入要修改学生的学号:')
        let id = readline.question() - 1;
        if (id > date.length - 1) {
            console.log('无此学生信息,请重新输入')
        }
        else {
            console.log('当前学生信息如下:')
            console.log(date[id])
            console.log('请选择要修改的信息  1.姓名 2.年龄 3.性别 4.成绩  ')
            let option = readline.question() - 0;
            switch (option) {
                case 1: classModify(date, id, 'name');
                    break;
                case 2: classModify(date, id, 'age');
                    break;
                case 3: classModify(date, id, 'gender');
                    break;
                case 4: classModify(date, id, 'score');
                    break;
            }
            return;
        }
    }
}
//删除
let deletedate = (date) => {
    while (true) {
        console.log('请输入要删除的学号:')
        let id = readline.question() - 1;
        if (id > date.length - 1) {
            console.log('无此学生信息,请重新输入')
        }
        else {
            console.log('当前学生信息如下:')
            console.log(date[id]);
            console.log('确认删除:1.是 2.否')
            let num = readline.question();
            if (num == 1) {
                date.splice(id, 1)
                console.log('删除成功!')
                for (i = 0; i < date.length; i++) {
                    date[i].id = i + 1;
                }
                break;
            }
            if (num == 2) {
                break;
            }
        }
    }
}
//操作选项
let operation = () => {
    let date = dateBase();
    while (true) {

        console.log('请选择操作 1.查询 2.新增 3.修改 4.删除 5.退出 ')
        let option = readline.question() - 0;
        switch (option) {
            case 1:
                query(date);
                break;
            case 2:
                increre(date);
                break;
            case 3:
                modify(date);
                break;
            case 4:
                deletedate(date);
                break;
            case 5:
                return false;
        }
    }
}
//主页
let main = () => {
    let account = accountName();
    while (true) {
        console.log('请选择 1.登陆  2.注册  3.退出')
        let num = readline.question() - 0;
        switch (num) {
            case 1:
                let flag = false;
                flag = login(account);
                if (flag) {
                    return;
                }
                break;
            case 2:
                register(account);
                break;
            case 3:
                return;
        }
    }
}

main();

猜你喜欢

转载自www.cnblogs.com/web--yang/p/9097193.html