功能介绍
- 功能∶增、删、改、查
- 输入操作选项(序号),若操作序号正确,执行相关操作﹔若操作序号错误,可以重新输入,直至输入正确序号为止
- 执行完成相关操作后,经询问用户是否继续后,可以返回主菜单也可以进行其他操作
代码部分
<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>
部分效果图
-
主菜单界面
-
操作提示
-
操作成功
-
查询结果及查询所有结果
-
没有找到相关信息