精华内容
下载资源
问答
  • 学生管理系统实现的功能
    万次阅读 多人点赞
    2019-07-08 13:20:47

    标题Python实现学生管理系统

    • 功能描述
    • 1.分为两个界面:(1)登录和注册界面 (2)学生管理系统界面
      2.登录功能和之前发布的图书管理系统相同,登录成功后可进入学生管理系统界面,这里不再叙述
      3.系统功能(1)添加学生信息(2)删除学生信息(3)修改学生信息(4)查询学生信息(5)显示所有学生信息(6)退出
      4.有很多地方增加了优化,也进行了完善,如模块导入、登录注册以及回车不修改等功能。整个程序代码大概200行。

    注意:代码分为两个模块,需要在student_main模块中启动。student_main模块中只负责输入操作,而student_tools模块中负责具体的学生信息系统操作实现功能。所以大家在拷贝代码的时候记得创建两个.py文件。

    • 完整代码如下:

    student_main模块内容代码:

    import student_tools
    
    user=['wangtaotao']
    pwd=['123456']
    
    #登录
    def denglu():
        users = input("请输入您的用户名:")
        pwds = input("请输入您的密码:")
        if users in user and pwds in pwd:
            student()
        else:
            print("账号或密码不正确,请重新输入")
    
    #注册
    def zhuce():
        users=input("请输入您要注册的用户名:")
        pwds=input("请输入您要注册的密码:")
        user.append(users)
        pwd.append(pwds)
        print()
        print("注册成功!")
        print()
    
    #登录界面
    def dljiemian():
    
        while True:
            print("---------------------------")
            print("    学生管理系统登陆界面 V1.0  ")
            print("                           ")
            print("        1:登   录           ")
            print("        2:注   册           ")
            print("        3:退   出           ")
            print("                           ")
            print("---------------------------")
            xx=input("请输入您的选择:")
            #1.登录
            if xx=='1':
                denglu()
            elif xx=='2':
            #2.注册
                zhuce()
            elif xx=='3':
            #3.退出
                print()
                print("成功退出!")
                print()
                break
            else:
                print("输入错误,请重新输入")
    #学生管理系统
    def student():
        while True:
            #调用student_tools模块中的界面函数
            student_tools.jiemian()
            x=input("请输入您的选择:")
            #添加学生
            if x=='1':
                student_tools.add()
            #删除学生
            elif x=='2':
                student_tools.dele()
            #修改学生
            elif x=='3':
                student_tools.xiugai()
            #查询学生
            elif x=='4':
                student_tools.find()
            #显示所有学生
            elif x=='5':
                student_tools.showall()
            #退出学生管理系统,返回上一层登录界面系统
            elif x=='6':
                print()
                print("成功退出学生管理系统!")
                break
            else:
                print()
                print("输入错误,请重新输入")
                print()
    
    #调用最先执行的登录界面函数
    dljiemian()
    

    student_tools模块内容代码:

    student_list=[]
    
    student_dict={}
    
    #学生管理系统界面
    def jiemian():
        print("---------------------------")
        print("      学生管理系统 V1.0")
        print("                           ")
        print("      1:添加学生"            )
        print("      2:删除学生"            )
        print("      3:修改学生"            )
        print("      4:查询学生"            )
        print("      5:显示所有学生"         )
        print("      6:退出系统"            )
        print("                           ")
        print("---------------------------")
    
    
    #添加学生
    def add():
        name=input("请输入录入学生姓名:")
        cls=input("请输入学生班级:")
        age=input("请输入录入学生年龄:")
        phone=input("请输入录入学生手机号:")
        addr=input("请输入录入学生家庭住址:")
    
        student_dict={"name":name,"class":cls,"age":age,"phone":phone,"address":addr}
    
        student_list.append(student_dict)
        print()
        print("-----添加学生信息界面-----")
        print()
        print("姓名\t\t","班级\t\t","年龄\t\t","电话号\t\t","家庭住址\t\t")
        for student_dict_1 in student_list:
            print("%s\t\t%s\t\t%s\t\t%s\t\t%s" %(student_dict_1["name"],
                                                 student_dict_1["class"],
                                                 student_dict_1["age"],
                                                 student_dict_1["phone"],
                                                 student_dict_1["address"]))
        print()
        print("录入成功!")
        print()
    
    #删除学生
    def dele():
        name_del=input("请输入想要删除的学生姓名:")
        for student_dict_1 in student_list:
            if name_del in student_dict_1["name"]:
                student_list.remove(student_dict_1)
                print()
                print("删除%s信息成功!" % name_del)
                print()
                break
        else:
            print()
            print("您输入的学生姓名错误,请重新输入")
            print()
    #修改学生
    def xiugai():
        name_xiugai=input("请输入想要修改的学生姓名:")
    
    
        for student_dict_1 in student_list:
    
            if name_xiugai == student_dict_1["name"]:
                print()
                print("-----修改界面-----")
                print()
                print("姓名\t\t", "班级\t\t", "年龄\t\t", "电话号\t\t", "家庭住址\t\t")
                print("%s\t\t%s\t\t%s\t\t%s\t\t%s" %(student_dict_1["name"],
                                                     student_dict_1["class"],
                                                     student_dict_1["age"],
                                                     student_dict_1["phone"],
                                                     student_dict_1["address"]))
                #回车不修改
    
                student_dict_1["name"]=new_input(student_dict_1["name"],"请输入修改后的学生姓名[回车不修改]:")
                student_dict_1["class"]=new_input(student_dict_1["class"],"请输入修改后的学生班级[回车不修改]:")
                student_dict_1["age"]=new_input(student_dict_1["age"],"请输入修改后的学生年龄[回车不修改]:")
                student_dict_1["phone"]=new_input(student_dict_1["phone"],"请输入修改后的学生手机号[回车不修改]:")
                student_dict_1["address"]=new_input(student_dict_1["address"],"请输入修改后的学生家庭地址[回车不修改]:")
                print()
                print("修改成功!")
                print()
                break
        else:
            print()
            print("您输入的学生姓名错误,请重新输入")
            print()
    
    #查找学生
    def find():
        find_name=input("请输入需要查找的学生姓名:")
        for student_dict_1 in student_list:
    
            if find_name == student_dict_1["name"]:
                print()
                print("-----查询结果界面-----")
                print()
                print("姓名\t\t", "班级\t\t", "年龄\t\t", "电话号\t\t", "家庭住址\t\t")
                print("%s\t\t%s\t\t%s\t\t%s\t\t%s" % (student_dict_1["name"],
                                                      student_dict_1["class"],
                                                      student_dict_1["age"],
                                                      student_dict_1["phone"],
                                                      student_dict_1["address"]))
            else:
                print()
                print("-----查询结果界面-----")
                print()
                print("无此学生信息")
    
    #显示所有学生信息
    def showall():
        print()
        print("-----显示所有学生信息-----")
        print()
        print("姓名\t\t", "班级\t\t", "年龄\t\t", "电话号\t\t", "家庭住址\t\t")
        for student_dict_1 in student_list:
            print(student_dict_1)
            print("%s\t\t%s\t\t%s\t\t%s\t\t%s" % (student_dict_1["name"],
                                                  student_dict_1["class"],
                                                  student_dict_1["age"],
                                                  student_dict_1["phone"],
                                                  student_dict_1["address"]))
    #设置用户不输入内容返回原值,输入内容返回新内容
    def new_input(yuanzhi,message):
        input_str=input(message)
    
        if len(input_str)>0:
            return input_str
        else:
            return yuanzhi
    
    
    更多相关内容
  • 学生管理系统(软件工程)

    千次阅读 2022-01-19 13:51:41
    学生管理系统(软件工程)


    目 录)

    第1章选题背景、目的意义和国内外研究现状总结

    1.1背景

    随着高校规模的不断扩大,港澳台学生、华侨学生、外国留学生、少数民族学生数量也急剧增加,有关学生的各种信息量也成倍增长,各类学生的统计分析工作也越来越困难,面对如此繁杂的工作,为了能够为高校学生信息管理提供一种更加高效实用的管理手段,为学生信息的存储、计算、统计、分析、交流提供一种更加安全快捷的信息平台,并且能够减少大量的人工操作,以及在人工操作中由于人为因素而引起的数据错误,保证学生信息数据的安全性和完整性,使学生管理人员能够轻松,正确无误地完成各项工作,为学生管理工作服务。

    1.2意义

    (1)保证信息的准确性和时效性,随时通过计算机对系统进行管理,使得学生信息处于最新状态,保证统计数据和分析的准确。
    (2)减轻劳动强度、提高工作效率、增加学生管理的透明度。高校学生管理信息系统可以发挥计算机的强大功能,让管理人员从大量繁琐的手工劳动中解放出来,将单调枯燥的纸张涂写变成灵活的电子信息操作。并充分利用网络优势,加快学校内部学生信息和文档的发布、传送和获取,改善和优化学生工作,使各个部门之间的工作联系紧密、井然有序、清楚明晰,大大减轻工作负担,提高工作效率,增加学生管理的透明度。
    (3)降低管理成本,由于采用本系统的原因,使辅导员管理工作一改往日埋在各种表格中的被动局面,基本实现了无纸化办公,根除了很多日常管理中的浪费现象,体现出现代化学生管理的优势。
    (4)规范化管理,由于采用了计算机统计分析学生信息,一些原始信息在录入时就必须要求准确录入,这就要求管理人员在提供信息时要准确,同时要求在录入时也要十分认真,这样做是为了将错误降到最低,提高系统工作的准确率,从而实现学生管理工作规范化。。
    1.3国内外研究现状
    学生管理是各大学的主要日常管理工作之一,涉及到校、系、师、生的诸多方面,随着教学体制的不断改革,尤其是学分制、选课制的展开和深入,学生成绩日常管理工作及保存管理日趋繁重、复杂。迫切需要研制开发一款功能强大,操作简单,具有人性化的学生成绩管理系统。
    在国外高校,与国内不同,他们一般具有较大规模的稳定的技术队伍来提供服务与技术支持。而国内高校信息化建设相对起步较晚。在数字校园理论逐步应用的过程中,各高校一方面不断投资购建各种硬件、系统软件和网络,另一方面也不断开发实施了各类教学、科研、办公管理等应用系统,形成了一定规模的信息化建设体系。但是,由于整体信息化程度相对落后,经费短缺,理论体系不健全等原因,国内高校教务管理系统在机构设置、服务范围、服务质量及人员要求上与国外高校相比都有一定的差距。
    纵观目前国内研究现状,在安全性和信息更新化方面存在有一定的不足,各现有系统资料单独建立,共享性差;在以管理者为主体的方式中,信息取舍依赖管理者对于信息的认知与喜好,较不容易掌握用户真正的需求,也因此无法完全满足用户的需求。因此,教务管理软件应充分依托校园网,实现教务信息的集中管理、分散操作、信息共享,使传统的教务管理朝数字化、无纸化、智能化、综合化的方向发展,并为进一步实现完善的计算机教务管理系统和全校信息系统打下良好的基础。

    第2章可行性研究

    2.1编写目的

    可行性研究的目的是为了对问题进行研究,以最小的代价在最短的时间爱确定问题是否可解。经过对此项目进行详细调查研究,初拟系统实现报告,对软件开发中将要面临的问题及其解决方案进行初步设计及合理安排。明确开发风险及其所带来的经济效益。

    2.2项目背景

    开发软件名称:学生管理系统。
    软件适应学科:软件工程
    软件开发环境: sqlserver2019 Windows10

    2.3定义

    SQL SERVER 系统服务器所使用的数据库管理系统(DBMS)
    SQL SERVER 是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统。
    数据流图 简称DFD,就是采用图形方式来表达系统的逻辑功能、数据在
    系统内部的逻辑流向和逻辑变换过程,是结构化系统分析方法的主要表达工具及用于表示软件模型的一种图示方法。
    E-R图 为实体-联系图,提供了表示实体型、属性和联系的方法,用来描述现实世界的概念模型。
    数据字典 (Data dictionary)是一种用户可以访问的记录数据库和应用
    程序元数据的目录。主动数据字典是指在对数据库或应用程序结构进行修改时,其内容可以由DBMS自动更新的数据字典。被动数据字典是指修改时必须手工更新其内容的数据字典。

    2.4可行性分析的前提

    2.4.1要求

    (l)主要功能:学生信息管理系统的主要功能为:用户管理、学生信息管理、学生成绩管理和信息查询。
    

    数据更新功能分为三部分:学生相关信息的添加、删除和修改。数据添加功能提供便捷的录入界面,通过应用程序将学生数据添加到数据库中。数据删除功能将不满足要求的相相关记录从数据库中删除数据修改功能允许管理员对他所指定记录的相关信息进行修改。
    数据查询功能允许管理员进行三种方式的查询:记录浏览(不构造任何查询条件)、条件查询和关联查询。记录浏览功能可以方便快捷地浏览全部记录。条件查询允许用户构造各种组合条件来查询所需信息。关联查询功能允许用户可以看到所查询用户的同班、同系或者同课用户。密码管理功能允许用户对密码进行修改。

    (2)性能要求
    方便快捷有效地完成学生信息管理的各项工作,录入数据合法性的校验程度高,数据查询速度快,能够快速的对学生信息进行管理。
    (3)系统的输入、输出
    输入:学生的个人信息。
    输出:所要查询的所有学生的信息。
    (4)安全和保密要求
    用户只能以管理员的身份进入系统后,才可以对学生相关信息进行查询及修改,安全和保密行高!

    2.4.2目标

    系统实现后,可以减少人力资源的浪费,使得教学部门可以对学生成绩进行汇总及统计来对学生的状况进行准确评估。 
    

    2.4.3决定可行性的主要因素

     成本/效益分析结果,效益>成本。 
    

    技术可行,现有技术可完全承担开发任务。
    操作可行,软件能被原有工作人员快速接受

    2.5.可行性分析

    2.5.1技术可行性分析

    利用个人电脑中端进行编译,将完成的代码进行运行,并把相应的数据库进行连接,使输入的数据能够及时储存到数据库内,并在需要时调出进行修改。以上内容均可通过数据库等软件实现,理论上可行。
    

    2.5.2经济可行性分析

    现在,计算机的价格已经十分低廉,性能却有了长足的进步。而本系统的开发,
    

    为学校的工作效率带来了一个质的飞跃,为此主要表现有以下几个方面:
    第一,本系统的运行可以代替人工进行许多繁杂的劳动;
    第二,本系统的运行可以节省许多资源;
    第三,本系统的运行可以大大的提高学校的工作效率;
    第四,本系统可以使敏感文档更加安全,可靠。
    所以,本系统在经济上是可行的。

    2.5.3运行可行性分析

    使用本软件人员不需要有很多计算机基础,只要能基本懂得计算机软件的使用方法即可。
    

    2.5.4社会可行性分析

    (l)法律方面的可行性
    本系统纯为私人设计,在开发过程中没有涉及合同、责任等与法律相抵触的方面。因此,本系统在法律上是可行的。
    (2)使用方面的可行性
    由于使用本系统可以减少大量的工作和经济费用,新系统界面友好、使用简捷方便,有一定计算机基础的人都可以进行使用。

    2.5.5开发方案可行性分析

    (l)所建议系统运行寿命的最小值,系统运行寿命的最小值应达5年。
    (2)进行系统方案选择比较的时间,系统方案选择比较的时间为一个月。
    (3)经费、投资方面的来源,经费主要来源于教学经费。
    (4)软件环境:中文 Windows7 window10 window11,SQL server数据库

    2. 6可行性分析结论

    结论意见:经上述可行性分析,系统研制和开发可以立即开始进行。

    第3章需求分析

    需求分析是一组活动的总称,作为系统分析员,必须协同软件用户共同完成。而需求分析的任务是定义待开发的软件的功能、性能等指标。首先要了解用户的相关事务。在这个过程中,可以提出自己有建设性的想法和建议,只有这样,用户和系统设计人员才会在系统提供的事务上达成一致,这对于软件来说是相当重要的。其次要分析用户的事务流程,前面了解的用户事务只是一些离散的事务活动,而事务流程是一种重要的信息,比如用户登录这个流程,他需要经历用户名和密码的输入,正确用户类型的选择这些活动,然后将了解到的用户活动加以整理并按照这些活动所固有的次序形成业务流程。还要了解用户对软件的期望值,除了需要能够正确处理用户的事务外,还需要了解用户对系统的其他需求,比如系统的安全性。这些对于用户而言也显得尤为重要。最后整理出用户需求并评审需求。

    3.1系统任务描述

    系统模块的设计应该遵循整个系统总体设计思路,基于JAVA开发工具与数据库SQL设计,主要完成的设计如下

    3.1.1系统目标

    根据查询条件实现学生成绩的查询
    学生成绩信息的添加、修改、删除。

    3.1.2系统设计与功能分析

    学生成绩管理系统,可用于学校等机构的学生成绩信息管理,查询,更新与维护,使用方便,易用性强,图形界面清晰明了。该软件用java语言编写,用SQLServer2005数据库作为后台的数据库进行信息的存储,用SQL语句完成学生成绩的查询、录入,修改,删除等。用JDBC驱动实现前台Java与后台SQL数据库的连接。Java语言跨平台性强,可以在windows,linux,ubuntu等系统下使用,方便简单,安全性好。SQLServer2005数据库高效安全,两者结合可相互利用各自的优势。
    该系统实现的大致功能:
    (1)用户登陆界面。该界面可以选择使用者的身份,“管理员,学生”。不同的身份有不同的操作界面和功能权限。ID号和密码输入正确即可登录。
    管理员管理界面。拥有最高的权限。允许添加、修改、删除、查询学生成绩。
    (3)学生登录界面。学生只能对自己成绩进行查询操作。
    (4)登录的用户信息分别存储在SQL数据库的“管理员登录表”“学生登录表”中,如果用户信息不存在这两张表中,将会无权利登录本管理系统。保证了本管理系统的安全性。

    3.1.3性能需求分析

    登录、用户界面需求:简洁、易懂、易用、友好的用户界面。
    安全保密性需求:只有凭借用户名和密码登陆系统,才能进行信息的管理等。

    3.2系统概要设计

    顶层数据流图:
    在这里插入图片描述

    图3-1 学生管理系统顶层数据流图
    一层数据流图:
    在这里插入图片描述

    图3-2 学生管理系统一层数据流图

    3.2.1功能需求

    (1)对学生成绩进行添加、修改、删除、查询等操作。
    (2)统计所有及格的学生成绩。
    (3)统计所有不及格的学生成绩。

    3.3系统详细设计

    3.3.1概念结构设计

    在这里插入图片描述

    图3-3总E-R设计
    3.3.2逻辑结构设计
    表结构:
    管理员表:ManagerLogin(user,password)
    学生登录表:StudentLogin(Sno,user,password)
    学生成绩表:StudentScore(Sno,Sname,Subject,Score)

    第4章总体设计

    4.1设计概述

    根据需求把整个系统分化成不同的模块,每个模块完成一个特定的子功能。把这些模块结合起来组成一个整体。逐一实现各个功能;

    4.2系统总体结构及功能模块划分

    4.2.1系统功能设计

    经过对系统的需求分析,学生成绩管理系统主要划分为两个部分:学生成绩查询和学生成绩管理。
    在这里插入图片描述

    图4-1 学生成绩管理系统
    在这里插入图片描述

    图4-2 学生成绩查询模块
    在这里插入图片描述

    图4-3 学生成绩管理模块
    在这里插入图片描述

    图4-4系统功能总设计

    4.2.2实体及属性的定义

    表4-1 系部表信息表dept的表结构

    主码 列名 数据类型 宽度 小数位 空否 备注
    Pk dname Char 20 N 系名
    dphone Char 20 Y 电话
    teachernum Char 2 Y 教师号
    teachername Char Y 教师姓名

    表4-2 学生信息表Student的表结构
    主码 列名 数据类型 宽度 小数位 空否 备注
    Pk sno Char 10 N 学号
    sname Char 20 N 姓名
    ssex Char 2 Y 性别
    sage tinyint Y 年龄
    sdept Char 20 Y 所在系

    表4-3 课程信息表Course的表结构
    主码 列名 数据类型 宽度 小数位 空否 备注
    Pk cno Char 10 Y 课程号
    cname Char 24 N 课程名
    cdept char 20 N 课程所属系
    ccredit tinyint 1 N 学分

    表4-4 教师teacher的表结构
    主码 列名 数据类型 宽度 小数位 空否 备注
    Pk tno Char 10 Y 教师号
    tname Char 20 N 教师姓名
    tsex Char 2 N 性别
    ttitle Char 30 N 职称
    tdept Char 20 N 所在系

    表4-5 选课成绩表s_course的表结构
    主码 列名 数据类型 宽度 小数位 空否 备注
    Pk sno Char 10 Y 学生学号
    sname Char 20 N 学生姓名
    cno Char 10 N 所选课程号
    cname Char 24 N 所选课程名
    cgrade tinyint N 所选课程成绩

    表4-6 教师授课表t_course的表结构
    主码 列名 数据类型 宽度 小数位 空否 备注
    Pk tno Char 10 Y 教师号
    tname Char 20 N 教师姓名
    cno Char 10 N 所授课程号
    cname Char 24 N 所选课程名
    ccredit tinyint N 所授课学分

    4.3安全保密设计

    4.3.1 用户登录安全性

    系统设计了登录界面,每个合法用户有用户名及一个密码,只有当用户输入正确的用户名及密码组合后才能够对学生信息进行操作。

    第5章详细设计

    5.1概述

    详细设计阶段的根本目标是确定应该怎样具体的实现所要求的系统,也就是说,经过这个阶段的设计工作,应该得出目标系统的精确描述,从而在编码阶段可以把这个描述直接翻译成用某种程序设计语言书写的程序。

    5.2 系统程序流程图

    程序流程图的优点是直观清晰,易学习掌握
    在这里插入图片描述

    图5-1 系统流程图

    第6章设计心得体会

    1.开发方案可行性分析理解不准确,导致频频出错,经过对课本41页的开发方案的可行性分析概念的反复理解,写出了开发方案可行性的具体内容
    2.一层数据流图的绘制,对数据流图的基本图形理解不够,导致重复返工,多次学习课表P72页,P74页一层数据流图,在多次查阅网上资料后终于绘制出一层数据流图
    3.在画问题分析图的过程中因为对画图软件的不熟练,里面的结构模型每次都是自己手动绘制,导致把时间浪费在修改上,经过在网上对软件的学习后,更快更高效的画出了问题分析图

    在经过这一周课程设计,对整个软件开发有了整体认知,对数据流图的绘制方法也更加熟练,也学会了盒图,PAD图的绘制方法,对整个软件的开发阶段的各阶段所需要做的工作认知更加明确。

    展开全文
  • 一、题目: 用文件实现学生成绩管理系统 二、目的 学生通过本次实验编程实现一个班级学生成绩的管理,使学生了解文件的主要操作(创建、读、写、增加和删除记录等)。 三、内容和要求 1、编写一个学生成绩管理的...
  • c#实现简单学生信息管理系统

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

    一、运行环境windows,使用vs编译软件
    在这里插入图片描述
    二、主要功能
    登录、添加学生信息、修改学生信息、删除学生信息、查询学生信息
    三、实现步骤
    1、登陆界面功能实现
    老规矩,先贴下主要代码:

    		//构造方法
    		public Login()
            {
                InitializeComponent();
                this.label3.Parent = this;
                this.label1.BackColor = Color.Transparent;
                this.label2.BackColor = Color.Transparent;
                this.label3.BackColor = Color.Transparent;
                this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None;
            }
            //对登录按钮的事件实现代码
            private void button1_Click(object sender, EventArgs e)
            {
                string ss = ConfigurationManager.ConnectionStrings["Stu"].ToString();
                SqlConnection conn = new SqlConnection(ss);
                try
                {
                     //开启连接           
                     conn.Open();           
                    // MessageBox.Show("数据库连接成功!");           
                }
                catch (Exception)
                {
                     //MessageBox.Show("数据库连接失败!");
                }         
                String uname = txtName.Text.Trim();
                string pword = txtPass.Text.Trim();
                if(uname == ""|| pword == "")
                {
                    MessageBox.Show("请输入用户名或密码!");
                    return;
                }
                else
                {
                    SqlCommand cmd = conn.CreateCommand();
                    SqlDataAdapter adp = new SqlDataAdapter();
                    string sql2 = "select * from account where name='"+ uname + " 'and pass='" + pword + " ' ";
                    cmd.CommandText = sql2;
                    adp.SelectCommand = cmd;
                    DataSet dat = new DataSet();
                    adp.Fill(dat, "account");
                    if(dat.Tables["account"].Rows.Count == 0)
                    {
                        MessageBox.Show("用户名或密码错误!");
                        return;
                    }
                    else
                    {
                        Form1.isLogin = true;
                        Form1.username = this.txtName.Text;
                        this.Close();
                    }
                    cmd.Clone();
                }
                conn.Close();
               
            }
            //实现按ESC键关闭该窗口
            protected override bool ProcessCmdKey(ref System.Windows.Forms.Message msg, System.Windows.Forms.Keys keyData)
            {
                switch (keyData)
                {
                    case Keys.Escape:
                        this.Close();//esc关闭窗体
                        break;
                }
                return false;
            }
            //重置按钮清空文本框
            private void button2_Click(object sender, EventArgs e)
            {
                txtName.Text = "";
                txtPass.Text = "";
            }     
            //密码输入完成后实现敲击enter键触发登录按钮
            private void txtPass_KeyDown(object sender, KeyEventArgs e)
            {
                if(e.KeyCode == Keys.Enter)
                {
                    this.button1_Click(sender, e);
                }
            }
    		//实现按enter键使焦点转移到下一文本框,与tab键通用
            private void txtName_KeyPress(object sender, KeyPressEventArgs e)
            {
                if (e.KeyChar == (char)Keys.Enter)
                {
                    SendKeys.Send("{tab}");
                }
            }
    

    效果如下图:
    在这里插入图片描述
    2、主界面功能实现
    主要代码如下:

    		public static bool isLogin = false;
            int id;
            SqlConnection conn;
            SqlCommand cmd;
            SqlDataAdapter adp;
            DataSet dat;
            public static string username
            {
                get;
                set;
            }
            public Form1()
            {
                InitializeComponent();
                this.label1.BackColor = Color.Transparent;
                this.groupBox1.BackColor = Color.Transparent;
                this.groupBox2.BackColor = Color.Transparent;
                this.dataGridView1.BorderStyle = BorderStyle.None;
                this.dataGridView1.CellBorderStyle = DataGridViewCellBorderStyle.None;
                
                this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None;
                this.Text += "| 管理员:" + username;
                string ss = ConfigurationManager.ConnectionStrings["Stu"].ToString();
                //建立数据库连接
                conn = new SqlConnection(ss);
                try
                {
                    //开启连接           
                    conn.Open();
                    // MessageBox.Show("数据库连接成功!");           
                }
                catch (Exception)
                {
                    MessageBox.Show("数据库连接失败!");
                }
                
            }
    
            private void Form1_Load(object sender, EventArgs e)
            {
                DataGridViewDataLoad();
                
                //this.stu_dentTableAdapter.Fill(this.students.Stu_dent);
    
            }
    
            private void DataGridViewDataLoad()
            {
                String sql1 = "select * from Stu_dent";
                adp = new SqlDataAdapter(sql1,conn);
                dat = new DataSet();
                adp.Fill(dat);
                dataGridView1.DataSource = dat.Tables[0];
            }
    
            private void button5_Click(object sender, EventArgs e)
            {
                string num = textBox1.Text.Trim();
                string name = textBox2.Text.Trim();
                String sql4 = "Select * from Stu_dent where 1=1";
                if(!String.IsNullOrEmpty(num))
                {
                    sql4 += " and StuNum=" + num;
                }
                if(!String.IsNullOrEmpty(name))
                {
                    sql4 += " and StuName like '%" + name + "%'";
                }
                adp = new SqlDataAdapter(sql4, conn);
                dat = new DataSet();
                adp.Fill(dat);
                dataGridView1.DataSource = dat.Tables[0];
                
            }
            protected override bool ProcessCmdKey(ref System.Windows.Forms.Message msg, System.Windows.Forms.Keys keyData)
            {
                switch (keyData)
                {
                    case Keys.Escape:
                        this.Close();//esc关闭窗体
                        break;
                }
                return false;
            }
            private void button1_Click(object sender, EventArgs e)
            {
                AddStudent addStudent = new AddStudent();
                addStudent.StartPosition = FormStartPosition.CenterScreen;
                //addStudent.Show();
                addStudent.ShowDialog();
                DataGridViewDataLoad();
            }
    
            private void button4_Click(object sender, EventArgs e)
            {
                this.Close();
            }
    
            private void button2_Click(object sender, EventArgs e)
            {
                MessageBox.Show("请在学生信息显示框中双击所要删除学生所在的那一行即可!!!","提示");
            }
            private void button3_Click(object sender, EventArgs e)
            {
                MessageBox.Show("请在学生信息显示框中单击所要删修改学生所在的那一行的任意文字区域即可!", "提示");
            }
            private void dataGridView1_CellDoubleClick(object sender, DataGridViewCellEventArgs e)
            {
                DialogResult result = MessageBox.Show("确定删除该学生信息?", "删除", MessageBoxButtons.OKCancel);
                if(result == DialogResult.OK)
                {
                    id = Convert.ToInt32(dataGridView1.Rows[e.RowIndex].Cells[0].Value);
                    Console.WriteLine(id);
                    string sql2 = "delete from Stu_dent where ID=" + id;
                    cmd = new SqlCommand(sql2, conn);
                    cmd.ExecuteNonQuery();
    
                }
                DataGridViewDataLoad();
            }
    
            private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e)
            {
                id = Convert.ToInt32(this.dataGridView1.Rows[e.RowIndex].Cells[0].Value);
                UpdateStudent updatestudent = new UpdateStudent(id);
                updatestudent.StartPosition = FormStartPosition.CenterScreen;
                updatestudent.ShowDialog();
                DataGridViewDataLoad();
            }
    

    效果如下:
    在这里插入图片描述
    3、添加学生信息功能实现
    主要代码如下:

    public AddStudent()
            {
                InitializeComponent();
                this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None;
                string ss = ConfigurationManager.ConnectionStrings["Stu"].ToString();
                //建立数据库连接
                conn = new SqlConnection(ss);
                try
                {
                    //开启连接           
                    conn.Open();
                    // MessageBox.Show("数据库连接成功!");           
                }
                catch (Exception)
                {
                    MessageBox.Show("数据库连接失败!");
                }
    
            }
    
            private void AddStudent_Load(object sender, EventArgs e)
            {
                
            }
    
            private void label1_Click(object sender, EventArgs e)
            {
    
            }
            protected override bool ProcessCmdKey(ref System.Windows.Forms.Message msg, System.Windows.Forms.Keys keyData)
            {
                switch (keyData)
                {
                    case Keys.Escape:
                    this.Close();//esc关闭窗体
                    break;
                }
                return false;
            }
            private void button1_Click(object sender, EventArgs e)
            {
                string StuNum = textBox1.Text.Trim();
                string StuName = textBox2.Text.Trim();
                int StuAge;
                Int32.TryParse(textBox3.Text.Trim(), out StuAge);
                string StuClass = textBox5.Text.Trim();
                string StuPhone = textBox6.Text.Trim();
                string StuSex = radioButton1.Checked ? "男" : "女";
                if (String.IsNullOrEmpty(StuNum))
                {
                    MessageBox.Show("学号不能为空!");
                }
                if (String.IsNullOrEmpty(StuName))
                {
                    MessageBox.Show("姓名不能为空!");
                }
                
                if (String.IsNullOrEmpty(StuClass))
                {
                    MessageBox.Show("班级不能为空!");
                }
                if (String.IsNullOrEmpty(StuPhone))
                {
                    MessageBox.Show("联系方式不能为空!");
                }
                string sql = string.Format("insert into Stu_dent values ('{0}','{1}','{2}','{3}','{4}','{5}')", StuNum, StuName,StuAge,StuSex, StuClass, StuPhone );
                cmd = new SqlCommand(sql, conn);
                int count = cmd.ExecuteNonQuery();
                if (count > 0)
                {
                    MessageBox.Show("添加成功!");
                }
                else
                {
                    MessageBox.Show("添加失败!");
                }
                this.Close();
            }
    

    在这里插入图片描述
    4、删除学生信息功能实现
    在这里采用双击所要删除学生所在的那一行的任意位置即可
    主要代码如下:

    private void dataGridView1_CellDoubleClick(object sender, DataGridViewCellEventArgs e)
            {
                DialogResult result = MessageBox.Show("确定删除该学生信息?", "删除", MessageBoxButtons.OKCancel);
                if(result == DialogResult.OK)
                {
                    id = Convert.ToInt32(dataGridView1.Rows[e.RowIndex].Cells[0].Value);
                    Console.WriteLine(id);
                    string sql2 = "delete from Stu_dent where ID=" + id;
                    cmd = new SqlCommand(sql2, conn);
                    cmd.ExecuteNonQuery();
    
                }
                DataGridViewDataLoad();
            }
    

    效果如下图(双击第一行进行删除):
    删除前:
    在这里插入图片描述
    删除后:
    在这里插入图片描述
    5、修改学生信息功能实现
    在这里采用单击所要修改学生所在行任意文字处即可
    主要代码如下:

    public UpdateStudent(int id)
            {
                this.id = id;
                string ss = ConfigurationManager.ConnectionStrings["Stu"].ToString();
                conn = new SqlConnection(ss);
                try
                {
                    //开启连接           
                    conn.Open();
                    // MessageBox.Show("数据库连接成功!");           
                }
                catch (Exception)
                {
                    MessageBox.Show("数据库连接失败!");
                }
                InitializeComponent();
                this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None;
            }
            protected override bool ProcessCmdKey(ref System.Windows.Forms.Message msg, System.Windows.Forms.Keys keyData)
            {
                switch (keyData)
                {
                    case Keys.Escape:
                        this.Close();//esc关闭窗体
                        break;
                }
                return false;
            }
            private void UpdateStudent_Load(object sender, EventArgs e)
            {
                cmd = conn.CreateCommand();
                string sql1 = "select * from Stu_dent where ID=" + id;
                cmd.CommandText = sql1;
                reader = cmd.ExecuteReader();
                if(reader.HasRows)
                {
                    reader.Read();
                    textBox1.Text = reader.GetString(1);
                    textBox2.Text = reader.GetString(2);
                    textBox3.Text = reader.GetInt32(3).ToString();
                    if(reader.GetString(4) == "男")
                    {
                        this.radioButton2.Checked = true;
                    }
                    else
                    {
                        this.radioButton1.Checked = true;
                    }
                    textBox5.Text = reader.GetString(5);
                    textBox6.Text = reader.GetString(6);
                }
    
                reader.Close();
                
            }
    
            private void button1_Click(object sender, EventArgs e)
            {
                string StuNum = textBox1.Text.Trim();
                string StuName = textBox2.Text.Trim();
                int StuAge;
                Int32.TryParse(textBox3.Text.Trim(), out StuAge);
                string StuClass = textBox5.Text.Trim();
                string StuPhone = textBox6.Text.Trim();
                string StuSex = radioButton1.Checked ? "男" : "女";
                if (String.IsNullOrEmpty(StuName))
                {
                    MessageBox.Show("姓名不能为空!");
                }
    
                if (String.IsNullOrEmpty(StuClass))
                {
                    MessageBox.Show("班级不能为空!");
                }
                if (String.IsNullOrEmpty(StuPhone))
                {
                    MessageBox.Show("联系方式不能为空!");
                }
                string sql = string.Format("update Stu_dent set StuName='{0}',StuAge={1},StuSex='{2}',StuClass='{3}',StuPhone='{4}' where StuNum='{5}'", StuName, StuAge, StuSex, StuClass, StuPhone, StuNum);
                cmd = new SqlCommand(sql, conn);
                int count = cmd.ExecuteNonQuery();
                if (count > 0)
                {
                    MessageBox.Show("修改成功!");
                }
                else
                {
                    MessageBox.Show("修改失败!");
                }
                this.Close();
            }
    
            private void button2_Click(object sender, EventArgs e)
            {
                cmd = conn.CreateCommand();
                string sql1 = "select * from Stu_dent where ID=" + id;
                cmd.CommandText = sql1;
                reader = cmd.ExecuteReader();
                if (reader.HasRows)
                {
                    reader.Read();
                    textBox1.Text = reader.GetString(1);
                    textBox2.Text = reader.GetString(2);
                    textBox3.Text = reader.GetInt32(3).ToString();
                    if (reader.GetString(4) == "男")
                    {
                        this.radioButton2.Checked = true;
                    }
                    else
                    {
                        this.radioButton1.Checked = true;
                    }
                    textBox5.Text = reader.GetString(5);
                    textBox6.Text = reader.GetString(6);
                }
    
                reader.Close();
            }
    

    (在这里将郭某某的专业班级为例)
    修改前:
    在这里插入图片描述
    修改后:
    在这里插入图片描述
    6、查询学生信息功能实现
    查询功能就写了两种查询方式
    主要代码如下:

    private void button5_Click(object sender, EventArgs e)
            {
                string num = textBox1.Text.Trim();
                string name = textBox2.Text.Trim();
                String sql4 = "Select * from Stu_dent where 1=1";
                if(!String.IsNullOrEmpty(num))
                {
                    sql4 += " and StuNum=" + num;
                }
                if(!String.IsNullOrEmpty(name))
                {
                    sql4 += " and StuName like '%" + name + "%'";
                }
                adp = new SqlDataAdapter(sql4, conn);
                dat = new DataSet();
                adp.Fill(dat);
                dataGridView1.DataSource = dat.Tables[0];
                
            }
    

    效果如下:
    按学号查询:
    在这里插入图片描述
    按姓名查询:
    在这里插入图片描述
    总结:这是上完c#课后,自己无聊整着玩的,功能实现简单易懂,比较容易,希望能对你的学习有所帮助。对了,每个窗体的背景图片是我再网上随便找的,你可以选择你喜欢的背景。
    https://download.csdn.net/download/yang_shuai_/12911668

    展开全文
  • javaweb实现学生管理系统

    千次阅读 多人点赞 2021-08-04 21:51:20
    2.功能实现 1.注册 用户输入网址,过滤器进行判断是否登录,没有登录则跳转到登录页面 如果还没有注册,点击注册后跳转到注册页面: 进行注册,如果用户名已经存在,则会提示用户名已存在,如下 换一个用户名重新...

    项目结构:

    56

    1.所用技术:

    jsp+servlet+jdbc+mysql+jquery+bootstrap+ajax

    2.功能实现

    1.注册

    用户输入网址,过滤器进行判断是否登录,没有登录则跳转到登录页面

    如果还没有注册,点击注册后跳转到注册页面:

    45

    进行注册,如果用户名已经存在,则会提示用户名已存在,如下46

    换一个用户名重新注册,注册成功后来到登录页面

    2.登录

    注册成功后来到登录页面:

    47

    如果输入错误的用户名和密码,则登录失败,正确输入后点击登录进入首页

    3.首页

    首页进行分页显示所有学生信息:

    48

    4.条件查询

    例如:我们查询所有学号为1的学生信息,结果会分页显示如下

    image-20210804210957255

    5.添加

    点击添加按钮,跳转到添加页面

    49

    输入完成后,点击添加:

    50

    多一条数据,添加成功

    6.修改

    比如我们需要修改这个鲁班七号的信息(性别修改为女)点击修改按钮后

    默认显示鲁班的所有信息:

    51

    修改完成后,点击修改,成功修改52

    7.删除

    例如我们要删除这个小鲁班,点击删除后,会先进行提示:

    53

    点击确定后,显示删除成功,并完成删除:

    8.退出登录

    退出登录会清除session信息,再次访问需要重新进行登录,点击用户会出现弹窗提示

    54

    点击确定后,页面不能访问,会返回到登录页面。

    展开全文
  • 基于JavaSpringMvc+mybatis实现学生信息管理系统

    万次阅读 多人点赞 2021-10-13 21:40:17
    Java经典基础毕设项目--学生信息管理系统详细设计【附源码】 主要模块设计如下: 使用Shiro权限管理框架,实现登录验证和登录信息的储存,根据不同的登录账户,分发权限角色,对不同页面url进行角色设置。 管理员...
  • python写的学生信息管理系统,GUI界面+mysql数据库,实现了增删改查等基本功能,详情请看我的博客
  • 一直收藏着的管理系统设计报告,受益匪浅,希望也可以帮助到你。 功能分析 本系统面向某高校的所有大学生的基本信息管理,主要分为学生基本信息管理、学生成绩信息管理、学生学籍信息管理和统计报表管理四大部分。...
  • 学生成绩管理系统(java实现

    万次阅读 2021-03-10 03:02:35
    最近在看基础的java教程,发现java很多与...实现功能: 输入学生人数,以及学生考试的科目数,然后依次填入信息,最后输出学生信息,以及总分,平均分,名次;import java.util.*;import java.math.*;import java....
  • C语言实现学生信息管理系统

    万次阅读 多人点赞 2019-04-08 14:40:48
    使用C语言对学生管理系统进行优化
  • java学生成绩管理系统设计与实现

    千次阅读 2021-03-11 13:54:34
    供大家参考,具体内容如下/**@copyright by LzyRapx on 2016/4/12.*@name:java学生成绩管理系统.*@功能:学生相关信息,录入,查询,统计,修改等....*@PS:图形界面的学生管理系统不要求就不做了.*/import java....
  • JavaScript实现简单的学生管理系统实现增删改查 ** 效果图如下(代码放在下面) ** 总效果图 新增学生信息 查看学生信息 ** 修改学生学生信息 ** ** 代码部分 ** html部分 <!DOCTYPE html> <...
  • JSP实现学生管理系统

    千次阅读 2022-01-28 18:13:09
    JSP实现学生管理系统 登录功能 创建一个web项目 在web目录下创建一个index.jsp 在页面中获取会话域中的用户名,获取到了就显示添加和查看功能的超链接,没获取到就显示登录功能 在web目录下创建一个login.jsp。实现...
  • 实现了修改信息功能(单击修改按钮,可以对学生的信息进行修改) 实现了新增功能(可以新增加一个学生的信息,添加到最后边) 实现了删除功能(在复选框中选择几个就删除几个) 实现了全选功能(单击第一个复选框,...
  • 本次毕业设计根据学生在校的基本情况,分析现状各个学校的基本需求情况,进行设计的一款学生成绩管理系统,通过本系统可以方便的管理学校的基本情况,包括院系管理,考试成绩管理等等,基本情况的管理。本次设计包括...
  • 数据结构实现学生信息管理系统功能

    万次阅读 多人点赞 2019-01-22 20:25:22
    学生信息管理系统 1、 学生信息录入:主要是录入学生班级信息和学生基本情况; 2、 学生信息查询:按指定系检索该系的学生信息,其中包括所有的学生信息; 3、 学生信息维护:维护学生、系别、课程、学生选课及...
  • 【Java】集合实现学生管理系统

    千次阅读 2021-11-28 15:02:41
    学生管理系统 运行系统: 提示:欢迎来到学生管理系统 系统列表展示 (1)查看所有学生 封装方法 (2)添加学生 封装方法 (3)删除学生 封装方法 (4)修改学生 封装方法 (5)退出系统 封装方法 操作系统: 进入...
  • 用Java实现简单的学生管理系统

    千次阅读 2021-08-12 20:29:15
    大家好,今天我和大家分享一下用Java中的数组和ArrayList集合分别来实现简单的学生管理系统。过几期,我和大家分享一下用Java和数据库来实现学生管理系统。 一个简单的学生管理系统应该包括:学生对象,对学生对象...
  • 首界面 用户和管理员登录界面相同 管理管理界面
  • Java+MySQL实现学生管理系统

    万次阅读 多人点赞 2019-06-13 15:43:41
    Java+MySQL实现学生管理系统 实现一个学生管理系统,方便老师对学生信息进行统计管理 用户登录功能 学生管理功能 完善界面交互 数据持久可靠 设计思路 使用Java作为开发语言,MySQL作为数据库,Java Swing做图形...
  • 学生宿舍管理系统的设计与实现

    千次阅读 多人点赞 2021-11-16 12:22:34
    基于SSM实现学校宿舍管理系统:主要包含学生管理、宿舍管理、班级管理、宿舍卫生管理、访客管理、收费管理、管理员管理等功能。并能导出各模块数据到EXCEL表中。 MD5加密???? SSM框架???? Layui框架???...
  • 来了来了!这几天Java学了点新的知识,打算要用这些知识做一个比较简单的管理系统,实战一下子...这个程序主要是针对hashmap的应用,以及接口的实现而呈现出来的,还有如何利用增改删除来实现功能。 三.原理解析 在实现
  • 基于C++的学生信息管理系统实现

    千次阅读 多人点赞 2020-07-03 09:37:01
    在完成一学期的C++语言学习之后,写一个学生信息管理系统来丰富自己的实战经验。 课设内容的要求有主菜单模块、输入模块、查询模块、更新模块、排序模块、统计模块和输出模块,并且通过主菜单模块调用各个子模块。 ...
  • C语言实现学生成绩管理系统(EasyX图形界面)

    万次阅读 多人点赞 2021-07-18 19:18:14
    学生成绩管理系统学生成绩管理系统效果图流程&注意要点代码实现 学生成绩管理系统 效果图 流程&注意要点 核心部分——EasyX显示图形界面,结构体数组和文件操作负责对数据进行各种操作。 只要一进去程序就...
  • Python实现学生信息管理系统

    千次阅读 多人点赞 2022-05-05 09:24:17
    用Python实现学生信息管理系统,可以实现增删改查学生信息以及学生排名等操作。
  • 学生管理系统(java实现

    万次阅读 多人点赞 2020-06-08 19:22:59
    学生管理系统 实现如下功能: 添加学生:通过键盘录入学生信息,添加到集合中 删除学生:通过键盘录入需要删除学生的学号,将该学生对象从集合中删除 修改学生:通过键盘录入需要修改学的学号,将该学生对象的其他...
  • 这不仅工作效率低下,而且使得的管理上也极其反映当时的情况,尤其在查询数据时,会相当的繁琐,偶尔可能会存在表单记录丢失的情况,所以,很有必要推出一款便于学生宿舍管理的一套软件。 本系统主要采用spring开发...
  • 实现原理:将学生对象存入集合中(把集合作为临时数据库),然后通过对集合中学生对象进行操作,实现功能。 一、创建学生类(class Student) 二、创建管理系统的接口(interface MangerStore) 管理系统接口中...
  • 1 绪论 3 1.1 项目开发背景 3 1.2 项目开发意义 4 1.3 项目主要的内容 4 2 相关技术介绍及系统环境开发条件 5 2.1相关技术介绍 5 2.2系统环境开发条件 6 3 系统的需求分析与设计 7 ...4系统功能模块实现 1

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 142,765
精华内容 57,106
关键字:

学生管理系统实现的功能