精华内容
下载资源
问答
  • 2021-03-04 02:18:22

    导读

    正文

    本文实例为大家分享了java学生信息管理系统的具体代码,实现学生信息: 增加 int[] a=new int[9] 、删除 、查找、更改,供大家参考,具体内容如下

    /*学生信息管理系统,实现学生信息:

    *增加 int[] a=new int[9]

    *删除

    *查找

    *更改

    */

    import java.util.Scanner;//导入java输入流

    import java.lang.*;

    import java.io.*;

    class Student

    {

    private static Student[] s=new Student[2];

    int n=0;

    private String name;

    private int num;

    private String classAge;

    public void judge()throws IOException

    {

    int i;

    char ch;

    String str;

    Scanner In=new Scanner(System.in);

    if(n==0)

    {

    System.out.print("你还没有录入任何学生,是否录入(Y/N):");

    str=In.next();

    ch=str.charAt(0);

    while(ch!='Y'&&ch!='y'&&ch!='N'&&ch!='n')

    {

    System.out.print("输入有误,请重新输入:");

    str=In.next();

    ch=str.charAt(0);

    }

    if(ch=='Y'||ch=='y')

    {

    this.add();

    }

    if(ch=='N'||ch=='n')

    {

    this.menu();

    }

    }

    }

    public void menu()throws IOException//定义菜单函数

    {

    int a;//定义switch语句变量

    Scanner in=new Scanner(System.in);//实例化输入流对象

    System.out.println("*********学生信息管理系统功能表*********");

    System.out.println("***** 1.增加 *****");

    System.out.println("***** 2.显示 *****");

    System.out.println("***** 3.修改 *****");

    System.out.println("***** 4.删除 *****");

    System.out.println("***** 5.查看 *****");

    System.out.println("***** 0.退出 *****");

    System.out.println("****************************************");

    System.out.print("请选择(0~5):");

    a=in.nextInt();

    while(a<0||a>5)

    {

    System.out.print("输入超出范围,请重新输入:");

    a=in.nextInt();

    }

    switch(a)

    {

    case 1:this.add();break;

    case 2:this.show();break;

    case 3:this.modif();break;

    case 4:this.delete();break;

    case 5:this.look();break;

    case 0:System.exit(0);break;

    }

    }

    public void add()throws IOException//定义增加函数

    {

    String str,str1,str2;

    int i,num1,t=1;

    char ch,ch1;

    FileWriter fw=new FileWriter("F://javaFile//student.txt",true);

    fw.write(" 录入的学生信息列表\r\n\r\n学号 姓名 班级\r\n");

    Scanner In=new Scanner(System.in);

    while(t==1)

    {

    System.out.print("请输入学生学号:");

    num1=In.nextInt();

    for(i=0;i

    {

    while(s[i].num==num1)

    {

    System.out.println("已存在此学号,请重新输入");

    System.out.print("请输入学号:");

    num1=In.nextInt();

    }

    }

    s[n].num=num1;

    str2=String.valueOf(num1);

    fw.write(str2+" ");

    System.out.println();

    System.out.print("请输入学生姓名:");

    s[n].name=In.next();

    fw.write(s[n].name+" ");

    System.out.println();

    System.out.print("请输入学生班级:");

    s[n].classAge=In.next();

    fw.write(s[n].classAge+"\r\n");

    ++n;

    fw.close();

    System.out.println();

    System.out.print("是否继续添加(Y/N)");

    str=In.next();

    ch=str.charAt(0);

    while(ch!='N'&&ch!='n'&&ch!='Y'&&ch!='y')

    {

    System.out.print("输入有误,请重新输入:");

    str=In.next();

    ch=str.charAt(0);

    }

    if(ch=='N'||ch=='n')

    {

    break;

    }

    }

    System.out.println();

    System.out.print("是否返回主菜单(Y/N)");

    str1=In.next();

    ch1=str1.charAt(0);

    while(ch1!='Y'&&ch1!='y'&&ch1!='N'&&ch1!='n')

    {

    System.out.print("输入有误,请重新输入:");

    str1=In.next();

    ch1=str1.charAt(0);

    }

    if(ch1=='Y'||ch1=='y')

    {

    this.menu();

    }

    if(ch1=='N'||ch1=='n')

    {

    System.out.println("正在退出...谢谢使用!");

    System.exit(0);

    }

    }

    public void show()throws IOException

    {

    int i;

    this.judge();

    System.out.println("本次操作共录入"+n+"位学生!");

    System.out.println("你录入的学生信息如下:");

    System.out.println();

    System.out.println("学号\t\t姓名\t班级");

    for(i=0;i

    {

    System.out.println(s[i].num+" "+s[i].name+" "+s[i].classAge);

    }

    System.out.println("系统返回主菜单!");

    this.menu();

    }

    public void delete()throws IOException//删除信息功能实现 注:本功能暂时不具备可扩展性

    {

    this.judge();

    int j=0,t=0,k=0,num1;

    char ch;

    String str;

    Scanner pin=new Scanner(System.in);

    System.out.print("请输入要删除的学号:");

    num1=pin.nextInt();

    for(j=0;j

    {

    if(s[j].num==num1)

    {

    k=1;

    t=j;

    }

    }

    if(k==0)

    {

    System.out.println("对不起!你要删除的学号不存在!");

    System.out.println("系统将返回主菜单!");

    this.menu();

    }

    if(k==1)

    {

    System.out.println("你要删除的学生信息如下:");//打印管理员要删除的学生信息

    System.out.println("学号\t姓名\t班级");//本功能暂时不备扩展性

    System.out.println(s[t].num+" "+s[t].name+" "+s[t].classAge);

    System.out.println();

    System.out.print("你确定要删除(Y/N):");

    str=pin.next();

    ch=str.charAt(0);

    while(ch!='Y'&&ch!='y'&&ch!='N'&&ch!='n')

    {

    System.out.print("输入有误,请重新输入:");

    str=pin.next();

    ch=str.charAt(0);

    }

    if(ch=='N'||ch=='n')

    {

    System.out.println();

    System.out.println("系统返回主菜单!");

    this.menu();

    }

    if(ch=='Y'||ch=='y')

    {

    for(j=t;j

    {

    s[j]=s[j+1];

    }

    n--;

    System.out.println("数据成功删除!");

    System.out.println("系统返回主菜单!");

    this.menu();

    }

    }

    }

    public void look()throws IOException

    {

    FileReader fr=new FileReader("F://javaFile//student.txt");

    int a;

    while((a=fr.read())!=-1)

    {

    System.out.print((char)a);

    }

    fr.close();

    System.out.println("系统返回主菜单!");

    System.out.println();

    this.menu();

    }

    public void modif()throws IOException

    {

    this.judge();

    int j=0,num2,num3,moi,c=1;

    char ch;

    String str,str2;

    Scanner pin=new Scanner(System.in);

    System.out.print("请输入要修改的学号:");

    num2=pin.nextInt();

    for(j=0;j

    {

    if(s[j].num==num2)

    {

    k=1;

    t=j;

    }

    }

    if(k==0)

    {

    System.out.println("对不起!你要修改的学号不存在!");

    System.out.println("系统将返回主菜单!");

    this.menu();

    }

    if(k==1)

    {

    System.out.println("你要修改的学生信息如下:");//打印管理员要删除的学生信息

    System.out.println("学号\t姓名\t班级");//本功能暂时不备扩展性

    System.out.println(s[t].num+" "+s[t].name+" "+s[t].classAge);

    System.out.println();

    System.out.print("你确定要修改(Y/N):");

    str=pin.next();

    ch=str.charAt(0);

    while(ch!='Y'&&ch!='y'&&ch!='N'&&ch!='n')

    {

    System.out.print("输入有误,请重新输入:");

    str=pin.next();

    ch=str.charAt(0);

    }

    if(ch=='N'||ch=='n')

    {

    System.out.println();

    System.out.println("系统返回主菜单!");

    this.menu();

    }

    while(c==1)

    {

    if(ch=='Y'||ch=='y')

    {

    System.out.println("****************************************");

    System.out.println("***** 1.修改学号 *****");

    System.out.println("***** 2.修改班级 *****");

    System.out.println("***** 3.修改姓名 *****");

    System.out.println("****************************************");

    System.out.print("请选择:");

    moi=pin.nextInt();

    switch(moi)

    {

    case 1:System.out.print("请输入新的学号:");num3=pin.nextInt();s[t].num=num3;break;

    case 2:System.out.print("请输入新的班级:");str1=pin.next();s[t].classAge=str1;break;

    case 3:System.out.print("请输入新的姓名:");str2=pin.next();s[t].name=str2;break;

    }

    System.out.println("数据已成功修改!");

    }

    System.out.print("是否继续修改(Y/N)");

    str=pin.next();

    ch=str.charAt(0);

    System.out.println();

    while(ch!='Y'&&ch!='y'&&ch!='N'&&ch!='n')

    {

    System.out.print("输入有误,请重新输入:");

    str=pin.next();

    ch=str.charAt(0);

    }

    if(ch=='N'||ch=='n')

    {

    break;

    }

    }

    }

    System.out.println();

    System.out.println("系统返回主菜单!");

    this.menu();

    }

    public static void main(String[] args)throws IOException

    {

    Student stu=new Student();

    for(int i=0;i<2;i++)

    {

    s[i]=new Student();

    }

    stu.menu();

    }

    }

    以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持编程小技巧。

    相关

    总结

    以上是编程之家为你收集整理的java学生信息管理系统源代码全部内容,希望文章能够帮你解决java学生信息管理系统源代码所遇到的程序开发问题。

    如果觉得编程之家网站内容还不错,欢迎将编程之家网站推荐给程序员好友。

    本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。

    如您喜欢交流学习经验,点击链接加入交流1群:1065694478(已满)交流2群:163560250

    更多相关内容
  • 设计一个GUI界面的学生信息管理系统,方便保存学生的部分信息。 有五类功能: 1、 增加学生信息:输入姓名、学号、年龄、手机号 2、 修改学生信息:输入新的姓名、学号、年龄、手机号 3、 删除学生信息:以学号为...
  • python写的学生信息管理系统,GUI界面+mysql数据库,实现了增删改查等基本功能,详情请看我的博客
  • 学生信息管理系统模板,全套模板,DIV+CSS布局,清新简约。有个人中心、我的信息、班级信息、短信息、学院通知、我的异议、教务中心、我的报考、我的成绩、我的书籍、学习中心、资料下载、学习历程、财务中心、我的...
  • VS2010学生信息管理系统 C++源码

    热门讨论 2013-12-11 16:22:06
    要求一个简单的界面系统,可实现对界面内显示的功能进行使用,并且用完后可重新返回界面。 主要功能一共有9项:0返回。1.编辑学生信息。2.显示学生信息。3.查询学生信息。4.更新学生信息5.添加学生信息。6.删除学生...
  • 基于JavaSpringMvc+mybatis实现学生信息管理系统

    万次阅读 多人点赞 2021-10-13 21:40:17
    Java经典基础毕设项目--学生信息管理系统详细设计【附源码】 主要模块设计如下: 使用Shiro权限管理框架,实现登录验证和登录信息的储存,根据不同的登录账户,分发权限角色,对不同页面url进行角色设置。 管理员...

    🍅 作者主页:Java李杨勇 

    🍅 简介:Java领域优质创作者🏆、【java李杨勇】公号作者✌  简历模板、学习资料、面试题库【关注我,都给你】

    🍅文末获取源码联系🍅

     临近学期结束,还是毕业设计,你还在做java程序网络编程,期末作业,老师的作业要求觉得大了吗?不知道毕业设计该怎么办?网页功能的数量是否太多?没有合适的类型或系统?等等。这里,你想解决的问题,在下方专栏👇🏻👇🏻👇🏻👇🏻

    ❤️Java项目精品实战案例❤️

    ❤️web前端期末大作业网页实战❤️

     都能满足你的需求。原始Jsp、SSM、SpringBoot、以及HTML+CSS+JS页面设计, web大学生网页设计作业源码等等都可以参考得到解决。话不多说直接拿一个学生信息管理系统来举例

    摘要设计:

           本次系统设计以方便快捷和安全为出发点,放弃传统的人工记录对学生信息管理的缺陷和不足, 采用全新的方式使学校对学生信息进行存储和维护,增加管理效率。本系统大体分为管理员登录管理后台、学生登录选课及对老师授课等三大模块、并且赋予了管理员很多功能来操作这个系统,包括:学生管理,老师管理,选课管理,密码修改等功能;为学生用户提供了选修改课程查询 、选择、密码修改等功能。通过这些功能模块的设计,满足了老师对学生的信息进行管控所需的功能。系统采用 B/S 三层结构,对动态页面的制作采用了 JSP技术,为了实现管理系统的安全可靠以及对有些代码可以进行重复使用考虑, 对程序的重要代码进行封装时采用 Java Bean。本系统贯彻以人为本的思想,实用性高。 

    系统功能概述:

    主要模块设计如下:

    使用Shiro权限管理框架,实现登录验证和登录信息的储存,根据不同的登录账户,分发权限角色,对不同页面url进行角色设置。

       管理员可对 教师信息、学生信息、课程信息 进行 增删改查 操作,管理员账户,可以重置非管理员账户的密码。

    课程管理:当课程已经有学生选课成功时,将不能删除学生管理:添加学生信息时,其信息也会添加到登录表中教师管理:同上

    账户密码重置:

    教师登陆后,可以获取其,教授的课程列表,并可以给已经选择该课程的同学打分无法对已经给完分的同学进行二次操作

    学生登录后,根据学生信息,获取其已经选择的课程,和已经修完的课程

    所有课程: 在这里选修课程,选好后,将会自动跳转到已选课程选项

    已选课程: 这里显示的是,还没修完的课程,也就是老师还没给成绩,由于还没有给成绩,所以这里可以进行退课操作

    已修课程: 显示已经修完,老师已经给成绩的课程修改密码:

     B站视频演示:java毕业设计-SSM学生信息管理系统_bilibili (2).mp4

     主要功能截图: 

    用户登录:用户登录是选择角色进行登录:管理员、教师、学生

    系统主页:管理员登录后具体功能模块可对 教师信息、学生信息、课程信息 进行 增删改查 操作,管理员账户,可以重置非管理员账户的密码。

    课程管理:课程列表管理和添加课程等具体操作

     添加录入课程信息

    学生管理:学生列表管理和添加学生等具体操作

     添加学生信息

    教师管理:

    文件上传下载: 

    文件列表和下载文件

    文件上传

    账号相关: 

    教师登录后主要页面展示:

    查看授课列表

    查看该课程学生信息

    给学生成绩打分 

     学生用户登录:

     根据学生信息,获取其已经选择的课程,和已经修完的课程

     主要代码展示: 

    登录相关

    package com.system.controller;
    
    import com.system.exception.CustomException;
    import com.system.po.Userlogin;
    import org.apache.shiro.SecurityUtils;
    import org.apache.shiro.authc.UsernamePasswordToken;
    import org.apache.shiro.subject.PrincipalCollection;
    import org.apache.shiro.subject.Subject;
    import org.springframework.stereotype.Controller;
    import org.springframework.web.bind.annotation.RequestMapping;
    import org.springframework.web.bind.annotation.RequestMethod;
    
    /**
     * Created by 李杨勇.
     */
    @Controller
    public class LoginController {
    
        //登录跳转
        @RequestMapping(value = "/login", method = {RequestMethod.GET})
        public String loginUI() throws Exception {
            return "../../login";
        }
    
        //登录表单处理
        @RequestMapping(value = "/login", method = {RequestMethod.POST})
        public String login(Userlogin userlogin) throws Exception {
    
            //Shiro实现登录
            UsernamePasswordToken token = new UsernamePasswordToken(userlogin.getUsername(),
                    userlogin.getPassword());
            Subject subject = SecurityUtils.getSubject();
    
            //如果获取不到用户名就是登录失败,但登录失败的话,会直接抛出异常
            subject.login(token);
            if (subject.hasRole("admin")&userlogin.getRole()==0) {
                    return "redirect:/admin/showStudent";
            } else if (subject.hasRole("teacher")&userlogin.getRole()==1) {
                    return "redirect:/teacher/showCourse";
            } else if (subject.hasRole("student")&userlogin.getRole()==2) {
                    return "redirect:/student/showCourse";
            }else throw new CustomException("请选择正确的身份登陆");
    
    
        }
    
    }
    

    文件上传

    package com.system.controller;
    
    import com.system.po.FileVO;
    import com.system.service.FileService;
    import org.springframework.stereotype.Controller;
    import org.springframework.web.bind.annotation.RequestMapping;
    import org.springframework.web.bind.annotation.RequestParam;
    import org.springframework.web.multipart.MultipartFile;
    import org.springframework.web.multipart.commons.CommonsMultipartFile;
    
    import javax.annotation.Resource;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    import java.io.*;
    import java.net.URLEncoder;
    import java.util.UUID;
    
    /**
     * 文件上传下载
     */
    @Controller
    @RequestMapping("/file")
    public class FileController {
    
    
        @Resource(name = "fileServiceImpl")
        private FileService fileService;
    
        @RequestMapping("/upload")
        public String  fileUpload(@RequestParam MultipartFile file, FileVO filevo, HttpServletRequest request) throws IOException {
            //上传路径保存设置
            // 把文件写到磁盘
            String fileName = file.getOriginalFilename();
            String[] str = fileName.split("\\.");
            String uuid = UUID.randomUUID().toString().replaceAll("-","");
            String headPath = "E://upload/" + uuid+ "."+str[str.length-1];
            File dest = new File(headPath);
            file.transferTo(dest);
            filevo.setFileID(uuid);
            filevo.setFilePath(headPath);
            filevo.setUserID(null);
            try {
                fileService.save(filevo);
            } catch (Exception e) {
                e.printStackTrace();
            }
            return "redirect:/admin/showFile";
        }
    
    
        @RequestMapping("/downFile")
        public void down(HttpServletRequest request, HttpServletResponse response,String fileID) throws Exception{
            FileVO fileVO = fileService.findById(fileID);
            String fileName = fileVO.getFilePath();
            String[] str = fileName.split("\\.");
            InputStream bis = new BufferedInputStream(new FileInputStream(new File(fileName)));
            String filename =  fileVO.getFileName()+"\\."+str[str.length-1];
            filename = URLEncoder.encode(filename,"UTF-8");
            response.addHeader("Content-Disposition", "attachment;filename=" + filename);
            response.setContentType("multipart/form-data");
            BufferedOutputStream out = new BufferedOutputStream(response.getOutputStream());
            int len = 0;
            while((len = bis.read()) != -1){
                out.write(len);
                out.flush();
            }
            out.close();
        }
    
    }
    

    异常处理

    package com.system.exception;
    
    /**
     *  系统自定义异常类,针对预期异常,需要在程序中抛出此类的异常
     */
    public class CustomException extends Exception {
    
        //异常信息
        public String message;
    
        public CustomException(String message) {
            super(message);
            this.message=message;
        }
    
        public String getMessage() {
            return message;
        }
    
        public void setMessage(String message) {
            this.message = message;
        }
    }
    

     主要数据库设计:

     主要数据表有:专业表、课程表、文件信息表、角色表、学生选课表、老师表、学生表等

    CREATE TABLE `college` (
      `collegeID` int(11) NOT NULL,
      `collegeName` varchar(200) NOT NULL COMMENT '课程名',
      PRIMARY KEY (`collegeID`)
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
    
    /*Data for the table `college` */
    
    insert  into `college`(`collegeID`,`collegeName`) values 
    
    (1,'计算机系'),
    
    (2,'设计系'),
    
    (3,'财经系');
    
    /*Table structure for table `course` */
    
    DROP TABLE IF EXISTS `course`;
    
    CREATE TABLE `course` (
      `courseID` int(11) NOT NULL,
      `courseName` varchar(200) NOT NULL COMMENT '课程名称',
      `teacherID` int(11) NOT NULL,
      `courseTime` varchar(200) DEFAULT NULL COMMENT '开课时间',
      `classRoom` varchar(200) DEFAULT NULL COMMENT '开课地点',
      `courseWeek` int(200) DEFAULT NULL COMMENT '学时',
      `courseType` varchar(20) DEFAULT NULL COMMENT '课程类型',
      `collegeID` int(11) NOT NULL COMMENT '所属院系',
      `score` int(11) NOT NULL COMMENT '学分',
      PRIMARY KEY (`courseID`),
      KEY `collegeID` (`collegeID`),
      KEY `teacherID` (`teacherID`)
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
    
    /*Data for the table `course` */
    
    insert  into `course`(`courseID`,`courseName`,`teacherID`,`courseTime`,`classRoom`,`courseWeek`,`courseType`,`collegeID`,`score`) values 
    
    (1,'C语言程序设计',1001,'周二','科401',18,'必修课',1,3),
    
    (2,'Python爬虫技巧',1001,'周四','X402',18,'必修课',1,3),
    
    (3,'数据结构',1001,'周四','科401',18,'必修课',1,2),
    
    (4,'Java程序设计',1002,'周五','科401',18,'必修课',1,2),
    
    (5,'英语',1002,'周四','X302',18,'必修课',2,2),
    
    (6,'服装设计',1003,'周一','科401',18,'选修课',2,2);
    
    /*Table structure for table `role` */
    
    DROP TABLE IF EXISTS `role`;
    
    CREATE TABLE `role` (
      `roleID` int(11) NOT NULL,
      `roleName` varchar(20) NOT NULL,
      `permissions` varchar(255) DEFAULT NULL COMMENT '权限',
      PRIMARY KEY (`roleID`)
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
    
    /*Data for the table `role` */
    
    insert  into `role`(`roleID`,`roleName`,`permissions`) values 
    
    (0,'admin',NULL),
    
    (1,'teacher',NULL),
    
    (2,'student',NULL);
    
    /*Table structure for table `selectedcourse` */
    
    DROP TABLE IF EXISTS `selectedcourse`;
    
    CREATE TABLE `selectedcourse` (
      `courseID` int(11) NOT NULL,
      `studentID` int(11) NOT NULL,
      `mark` int(11) DEFAULT NULL COMMENT '成绩',
      KEY `courseID` (`courseID`),
      KEY `studentID` (`studentID`)
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
    
    /*Data for the table `selectedcourse` */
    
    insert  into `selectedcourse`(`courseID`,`studentID`,`mark`) values 
    
    (2,10001,12),
    
    (1,10001,95),
    
    (1,10002,66),
    
    (2,10003,99),
    
    (5,10001,NULL),
    
    (3,10001,NULL),
    
    (1,10003,NULL),
    
    (4,10003,NULL);
    
    /*Table structure for table `student` */
    
    DROP TABLE IF EXISTS `student`;
    
    CREATE TABLE `student` (
      `userID` int(11) NOT NULL AUTO_INCREMENT,
      `userName` varchar(200) NOT NULL,
      `sex` varchar(20) DEFAULT NULL,
      `birthYear` date DEFAULT NULL COMMENT '出生日期',
      `grade` date DEFAULT NULL COMMENT '入学时间',
      `collegeID` int(11) NOT NULL COMMENT '院系id',
      PRIMARY KEY (`userID`),
      KEY `collegeID` (`collegeID`)
    ) ENGINE=InnoDB AUTO_INCREMENT=10008 DEFAULT CHARSET=utf8;
    
    /*Data for the table `student` */
    
    insert  into `student`(`userID`,`userName`,`sex`,`birthYear`,`grade`,`collegeID`) values 
    
    (9999,'mike1','男','1996-09-03','2019-11-13',3),
    
    (10001,'小红','男','2020-03-02','2020-03-02',1),
    
    (10002,'小绿','男','2020-03-10','2020-03-10',1),
    
    (10003,'小陈','女','1996-09-02','2015-09-02',2),
    
    (10005,'小左','女','1996-09-02','2015-09-02',2),
    
    (10007,'MIke','男','1996-09-02','2015-09-02',2);
    
    /*Table structure for table `teacher` */
    
    DROP TABLE IF EXISTS `teacher`;
    
    CREATE TABLE `teacher` (
      `userID` int(11) NOT NULL AUTO_INCREMENT,
      `userName` varchar(200) NOT NULL,
      `sex` varchar(20) DEFAULT NULL,
      `birthYear` date NOT NULL,
      `degree` varchar(20) DEFAULT NULL COMMENT '学历',
      `title` varchar(255) DEFAULT NULL COMMENT '职称',
      `grade` date DEFAULT NULL COMMENT '入职时间',
      `collegeID` int(11) NOT NULL COMMENT '院系',
      PRIMARY KEY (`userID`),
      KEY `collegeID` (`collegeID`)
    ) ENGINE=InnoDB AUTO_INCREMENT=1004 DEFAULT CHARSET=utf8;
    
    /*Data for the table `teacher` */
    
    insert  into `teacher`(`userID`,`userName`,`sex`,`birthYear`,`degree`,`title`,`grade`,`collegeID`) values 
    
    (1001,'刘老师','女','1990-03-08','硕士','副教授','2015-09-02',2),
    
    (1002,'张老师','女','1996-09-02','博士','讲师','2015-09-02',1),
    
    (1003,'软老师','女','1996-09-02','硕士','助教','2017-07-07',1);
    
    /*Table structure for table `userlogin` */
    
    DROP TABLE IF EXISTS `userlogin`;
    
    CREATE TABLE `userlogin` (
      `userID` int(11) NOT NULL AUTO_INCREMENT,
      `userName` varchar(200) NOT NULL,
      `password` varchar(200) NOT NULL,
      `role` int(11) NOT NULL DEFAULT '2' COMMENT '角色权限',
      PRIMARY KEY (`userID`),
      KEY `role` (`role`)
    ) ENGINE=InnoDB AUTO_INCREMENT=23 DEFAULT CHARSET=utf8;
    
    /*Data for the table `userlogin` */
    
    insert  into `userlogin`(`userID`,`userName`,`password`,`role`) values 
    
    (1,'admin','123',0),
    
    (10,'10003','123',2),
    
    (11,'10005','123',2),
    
    (14,'1001','123',1),
    
    (15,'1002','123',1),
    
    (16,'1003','123',1),
    
    (20,'9999','123',2),
    
    (21,'10001','123',2),
    
    (22,'10002','123',2);

    论文结构目录设计 :

    一、 绪论 4

    1.1 研究背景 4

    1.2 系统设计概述 4

    1.3 研究的内容 5

    二、相关技术介绍 5

    2.1 spring 5

    2.2 Spring MVC 6

    2.3 mybatis 7

    2.4 JSP技术 7

    2.5 jQuery 8

    2.6 Mysql 8

    三、需求分析和可行性 11

    3.1 系统功能概述 11

    3.2 系统运行环境 11

    3.3 技术设计 12

    3.4 社会可行性 12

    3.5 安全性可行性 12

    3.6 经济可行性 12

    3.7 法律可行性 12

    四、系统设计 13

    4.1 系统模式架构 13

    4.2系统层次架构 13

    4.3系统功能详情设计 14

    4.4数据流图 14

    4.5源码架构 15

    五、系统实现 17

    5.1 程序主要类 17

    5.1.1用户登录类 17

    5.1.2教师信息类 17

    5.1.3角色权限类 17

    5.1.4课程信息类 17

    5.1.5学生信息类 18

    5.1.6学生选课类 18

    5.2系统功能主要实现模块截图 18

    5.2.1关键代码实现 18

    5.2.2部分功能截图 23

    六、数据库设计 26

    6.1表基本设计 26

    6.2数据库三范式要求: 26

    6.3数据库表ER图 27

    6.4用户登录表设计 27

    6.5老师表设计 28

    6.6学生信息表设计 29

    6.7学生选课表设计 30

    6.8角色权限表设计 31

     6.9课程表设计 31

    6.10院系表设计 32

    七、开发心得体会 33

    八、测试实例 33

    九、参考献文 34

     相关系统设计实现推荐:

    基于java springboot+mybatis电影售票网站管理系统前台+后台设计和实现

    基于java ssm springboot+mybatis酒庄内部管理系统设计和实现

    基于JAVA springboot+mybatis智慧生活分享平台设计和实现

    基于Java springboot+vue+redis前后端分离家具商城平台系统设计和实现

    基于JAVA SSM springboot实现的抗疫物质信息管理系统设计和实现

    查看更多博主首页更多实战项目 >>>

    好了,今天就到这儿吧,小伙伴们点赞、收藏、评论走起呀,下期见~~

    获取完整源码:

    大家点赞、收藏、关注、评论啦 、查看👇🏻👇🏻👇🏻微信公众号获取联系👇🏻👇🏻👇🏻

    打卡 文章 更新 79/  100天

     精彩专栏推荐:

    Java毕设项目精品实战案例《100套》

    HTML5大作业实战案例《100套》

    web大作业前端网页实战《100套》

    展开全文
  • Python学生管理系统(web网页版)

    热门讨论 2018-11-02 11:28:27
    Python学生管理系统(web网页版),前面发布了python的控制台版本的学生管理系统和使用tkinter界面版的学生管理系统,这次是使用Django开发基于学生的实体类的增删改查,里面包含项目演示录屏和完整的项目源码与...
  • java学生信息管理系统

    千次阅读 2022-02-02 19:29:15
    学生信息管理系统功能:管理员、教师、学生三个角色 一、管理员功能: 1.登录、修改密码、退出系统 2.学生管理:添加、修改、删除、查询 3.班级管理:添加、修改、删除、查询 4.教师管理:添加、修改、删除、...

    开发工具eclipse,jdk1.8 

    数据库:mysql5.7

    学生信息管理系统功能:管理员、教师、学生三个角色

    一、管理员功能:

    1.登录、修改密码、退出系统

    2.学生管理:添加、修改、删除、查询

    3.班级管理:添加、修改、删除、查询

    4.教师管理:添加、修改、删除、查询

    5.帮助、关于

    二、教师功能:

    1.登录、修改密码、退出系统

    2.学生管理:添加、修改、删除、查询

    3.班级管理:添加、修改、删除、查询

    4.教师管理:修改个人信息

    5.帮助、关于

    三、学生功能:

    1.登录、修改密码、退出系统

    2.学生管理:修改个人信息

    3.帮助、关于

     

     

     

     

     

     

     

     

    展开全文
  • C#下结合Sqlserver2008的学生信息管理系统,包含教师,管理员。自己完成,只是界面不好看,可以自行修改,有些功能因为时间紧迫就没有继续完成,欢迎交流。
  • 基于python的学生信息管理系统

    万次阅读 多人点赞 2020-11-25 20:39:44
    学生管理系统主要包括录入学生信息、查找学生信息、删除学生信息、修改学生信息、排序学生信息、统计学生总数、显示学生信息,这几项功能。其中录入学生的信息包括学号、姓名、英语成绩、python成绩、数学成绩、总...

    最近在学python,用了几天跟着网上的视频学完基础知识之后,做了一个学生管理系统,写的比较普通,没太大亮点,希望可以给初学者一些参考经验,另外,如有不恰当的地方还请各位指正。

    学生管理系统主要包括录入学生信息、查找学生信息、删除学生信息、修改学生信息、排序学生信息、统计学生总数、显示学生信息,这几项功能。其中录入学生的信息包括学号、姓名、英语成绩、python成绩、数学成绩、总成绩;查询学生信息分为按学号和按姓名查找两种;删除学生信息是输入学号进行查找,查找到学生信息之后,对学生信息进行删除;修改学生信息是输入学号后,查询到学生信息之后,对学生信息进行修改;排序学生信息的排序方式可选择升序和降序,可选择按英语、python、数学成绩以及总成绩进行排序;统计学生总数 就是输出信息管理系统中有几个学生的信息。

    首先,运行结果部分截图如下图所示:

     

    下面开始介绍代码,我把主要的代码处都给出了详细注释,如若有不懂的地方,请在评论区留言。

    1、主界面函数代码部分,此函数主要就是使用print打印出主界面。

    def show_choose():
        print("==========================学生信息管理系统==========================")
        print()
        print("-----------------------------功能菜单------------------------------")
        print()
        print("                         1.录入学生信息")
        print("                         2.查找学生信息")
        print("                         3.删除学生信息")
        print("                         4.修改学生信息")
        print("                         5.排序学生信息")
        print("                         6.统计学生总数")
        print("                         7.显示学生信息")
        print("                         0.退出信息管理系统")
        print()
        print("------------------------------------------------------------------")

    2、录入学生信息函数代码部分,在这个函数中实现的功能是录入学生信息,包括学号、姓名、英语成绩、python成绩、数学成绩、总成绩等,并将其写入文件中,每一行为一个学生的信息存储。

    # 录入学生信息
    # 录入学生的信息包括学号、姓名、英语成绩、python成绩、数学成绩、总成绩
    def input_info():
        infile_info = open('infile.txt', 'a')  # 以追加的方式向文件中写入数据,如果文件不存在就创建一个文件
        flag = 'y'
        # 向文件中录入学生信息,每一个学生的信息单独占一行
        while flag == 'y' or flag == 'Y':
            stu_id = input("请输入学生学号(如2020001):")
            stu_name = input("请输入学生姓名:")
            stu_score_eng = input("请输入学生英语成绩:")
            stu_score_py = input("请输入学生Python成绩:")
            stu_score_math = input("请输入学生数学成绩:")
            stu_sum_score = int(stu_score_eng) + int(stu_score_py) + int(stu_score_math)
            stu_info = stu_id + '\t' + stu_name + '\t' + stu_score_eng + '\t' + stu_score_py + '\t' + \
                       stu_score_math + '\t' + str(stu_sum_score) + '\n'
            infile_info.write(stu_info)
            flag = input("是否继续添加学生信息?y/n")
        print("信息录入完毕!!!")
        infile_info.close()

    3、查询学生信息函数代码部分,此函数主要功能是查询时分为按学号和按姓名查询两种,若查无此人则输出提示信息。

    # 查询学生信息
    # 查询时分为按学号和按姓名查找两种
    def find_info():
        flag = 'y'
        while flag == 'y' or flag == 'Y':
            n = 0
            m = 0  # 定义m,n是为了用作判断文件中是否有此人信息的标记
            findfile_info = open('infile.txt', 'r')  # 以可读方式打开文件
            line_info = findfile_info.readlines()
            find_nid = input("按学号查找请输入1,按姓名查找请输入2:")  # 查询方式分为按学号和按姓名
            if find_nid == '1':
                find_id = input('请输入学生学号:')
                for line in line_info:
                    if find_id in line:
                        print(line)
                        n = n + 1
                if n == 0:
                    print("没有查询到学生信息,无数据显示!!!")
            if find_nid == '2':
                find_name = input('请输入学生姓名:')
                for line in line_info:
                    if find_name in line:
                        print(line)
                        m = m + 1
                if m == 0:
                    print("没有查询到学生信息,无数据显示!!!")
            findfile_info.close()
            flag = input("是否继续查询学生信息?y/n")

    4、删除学生信息函数代码部分,此函数主要功能是执行删除操作,输入学号进行查找,查找到学生信息之后,对学生信息进行删除。

    # 删除学生信息
    # 输入学号进行查找,查找到学生信息之后,对学生信息进行删除
    def del_info():
        flag = 'y'
        while flag == 'y' or flag == 'Y':
            n = 0  # 用以查无此人时的标记
            defile_info1 = open('infile.txt', 'r')  # 以可读方式打开文件
            line_info = defile_info1.readlines()  # 将文件的信息按行全部读取出来,此时line_info是一个列表,每一行是一个元素
            defile_info2 = open('infile.txt', 'w')  # 以可写方式打开文件,用来将删除后的信息写入文件
            del_id = input("请输入要删除的学生的学号:")
            for line in line_info:  # 如果要删除的学生学号在文件存储的信息中,就将后面的信息向前移动覆盖这条信息
                if del_id in line:
                    continue
                defile_info2.write(line)
                n = n + 1
            if n == len(line_info):
                print("无此学生信息,请核对后再操作!!!")
            else:
                print("学号为{0}的学生信息已被删除!!!".format(del_id))
            defile_info1.close()
            defile_info2.close()
            flag = input("是否继续删除学习信息?y/n")

    5、修改学生信息函数代码部分,此函数的主要功能是对学生信息进行修改,当输入学号后,查询到学生信息之后,对学生信息进行修改。

    def mod_info():
        flag = 'y'
        while flag == 'y' or flag == 'Y':
            n = 0  # 用以查无此人时的标记
            mod_id = input("请输入要修改的学生学号:")
            modfile_file1 = open('infile.txt', 'r')  # 以可读方式打开文件,读取到line_info中,每一行就是一个列表的元素
            line_info = modfile_file1.readlines()
            modfile_file2 = open('infile.txt', 'w')  # 用以写入修改后的数据
            for line in line_info:  # 遍历列表
                if mod_id in line:  # 如果修改的学生信息存在,就重新写入学生信息
                    print("已找到学生,请修改信息!")
                    mod_name = input("请输入姓名:")
                    mod_score_eng = input("请输入英语成绩:")
                    mod_score_py = input("请输入python成绩:")
                    mod_score_math = input("请输入数学成绩:")
                    mod_sum_score = int(mod_score_eng) + int(mod_score_py) + int(mod_score_math)
                    mod_stu_info = mod_id + '\t' + mod_name + '\t' + mod_score_eng + '\t' + mod_score_py + '\t' + \
                                   mod_score_math + '\t' + str(mod_sum_score) + '\n'
                    modfile_file2.write(mod_stu_info)
                    print("修改成功!!!")
                    continue
                modfile_file2.write(line)  # 由于w方式打开的文件重新后会覆盖原有数据,所以需要将原有数据写入
                n = n + 1
            if n == len(line_info):
                print("无此学生信息,请核对后再操作!!!")
            else:
                print("学号为{0}的学生信息已修改!!!".format(mod_id))
            modfile_file1.close()
            modfile_file2.close()
            flag = input("是否继续修改学习信息?y/n")

    6、排序学生信息函数部分,此函数功能是对学生信息进行排序,排序方式可选择升序和降序,排序条件可选择按英语、python、数学成绩以及总成绩进行排序。

    # 排序学生信息
    # 排序方式可选择升序和降序
    # 可选择按英语、python、数学成绩以及总成绩进行排序
    def sort_info():
        flag = 'y'
    
        # 此方法用来排序,返回列表的2,3,4,5的元素,也就是分别依据英语、python、数学、总成绩进行排序
        # 例如列表[['1','2','3'],['1','2','3'],['1','2','3']]
        # 则take_eng就是以每个列表的第三个元素为依据排序,也就是3,2,1
        def take_eng(elem):
            return int(elem[2])
    
        def take_py(elem):
            return int(elem[3])
    
        def take_math(elem):
            return int(elem[4])
    
        def take_sum(elem):
            return int(elem[5])
    
        # 此方法用来进行排序后的输出操作
        def output_sort(sort_list):
            for m in sort_list:
                for n in m:
                    print("%+10s" % n, end=' ')
                print()
    
        while flag == 'y' or flag == 'Y':
            sortfile_info = open('infile.txt', 'r')  # 可读方式打开文件,并读取信息line_info中
            line_info = sortfile_info.readlines()
            # 定义列表,用来将读取出来的字符串信息,转化为列表
            # 例如['2020001\t李一一\t75\t86\t89\t250\n', '2020002\t王大伟\t85\t96\t99\t280\n']
            # 转化为[['2020001', '李一一', '75', '86', '89', '250'], ['2020002', '王大伟', '85', '96', '99', '280']]
            lst = []
            for i in range(0, len(line_info)):
                lst.append('lst' + str(i))
            i = 0
            for line in line_info:  # 遍历列表,将信息转化为单独的列表,并去掉\t和\n,方便接下来的排序比较
                line = line.replace('\n', '')
                lst[i] = line.split('\t')
                i = i + 1
    
            sort_up_down = input("请选择(0升序,1降序):")
            print("1.按英语成绩排序,2.按python成绩排序")
            print("3.按数学成绩排序,4.按学生总成绩排序")
            sort_term = input("请选择:")
            if sort_up_down == '0':  # 升序
                if sort_term == '1':
                    lst.sort(key=take_eng, reverse=False)  # 以英语成绩升序排序
                if sort_term == '2':
                    lst.sort(key=take_py, reverse=False)
                if sort_term == '3':
                    lst.sort(key=take_math, reverse=False)
                if sort_term == '4':
                    lst.sort(key=take_sum, reverse=False)
                output_sort(lst)
            if sort_up_down == '1':  # 降序
                if sort_term == '1':
                    lst.sort(key=take_eng, reverse=True)  # 以英语成绩降序排序
                if sort_term == '2':
                    lst.sort(key=take_py, reverse=True)
                if sort_term == '3':
                    lst.sort(key=take_math, reverse=True)
                if sort_term == '4':
                    lst.sort(key=take_sum, reverse=True)
                output_sort(lst)
            flag = input("是否继续排序信息?y/n")

    7、统计学生总数函数代码部分,此函数主要是输出信息管理系统中有几个学生的信息。

    # 统计学生总数
    # 输出信息管理系统中有几个学生的信息
    def sum_info():
        sumfile_info = open('infile.txt', 'r')
        line_info = sumfile_info.readlines()
        sum_stu = len(line_info)  # 写出列表中的元素个数
        print("一共有{0}名学生。".format(sum_stu))
        sumfile_info.close()

    8、显示学生信息函数代码部分,此函数是将文件存储的学生信息全部显示出来。

    # 显示学生信息
    def show_info():
        print("学号", end='\t\t')
        print("姓名", end='\t\t')
        print("英语成绩", end='\t\t')
        print("Python成绩", end='\t\t')
        print("数学成绩", end='\t\t')
        print("总成绩", end='\t\t')
        print('\n')
        showfile_info = open('infile.txt', 'r')
        line_info = showfile_info.readlines()
        for line in line_info:  # 遍历列表,输出各个元素
            print(line)
        showfile_info.close()

    以上就是每个功能函数的代码,完成这些函数的编写之后,需要进行调用才能够执行,所以主函数代码如下。

    def main():
        show_choose()
        choose_menu = input("请选择:")
        while choose_menu != '0':
            if choose_menu == '1':
                input_info()
            if choose_menu == '2':
                find_info()
            if choose_menu == '3':
                del_info()
            if choose_menu == '4':
                mod_info()
            if choose_menu == '5':
                sort_info()
            if choose_menu == '6':
                sum_info()
            if choose_menu == '7':
                show_info()
            choose_menu = input("请选择:")
    
        print("欢迎您再次使用!!!")

    最后,需要在程序末尾执行main(),完成后运行函数,就可以正常执行了。

    下面是全部的代码,一共250行,不算简洁,也不是太冗余,复制后直接可用,如有瑕疵和bug请指正,谢谢。

    # 开发者:杨健林
    # 开发日期:2020/11/24 19:02
    # 学生管理系统,包括录入学生信息、查找学生信息、删除学生信息、修改学生信息、排序学生信息、统计学生总数、显示学生信息。
    
    # 录入学生信息
    # 录入学生的信息包括学号、姓名、英语成绩、python成绩、数学成绩、总成绩
    def input_info():
        infile_info = open('infile.txt', 'a')  # 以追加的方式向文件中写入数据,如果文件不存在就创建一个文件
        flag = 'y'
        # 向文件中录入学生信息,每一个学生的信息单独占一行
        while flag == 'y' or flag == 'Y':
            stu_id = input("请输入学生学号(如2020001):")
            stu_name = input("请输入学生姓名:")
            stu_score_eng = input("请输入学生英语成绩:")
            stu_score_py = input("请输入学生Python成绩:")
            stu_score_math = input("请输入学生数学成绩:")
            stu_sum_score = int(stu_score_eng) + int(stu_score_py) + int(stu_score_math)
            stu_info = stu_id + '\t' + stu_name + '\t' + stu_score_eng + '\t' + stu_score_py + '\t' + \
                       stu_score_math + '\t' + str(stu_sum_score) + '\n'
            infile_info.write(stu_info)
            flag = input("是否继续添加学生信息?y/n")
        print("信息录入完毕!!!")
        infile_info.close()
    
    
    # 查询学生信息
    # 查询时分为按学号和按姓名查找两种
    def find_info():
        flag = 'y'
        while flag == 'y' or flag == 'Y':
            n = 0
            m = 0  # 定义m,n是为了用作判断文件中是否有此人信息的标记
            findfile_info = open('infile.txt', 'r')  # 以可读方式打开文件
            line_info = findfile_info.readlines()
            find_nid = input("按学号查找请输入1,按姓名查找请输入2:")  # 查询方式分为按学号和按姓名
            if find_nid == '1':
                find_id = input('请输入学生学号:')
                for line in line_info:
                    if find_id in line:
                        print(line)
                        n = n + 1
                if n == 0:
                    print("没有查询到学生信息,无数据显示!!!")
            if find_nid == '2':
                find_name = input('请输入学生姓名:')
                for line in line_info:
                    if find_name in line:
                        print(line)
                        m = m + 1
                if m == 0:
                    print("没有查询到学生信息,无数据显示!!!")
            findfile_info.close()
            flag = input("是否继续查询学生信息?y/n")
    
    
    # 删除学生信息
    # 输入学号进行查找,查找到学生信息之后,对学生信息进行删除
    def del_info():
        flag = 'y'
        while flag == 'y' or flag == 'Y':
            n = 0  # 用以查无此人时的标记
            defile_info1 = open('infile.txt', 'r')  # 以可读方式打开文件
            line_info = defile_info1.readlines()  # 将文件的信息按行全部读取出来,此时line_info是一个列表,每一行是一个元素
            defile_info2 = open('infile.txt', 'w')  # 以可写方式打开文件,用来将删除后的信息写入文件
            del_id = input("请输入要删除的学生的学号:")
            for line in line_info:  # 如果要删除的学生学号在文件存储的信息中,就将后面的信息向前移动覆盖这条信息
                if del_id in line:
                    continue
                defile_info2.write(line)
                n = n + 1
            if n == len(line_info):
                print("无此学生信息,请核对后再操作!!!")
            else:
                print("学号为{0}的学生信息已被删除!!!".format(del_id))
            defile_info1.close()
            defile_info2.close()
            flag = input("是否继续删除学习信息?y/n")
    
    
    # 修改学生信息
    # 输入学号后,查询到学生信息之后,对学生信息进行修改
    def mod_info():
        flag = 'y'
        while flag == 'y' or flag == 'Y':
            n = 0  # 用以查无此人时的标记
            mod_id = input("请输入要修改的学生学号:")
            modfile_file1 = open('infile.txt', 'r')  # 以可读方式打开文件,读取到line_info中,每一行就是一个列表的元素
            line_info = modfile_file1.readlines()
            modfile_file2 = open('infile.txt', 'w')  # 用以写入修改后的数据
            for line in line_info:  # 遍历列表
                if mod_id in line:  # 如果修改的学生信息存在,就重新写入学生信息
                    print("已找到学生,请修改信息!")
                    mod_name = input("请输入姓名:")
                    mod_score_eng = input("请输入英语成绩:")
                    mod_score_py = input("请输入python成绩:")
                    mod_score_math = input("请输入数学成绩:")
                    mod_sum_score = int(mod_score_eng) + int(mod_score_py) + int(mod_score_math)
                    mod_stu_info = mod_id + '\t' + mod_name + '\t' + mod_score_eng + '\t' + mod_score_py + '\t' + \
                                   mod_score_math + '\t' + str(mod_sum_score) + '\n'
                    modfile_file2.write(mod_stu_info)
                    print("修改成功!!!")
                    continue
                modfile_file2.write(line)  # 由于w方式打开的文件重新后会覆盖原有数据,所以需要将原有数据写入
                n = n + 1
            if n == len(line_info):
                print("无此学生信息,请核对后再操作!!!")
            else:
                print("学号为{0}的学生信息已修改!!!".format(mod_id))
            modfile_file1.close()
            modfile_file2.close()
            flag = input("是否继续修改学习信息?y/n")
    
    
    # 排序学生信息
    # 排序方式可选择升序和降序
    # 可选择按英语、python、数学成绩以及总成绩进行排序
    def sort_info():
        flag = 'y'
    
        # 此方法用来排序,返回列表的2,3,4,5的元素,也就是分别依据英语、python、数学、总成绩进行排序
        # 例如列表[['1','2','3'],['1','2','3'],['1','2','3']]
        # 则take_eng就是以每个列表的第三个元素为依据排序,也就是3,2,1
        def take_eng(elem):
            return int(elem[2])
    
        def take_py(elem):
            return int(elem[3])
    
        def take_math(elem):
            return int(elem[4])
    
        def take_sum(elem):
            return int(elem[5])
    
        # 此方法用来进行排序后的输出操作
        def output_sort(sort_list):
            for m in sort_list:
                for n in m:
                    print("%+10s" % n, end=' ')
                print()
    
        while flag == 'y' or flag == 'Y':
            sortfile_info = open('infile.txt', 'r')  # 可读方式打开文件,并读取信息line_info中
            line_info = sortfile_info.readlines()
            # 定义列表,用来将读取出来的字符串信息,转化为列表
            # 例如['2020001\t李一一\t75\t86\t89\t250\n', '2020002\t王大伟\t85\t96\t99\t280\n']
            # 转化为[['2020001', '李一一', '75', '86', '89', '250'], ['2020002', '王大伟', '85', '96', '99', '280']]
            lst = []
            for i in range(0, len(line_info)):
                lst.append('lst' + str(i))
            i = 0
            for line in line_info:  # 遍历列表,将信息转化为单独的列表,并去掉\t和\n,方便接下来的排序比较
                line = line.replace('\n', '')
                lst[i] = line.split('\t')
                i = i + 1
    
            sort_up_down = input("请选择(0升序,1降序):")
            print("1.按英语成绩排序,2.按python成绩排序")
            print("3.按数学成绩排序,4.按学生总成绩排序")
            sort_term = input("请选择:")
            if sort_up_down == '0':  # 升序
                if sort_term == '1':
                    lst.sort(key=take_eng, reverse=False)  # 以英语成绩升序排序
                if sort_term == '2':
                    lst.sort(key=take_py, reverse=False)
                if sort_term == '3':
                    lst.sort(key=take_math, reverse=False)
                if sort_term == '4':
                    lst.sort(key=take_sum, reverse=False)
                output_sort(lst)
            if sort_up_down == '1':  # 降序
                if sort_term == '1':
                    lst.sort(key=take_eng, reverse=True)  # 以英语成绩降序排序
                if sort_term == '2':
                    lst.sort(key=take_py, reverse=True)
                if sort_term == '3':
                    lst.sort(key=take_math, reverse=True)
                if sort_term == '4':
                    lst.sort(key=take_sum, reverse=True)
                output_sort(lst)
            flag = input("是否继续排序信息?y/n")
    
    
    # 统计学生总数
    # 输出信息管理系统中有几个学生的信息
    def sum_info():
        sumfile_info = open('infile.txt', 'r')
        line_info = sumfile_info.readlines()
        sum_stu = len(line_info)  # 写出列表中的元素个数
        print("一共有{0}名学生。".format(sum_stu))
        sumfile_info.close()
    
    
    # 显示学生信息
    def show_info():
        print("学号", end='\t\t')
        print("姓名", end='\t\t')
        print("英语成绩", end='\t\t')
        print("Python成绩", end='\t\t')
        print("数学成绩", end='\t\t')
        print("总成绩", end='\t\t')
        print('\n')
        showfile_info = open('infile.txt', 'r')
        line_info = showfile_info.readlines()
        for line in line_info:  # 遍历列表,输出各个元素
            print(line)
        showfile_info.close()
    
    
    def show_choose():
        print("==========================学生信息管理系统==========================")
        print()
        print("-----------------------------功能菜单------------------------------")
        print()
        print("                         1.录入学生信息")
        print("                         2.查找学生信息")
        print("                         3.删除学生信息")
        print("                         4.修改学生信息")
        print("                         5.排序学生信息")
        print("                         6.统计学生总数")
        print("                         7.显示学生信息")
        print("                         0.退出信息管理系统")
        print()
        print("------------------------------------------------------------------")
    
    
    def main():
        show_choose()
        choose_menu = input("请选择:")
        while choose_menu != '0':
            if choose_menu == '1':
                input_info()
            if choose_menu == '2':
                find_info()
            if choose_menu == '3':
                del_info()
            if choose_menu == '4':
                mod_info()
            if choose_menu == '5':
                sort_info()
            if choose_menu == '6':
                sum_info()
            if choose_menu == '7':
                show_info()
            choose_menu = input("请选择:")
    
        print("欢迎您再次使用!!!")
    
    
    main()
    

     

     

     

     

    展开全文
  • Python界面版学生管理系统

    千次下载 2018-10-27 15:45:18
    前不久上传了一个控制台版本的学生管理系统,这个是Python界面版学生管理系统,这个是使用pycharm开发的一个有界面的学生管理系统,基本的增删改查,里面又演示视频和完整代码,有需要的伙伴可以自行下载
  • 一个基于SpringBoot+vue的学生信息管理系统详细设计

    万次阅读 多人点赞 2021-11-30 23:23:29
    主要功能:用户登录、用户管理、角色、菜单、灵活控制、sql监控、日志、老师、学生、班级、课程、选课、打分、成绩、新闻、通知公告、附件查看下载等功能
  • java课程设计(学生信息管理系统

    千次阅读 2021-02-12 17:44:09
    1.需求分析功能要求:1)需要管理的学生信息有:学号、姓名、性别、...3.总体设计(概要设计)本组完成的是学生信息管理系统,主要的功能有增,删,查,改,管理的学生信息有学号、姓名、性别、出生日期、政治面貌、...
  • 系统基于 Visual Studio2013的环境搭建,运用MFC框架对系统进行设计和实现,本系统带有图形化界面,具有常用的用户登录注册功能,对个人信息的增删改查功能,对成绩的增删改查功能。本系统可适用于大作业,课程...
  • c#实现简单学生信息管理系统

    万次阅读 多人点赞 2019-06-06 21:40:37
    登录、添加学生信息、修改学生信息、删除学生信息、查询学生信息 三、实现步骤 1、登陆界面功能实现 老规矩,先贴下主要代码: //构造方法 public Login() { InitializeComponent(); this.label3.Parent = ...
  • C语言实现学生信息管理系统

    万次阅读 多人点赞 2019-04-08 14:40:48
    使用C语言对学生管理系统进行优化
  • 学生信息管理系统毕业论文

    千次阅读 2020-12-20 14:44:11
    1 摘 要 随着 21 世纪的到来,人们更...本文主要讲述了利用 Java 来开发一套学生信息管理系统的设计方法。该 系统采用多个模块, 实现了学生成绩、基本信息的录入、修改、和查询等功能。 关键词: 学生信息 Java 数据库
  • 学生信息管理系统jsp课程设计.doc

    千次阅读 2021-06-11 13:32:49
    455ss百度文库理学院Shoole of Sciences课程设计报告设计名称:综合训练学生姓名:xxxxx学生学号:xxxxx所在班级:xxxxx所在专业:信息与计算科学指导教师:xxxxxx设计场所:理学院机房设计时间:第七学期课程设计...
  • 学生信息管理系统的设计与实现(MyEclipse,MySQL)(任务书,开题报告,中期检查表,文献综述,毕业论文15000字,程序代码,MySQL数据库)学生信息管理系统的开发工具是MyEclipse。数据库是基于MYSQL设计的。学校管理人员可以...
  • 学生信息管理系统课程设计报告

    千次阅读 2020-12-17 06:59:39
    课程设计的相关内容 2 、可以熟练掌握并应用《 C 语言程序设计》课程的所有知识点,开发一个学生信息管理系统 , 采用计算机对学生信息进行管理 , 进一步提高了办学效益和现代化水平 . 为广大教师和学生提高工作 ...
  • 1、JAVA程序设计 课程设计报告课 题: 学生信息管理系统 姓 名: 学 号: 同组姓名: 专业班级: 指导教师: 设计时间: 评阅意见:评定成绩:指导老师签名:年 月 日目 录一、系统描述21、需要实现的功能32、设计...
  • C++学生信息管理系统

    万次阅读 多人点赞 2019-11-06 11:20:30
    我大一时,使用C++写了一个简单的学生管理系统,主要是为了完成老师布置的课程设计。现在又快到那个验收课程设计的时候了,现在分享给大家。如果你要的是用C写的代码,这个也是可以参考的,你可以自己进行修改成C的...
  • 数据结构实现学生信息管理系统功能

    万次阅读 多人点赞 2019-01-22 20:25:22
    学生信息管理系统 1、 学生信息录入:主要是录入学生班级信息和学生基本情况; 2、 学生信息查询:按指定系检索该系的学生信息,其中包括所有的学生信息; 3、 学生信息维护:维护学生、系别、课程、学生选课及...
  • 基于PHP学生信息管理系统设计系统设计(MySQL)(含录像)(毕业论文10000字,程序代码,MySQL数据库)系统功能设计学生信息管理系统是一个完整的学校学生信息管理系统。在本系统中主要包括用户登陆和注册功能、用户和角色...
  • C语言:学生信息管理系统

    千次阅读 多人点赞 2021-12-10 15:44:06
    学生信息管理系统,说难也难,说简单也简单,对于初学者的我们也算一项不小的挑战了,对于这个系统,它的功能等等很多,所以我们需要有一个大概的思路,来让我们更好的完成它。 1、流程图 2、代码 根据这
  • C语言:学生信息管理系统(详解+源码)

    万次阅读 多人点赞 2020-05-30 21:56:40
    /* 主要方式 :结构体、链表和文件读取结合 功能模块 : 1、用户界面,给予用户更好的视觉体验 2、录入信息,通过链表开辟内存空间进行录入学生的基本信息 ... 7、查询信息,按照学号查询指定学生信息
  • python简易学生信息管理系统

    千次阅读 多人点赞 2019-09-14 13:02:15
    主要讲解使用python开发一个简易学生信息管理系统
  • 学生信息管理系统模板(静态页面)

    千次下载 热门讨论 2015-03-18 14:57:56
    一个很好的学生信息管理系统模板(静态页面)非常好的一个资源 是一个模板,可以自己改为自己想要的页面、功能 内容如下: 个人中心 --我的信息 --班级信息 --短信息 --学院通知 教务中心 --我的报考 --我的成绩 --...
  • Python学生信息管理系统的开发

    千次阅读 2020-11-29 20:15:17
    # 第一题:设计一个全局变量,来保存很多个学生信息;学生(学号, 姓名,年龄);思考要用怎样的结构来保存;# 第二题:在第一题基础上,完成:让用户输入一个新的学生信息(学号,姓名,年龄);你将其保存在全局...
  • 学生信息管理系统——C语言版

    万次阅读 多人点赞 2019-04-06 18:07:13
    1)查询学生信息 2)添加学生信息 3)修改学生信息 4)删除学生信息 5)刷新学生信息 6)保存学生信息 7)输出当前学生信息 2.题目要求: 1)使用结构体建立学生信息体制 2)实现七大基本功能 3)采用文件存储学生...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 117,136
精华内容 46,854
关键字:

学生信息管理系统功能介绍