要求实现登陆,学生信息的添加、显示,删除,修改,查询,排序,退出功能。
实现流程:
1、 弹出欢迎界面
2、 登陆业务:
要求用户输入用户名和密码
如果用户名和密码输入错误,给予提示,并让用户重新输入。
如果用户三次以上没有输入正确信息,提示“非法用户”,并结束程序
如果登陆成功。进入学生管理系统的主界面
3、 选择操作。
根据用户选择的选项,分别执行添加、删除、修改、查询,几个功能模块。要求使用函数调用实现。分别建立三个数组,分别保存学号、姓名、成绩。同时建立一个变量保存已有学生的人数。
4、 添加
分别提示用户输入学号、姓名、成绩,分别保存在三个数组中,并将现在学生的人数加一。
5、 显示
当用户添加完成后,回到主界面,选择显示选项后,显示现在所有学生信息。
6、 删除
提示用户输入要删除学生的姓名
如果没有该学生,给予提示。
完成删除操作,在现有的数组中移除数据。并显示删除后的结果。
7、 查找
提示用户输入要查找学生的姓名
完成查找后,显示查找后的结果
如果没有找到,给予提示
8、 修改
提示用户输入要修改学生的姓名
如果没有该学生,给予提示。
找到该学生后,提示用户重新输入学号、姓名、成绩
完成数据录入后,显示修改后的结果
9、 排序
按成绩降序显示输出
10、 退出
选择退出后,结束程序
import javax.swing.JOptionPane;
public class MIS {
public static int student [] = new int[100];
public static String name [] = new String[100];
public static int grade [] = new int[100];
public static int number = 0 ;
public static void main(String[] args) {
JOptionPane.showMessageDialog(null, "欢迎光临");
boolean islogon = logon();
if(islogon==false){
JOptionPane.showMessageDialog(null,"非法用户");
System.exit(0);
}
while(true){
String str = JOptionPane.showInputDialog(null,"1、添加\n 2、显示 \n 3、删除\n 4、查找\n 5、修改\n 6、排序\n 7、退出");
int str1 = Integer.parseInt(str);
switch(str1){
case 1:
add();break;
case 2:
show();break;
case 3:
del();break;
case 4:
find();break;
case 5:
mod();break;
case 6:
sort();break;
case 7:
System.exit(0);break;
default:
JOptionPane.showMessageDialog(null,"请输入1-7");
}
}
}
public static void sort() {
for(int i = 0; i < number; i++){
for(int j = i+1; j < number; j++){
if(grade[i]<grade[j]){
int num1 = student[i];
student[i] = student[j];
student[j] = num1;
String num2 = name[i];
name[i] = name[j];
name[j] = num2;
int num3 = grade[i];
grade[i] = grade[j];
grade[j] = num3;
}
}
}
show();
}
/*寻找姓名在该姓名下的下标,如果没有找到返回-1
*@return
*
**/
public static int findName(){
String nameStr = JOptionPane.showInputDialog(null,"请输入姓名");
for(int i = 0 ; i <number;i++ ){
if(nameStr.equals(name[i])){
return i;
}
}
JOptionPane.showMessageDialog(null,"查无此人");
return -1;
}
public static void mod() {
int index = findName();
if(index!=-1){
String newstudent = JOptionPane.showInputDialog(null,"请重新输入学号");
String newname = JOptionPane.showInputDialog(null,"请重新输入姓名");
String newgrade = JOptionPane.showInputDialog(null,"请重新输入成绩");
student[index] = Integer.parseInt(newstudent);
name[index] = newname;
grade[index] = Integer.parseInt(newgrade);
show();
}
}
public static void find() {
int index = findName();
if(index!=-1){
JOptionPane.showMessageDialog(null,"学号为:"+student[index]+" "+"姓名为:"+name[index]+" "+"成绩为:"+grade[index]);
}
}
public static void del() {
int index = findName();
if(index!=-1){
for(int i = index ; i < number ; i++){
student[i] = student[i+1];
name[i] = name[i+1];
grade[i] = grade[i+1];
}
number--;
show();
}
}
public static void show() {
String str = "学号 姓名 成绩 \n";
for(int i = 0 ; i <number; i++){
str += student[i]+" "+name[i]+" "+grade[i]+"\n";
}JOptionPane.showMessageDialog(null, str);
}
public static void add() {
String student1 = JOptionPane.showInputDialog(null,"请输入学号");
String name1 = JOptionPane.showInputDialog(null,"请输入姓名");
String grade1 = JOptionPane.showInputDialog(null,"请输入成绩");
student [number] = Integer.parseInt(student1);
name [number] = name1;
grade[number] = Integer.parseInt(grade1);
number++;
}
public static boolean logon(){
for(int i = 3 ; i > 0 ; i--){
String username = JOptionPane.showInputDialog(null,"请输入用户名");
String userpaw = JOptionPane.showInputDialog(null,"请输入密码");
if("xbj123".equals(username)&& "123".equals(userpaw)){
JOptionPane.showMessageDialog(null,"登录成功");
return true;
}
else{
JOptionPane.showMessageDialog(null,"用户名和密码错误");
}
}return false;
}
}