// {键名:值,键名:值}
var studentArr = [
{ name: "井川里予", age: 18, sex: "女", class: "1班" },
{ name: "彭于晏", age: 28, sex: "男", class: "2班" },
{ name: "刘德华", age: 22, sex: "男", class: "1班" },
{ name: "武松", age: 32, sex: "男", class: "3班" },
{ name: "西门庆", age: 25, sex: "男", class: "2班" },
{ name: "萧炎", age: 18, sex: "男", class: "3班" },
{ name: "唐三", age: 15, sex: "男", class: "2班" },
{ name: "貂蝉", age: 18, sex: "女", class: "1班" },
{ name: "王昭君", age: 18, sex: "女", class: "3班" },
]; // 存放学生信息
//菜单方法
menu();
function menu() {
var choose = Number(
prompt(
"欢迎来学生管理系统V1.0\n 1. 添加学生 2. 删除学生\n3. 修改学生信息 4. 查询\n5. 查询所有学生"
)
);
switch (choose) {
case 1:
AddStudent(); //增加学生
break;
case 2:
deleteStudent(); //删除记录
break;
case 3:
updateStudent(); //修改记录
break;
case 4:
queryStudent(); //查询纪录
break;
case 5:
queryStudentAll(); //查询所有纪录
break;
default: //提示
alert("你的输入有误,请重新输入");
menu();
}
} //添加学生
function AddStudent() {
// 1. 用户输入
var name = prompt("姓名");
var age = prompt("年龄");
var sex = prompt("性别");
var className = prompt("班级名称");
// 对象中的键名,加双引号可以,不加也可以
var newStu = { name: name, age: age, sex: sex, class: className };
// 2. 添加到学生的数组中
// 1. 同班同学不能超过30人
//求 对应班级的学生人数
var count = 0;
for (var i = 0; i < studentArr.length; i++) {
if (studentArr[i].class == className) {
count++;
}
}
// 循环完后,count的数量,班级的人数
if (count < 30) {
studentArr.push(newStu);
alert("添加成功");
} else {
alert("班级人数已满,不能添加");
return;
}
//问是否继续添加
var isContinue = prompt("是否继续进行添加y/n,请选择");
if (isContinue == "y") {
AddStudent(); //添加学生
} else {
menu();
}
}
//删除学生
function deleteStudent() {
//请输出你删除学生姓名
var delName = prompt("请输入要删除的学生姓名");
// 找删除的这个学生
var isDel = false; //是否删除成功
for (var i = 0; i < studentArr.length; i++) {
if (studentArr[i].name == delName) {
// 找到要删除的这个学生
studentArr.splice(i, 1);
alert("删除成功"); // 删除学生
isDel = true;
break;
}
}
// 循环结束后,判断isDel
if (!isDel) {
// 等同于isDel == false
alert("没有找到,你要删除的学生");
}
var isContinue = prompt("是否继续进行删除y/n,请选择");
if (isContinue == "y") {
deleteStudent(); //添加学生
} else {
menu();
}
}
//修改学生
function updateStudent() {
// 1. 请输入你要修改的学生名字
var updateName = prompt("请输入要修改的学生姓名");
// 2. 查询学生是否存在 对应的数组的下标找到
var updateIndex = -1;
for (var i = 0; i < studentArr.length; i++) {
if (studentArr[i].name == updateName) {
updateIndex = i;
break;
}
}
if (udpdateIndex == -1) {
alert("不存在");
return;
}
// 3. 请输入修改的学生信息
// 学生的性别
var sex = prompt("请输入性别");
// 学生的年龄
var age = prompt("请输入年龄");
// 学生的班级
var className = prompt("请输入学生班级");
var updateObj = {
name: updateName,
sex: sex,
age: age,
class: className,
};
// 4. 修改
studentArr[updateIndex] = updateObj;
var isContinue = prompt("是否继续进行修改y/n,请选择");
if (isContinue == "y") {
updateStudent(); //添加学生
} else {
menu();
}
}
//查询学生
function queryStudent() {
// 1. 请输入学生的姓名
var queryName = prompt("请输入查询学生的姓名");
//2. 循环找出用户输出的这个同学的信息
for (var i = 0; i < studentArr.length; i++) {
if (studentArr[i].name == queryName) {
alert(
"姓名:" +
studentArr[i].name +
",年龄:" +
studentArr[i].age +
",性别:" +
studentArr[i].sex +
",班级:" +
studentArr[i].class +
"。"
);
break;
}
}
var isContinue = prompt("是否继续查询y/n,请选择");
if (isContinue == "y") {
queryStudent(); //添加学生
} 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);
menu();
}