精华内容
下载资源
问答
  • java学生管理系统项目实训报告
    2021-06-19 12:51:52

    RPC概述

    RPC(Remote Procedure Call)即远程过程调用,允许一台计算机调用另一台计算机上的程序得到结果,而代码中不需要做额外的编程,就像在本地调用一样。

    现在互联网应用的量级越来越大,单台计算机的能力有限,需要借助可扩展的计算机集群来完成,分布式的应用可以借助RPC来完成机器之间的调用。

    基于 Servlet 容器的 Web MVC

    身为 Java 开发者,对于 Spring 框架并不陌生。它起源于 2002 年、Rod Johnson 著作《Expert One-on-One J2EE Design and Development》中的 Interface 21 框架,到了 2004 年,推出 Spring 1.0,从 XML 到 3.0 之后,支持 JavaConfig 设定;进一步,在 2014 年时,除了 Spring 4.0 之外,首次发表了Spring Boot,最大的亮点是采用自动组态,令基于 Spring 的快速开发成为可能。

    对 Web 开发者来说,Spring 中的 Web MVC 框架,也一直随着 Spring 而成长,然而由于基于 Servlet 容器,早期被批评不易测试(例如:控制器中包含了 Servlet API)。

    不过,从实操 Controller 介面搭配 XML 设定,到后来的标注搭配 JavaConfig,Web MVC 使用越来越便利。如果愿意,也可采用渐进的方式,将基于 Servlet API 的 Web 应用程序,逐步重构为几乎没有 Servlet API 的存在,在程序代码层面达到屏蔽 Servlet API 的效果。

    由于不少 Java 开发者的 Web 开发经验,都是从 Servlet 容器中累积起来的,在这个时候,Web MVC 框架基于 Servlet API,就会是一项优点。因为,虽然运用 Web MVC 编写程序时,可做到不直接面对 Servlet API,然而,也意味着更强烈地受到 Spring 的约束,有时则是无法在设定或 API 中找到对应方案,有时也因为心智模型还是挂在 Servlet 容器,经验上难以脱离,在搞不出 HttpSession、ServletContext 对应功能时,直接从 HttpSession、ServletContext 下手,毕竟也是个方法。

    编写程序时,就算没用到 Servlet API,Web MVC 基于 Servlet 容器仍是事实,因为,底层还是得借助 Servlet 容器的功能,例如 Spring Security,本质上还是基于 Servlet 容器的 Filter 方案。

    然而在今日,Servlet 被许多开发者视为陈旧、过时技术的象征,或许是因为这样,在 Java EE 8 宣布推出的这段期间,当在某些场合谈及 Servlet 4.0 之时,总会听到有人提出“Web Flux 可以脱离 Servlet 了”之类的建议。

    实现 Reactive Streams 的 Reactor

    Web Flux 不依赖 Servlet 容器是事实,然而,在谈及 Web Flux 之前,我们必须先知道 Reactor 项目,它是由 Pivotal 公司,也就是目前 Spring 的拥有者推出,实现了 Reactive Streams 规范,用来支持 Reactive Programming 的实作品。

    既然是实现了 Reactive Streams 规范,开发者必然会想到的是 RxJava/RxJava 2,或者是 Java 9 的 Flow API。这也意谓着,在能使用 Web Flux 之前,开发者必须对于 Reactive Programming 典范,有所认识。

    开发者这时有疑问了,Spring 为何不直接基于 RxJava 2,而是打造专属的 Reactive Streams 项目呢?

    就技术而言,Reactor 是在 Java 8 的基础上开发,并全面拥抱 Java 8 之后的新 API,像是 Lambda 相关介面、新日期与时间 API 等,这意谓着,项目如果还是基于 Java 7 或更早版本,就无法使用 Reactor。

    在 API 层面,RxJava 2 有着因为历史发展脉络的原因,不得不保留一些令人容易困惑或混淆的型态或操作,而 Reactor 在这方面,都有着明确的对应 API 来取代,然而,却也提供与 RxJava 2(甚至是 Flow API)间的转换。

    另一方面,Reactor 较直觉易用,例如最常介绍的 Mono 与 Flux,实现了 Reactive Streams 的 Publisher界面,并简化了信息发布,让开发者在许多场合,不用处理 Subscriber 和 Subscription 的细节(当然,这些在 Reactor 也予以实现)。而在 Spring Web Flux 中,Mono 与 Flux 也是主要的操作对象。想知道如何使用Mono与Flux,可以参考〈使用 Reactor 进行反应式编程〉

    又一个 Web 框架?

    到了 Spring 5,在 Reactor 的基础上,新增了 Web Flux 作为 Reactive Web 的方案,我们在许多介绍文件的简单示例,例如〈使用 Spring 5 的 WebFlux 开发反应式 Web 应用〉,就看到当中使用了 Flux、Mono 来示范,而且,程序的代码看起来就像是 Spring MVC。

    这是因为 Web Flux 提供了基于 Java 注解的方式,有许多 Web MVC 中使用的标注,也拿来用在 Web Flux 之中,让熟悉 Web MVC 的开发者也容易理解与上手 Web Flux,然而,这不过就是新的 Web 框架吗?

    实际上,当然不是如此。Web Flux 并不依赖 Web MVC,而且它是基于 Reactor,本质属于非同步、非阻断、Reactive Programming 的心智模型,也因此,如果打算将 Web Flux 运行在 Servlet 容器之上,必须是支持 Servlet 3.1 以上,因为才有非阻断输入输出的支持,虽然 Web Flux 的 API 在某些地方,确实提供了阻断的选项,若单纯只是试着将基于 Web MVC 的应用程序,改写为套用 Web Flux,并不会有任何益处,反而会穷于应付如何在 Web Flux 实现对应的方案。

    例如,此时,Spring Security 显然就不能用了,毕竟是 Spring 基于 Servlet 的安全方案,开发者必须想办法套用 Spring Security Reactive;而且,在储存方案上,也不是直接采用 Spring Data,而是 Spring Data Reactive 等。

    就算能套用相关的设定与 API,要能获得 Web Flux 的益处,应用程序中相关的元件,也必须全面检视,重新设计为非阻断、基于 Reactive Programming 方式,这或许才是最困难、麻烦的部份。

    除了基于 Java 注解的方式,让熟悉 Web MVC 的开发者容易理解之外,Web Flux 还提供了基于函数式的设计与组态方式。

    实际上,在运用 RxJava 2/Reacto r等 Reactive Streams 的实操时,我们也都必须熟悉函数式的思考方式,才能充分掌握,这点在 Web Flux 并不例外。

    可以脱离 Servlet 容器了?

    Servlet 容器是个旧时代的象征,如果能够屏蔽 Servlet 容器或相关 API,许多开发者应该都会很开心,可以少一层抽象,不必使用肥肥的 Servlet 容器,当然会是使用 Web Flux 时附带的优点,然而,如果只是为了屏蔽 Servlet,其实,早就有其他技术选择存在。

    基于 Servlet 一路发展过来的 Web MVC,虽然目前在某些地方可以安插一些函数式的设计,然而,本质上不变的部分在于,在技术堆叠中所隐含的,仍是一个基于同步、阻断式、命令式的心智模型。如果在这样的堆叠中,开发者老是因为想要实现非同步、非阻断、Reactive、函数式而感到不快,Web Flux 也许才会是可考虑的方案,而不单只是用来作为脱离 Servlet 容器,Web MVC 的替代品。

    整体而言,Web Flux 还算是新技术,也还有待时间验证可行性,如果只是为了想用 Web Flux 来取代 Web MVC,或者更小一点的野心,只是想要能脱离 Servlet 容器,最好在采取行动之前,全面检视一下,确认自身或团队成员是否准备好接受 Web Flux 的心智模型,或者真的存在着对应的应用场景吧。

    最后

    需要的朋友可以点击:戳这里免费领取

    还有Java核心知识点+全套架构师学习资料和视频+一线大厂面试宝典+面试简历模板可以领取+阿里美团网易腾讯小米爱奇艺快手哔哩哔哩面试题+Spring源码合集+Java架构实战电子书+2021年最新大厂面试题。
    模板可以领取+阿里美团网易腾讯小米爱奇艺快手哔哩哔哩面试题+Spring源码合集+Java架构实战电子书+2021年最新大厂面试题。
    在这里插入图片描述

    更多相关内容
  • 包括总体设计,界面设计,详细设计与实现,系统测试,设计总结等。适合参考模板。
  • 学生实习管理系统需求分析报告 学生实习管理系统需求分析报告学生实习管理系统需求分析报告
  • (1)、学生管理系统 二、项目介绍 (1)、学生管理系统项目介绍 三、实训项目步骤 (1)、学生管理系统 四、项目展示 五、实训总结 一、项目实训 (1)、学生管理系统 二、项目介绍 (1)、学生管理系统...

    目录

    一、项目实训

    (1)、学生管理系统

    二、项目介绍

    (1)、学生管理系统项目介绍

    三、实训项目步骤

    (1)、学生管理系统

    四、项目展示

     五、实训总结


    一、项目实训

    (1)、学生管理系统

    二、项目介绍

    (1)、学生管理系统项目介绍

    1、添加学生与显示学生信息

    2、添加学生信息按钮

    3、删除学生信息

    4、编辑学生信息

    5、提交学生信息

    6、测试显示学生功能

    三、实训项目步骤

    (1)、学生管理系统

    1.创建django项目命名为students

    2.准备静态资源,创建静态目录,在students里创建static目录

    3.创建css目录,在css目录里创建main.css样式(代码截图)

     4.在static里添加layui框架

    5.在static里面创建js目录,然后再js里创建main.js文件

     6.配置数据库信息,在setting.py里配置

    7.配置静态文件 

    8.数据迁移到数据库students里

     

     9.设置数据库链接模块

     10.在控制台执行数据迁移命令,python manage.py migrate

     数据库

     11.添加超级管理员

    在终端输入 python manage.py createsuperuser命令

    12.在ursl里配置主路由

     13.创建index应用在控制台

    在终端输入 python manage.py startapp index创建index应用

    14.在配置文件setting.py里注册index应用

    15.在index的models.py里创建Students模型类

     16.在index的views.py里创建三个视图函数

     17.在主路由文件里导入上述三个视图函数

     18.做数据迁移,生成学生表

    19.查看生成的学生表

      20.修改视图函数在index的views.py里创建init()函数

      21.修改首页视图函数

      22.修改添加学生视图

     

     23.创建框架模板页面在templates里创建frame.html

     

      24.设置静态资源的Django内置标签

     

      25.设置块内容的Django内置标签 

     

     26.在templates里创建index.html

    27.在templates里创建addstudent.html

     28.在templates里创建showstudent.html

    四、项目展示

    (1)、添加学生信息

     

     ​​​​​​​

     

     

    (2)、查看学生信息

     

     

    (3)、删除学生信息

     

     

    (4)、编辑学生信息

     

     

     

     五、实训总结

    实训是一种实践。是理论联系实际应用和巩固所学专业知识的一项重要环节,是培养我们能力和技能的一个重要手段。它对我们学生的动手能力有较大的意义,可以使我们理解软件工程专业在现实生活中的运用,也有助于为以后走向工作岗位打下牢固的基础。通过实训我们可以提前了解社会的需要,加深对社会的理解,缩短我们从一名大学生到一名社会工作人员之间的距离,为我们毕业后社会角色的转变打下基础。通过参加一些实践性活动巩固所学的理论,增长一些书本上学不到的知识和技能。因为知识要转化成真正的能力要依靠实践的经验和锻炼。面对日益严峻的就业形势和日新月异的社会,我觉得大学生应该转变观念,不要简单地把暑期打工作为挣钱或者是积累社会经验的手段,更重要的是借机培养自己的创业和社会实践能力。现在的招聘单位越来越看重大学生的实践和动手能力以及与他人的交际能力。作为一名大学生,只要是自己所能承受的,就应该把握所有的机会,正确衡量自己,充分发挥所长,以便进入社会后可以尽快走上轨道

    学习工作技巧,提高了工作质量没有谁是天生就会,多是现学现卖,一个人的态度决定好坏。在大学里学的是方法,有了好的学习方法,面对新的工作挑战,我们要有足够的能力去应对,去学习,去适应,变得得心应手。在工作中想要有好的发展前景,必须在实践中找到工作技巧,从而提高工作效率和工作质量。而此次的实习正是给我们这个难得的机会,让我们从中受益。

     这次实训时间虽短暂但使我受益匪浅,在实训的过程中遇到了各种问题,好在有同学们以及老师的帮助使我顺利完成了这次任务。

    展开全文
  • Java 实训设计报告 学生管理系统 一项目需求 通过与科信学院教务人员的详细交流目标系统具备以下功能 教师客户端功能 可以更改密码 可以添加学生并要求填写学生基本信息 可以根据学号查询学生基本信息及其成绩 有...
  • PAGE 8 Java学生管理系统 实训报告 学 号 姓 名 班 级 指导老师 项目计划 项目名称学生信息管理系统 实训地点 3小组成员 系统总体设计 1需求分析 学生信息管理系统是对学生的个人信息课程信息成绩信息以信息化的方式...
  • Word Word专业资料 实训报告 实训名称 学生成绩管理系统实训 系部: 软件与艺术学院 专业班级 网络L1301 学生姓名 学 号 13173120102 指导教师 戎小群 完成日期 2015/1/20 南京铁道职业技术学院 TOC \o "1-5" \h \z ...
  • JAVA学生信息管理系统实验报告.doc
  • 学生管理系统实验报告 学 期 2018-2019 课程名称 Java 程序设计实验 实验目的 掌握JDK的安装与环境变量的配置熟练使用 EclipseWindowBulider 插件 navicat 和 MySql 熟练掌握 Java 基础语法与程序结构了解面向对象的...
  • 此课程设计模板包括Java图书管理系统实训报告和基于Javaweb的项目实训报告供大家参考,这是本人当时期末课程设计时花积分买来的,现在免费提供给大家,参考
  • 1.学生成绩管理系统分为三个用户角色,登录界面可以选择三种不同的角色进行登录系统 2.管理员角色登录系统可以有以下功能: 管理考试信息:可以对考试批次信息进行增删改查操作 管理教师信息:可以对教师个人信息...
  • 主要为大家详细介绍了python学生信息管理系统的完整版本代码,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
  • C#应用程序设计 实 训 报 告 系部 信息工程系 班级 12软件班 姓名 陶沪 指导教师 刘春友 实训时间 2013年春季学期 学生成绩管理系统实训报告 一实训名称 C#实训 二实训日期 2013年6月1日2013年6月27日 三实训目的 ...
  • 学生实习管理系统需求分析【实训报告学生实习管理系统需求分析报告学生实习管理系统需求分析报告
  • 一 实验目的 1掌握 PHP基本语法及应用 2 掌握 SESSION和 COOKIE的使用 3 掌握使用 PHP和页面进行交互 4 掌握 PHP图像处理应用 5 掌握 MySQL数据库的使用及使用 PHP操作 MySQL数据库 6 了解系统开发的其他工具及语言 ...
  • java学生管理系统实训报告.pdf
  • java学生管理系统实训报告.doc
  • JAVA数据库学生管理系统实训报告.doc
  • 学生管理系统实训

    2012-12-24 11:18:37
    能够实现对班级学生基本资料的录入,包括学生的学号,姓名,性别,所学专业,家庭住址以及出生年月等。 2).能够实现对学生基本资料的修改。 3).根据学号对学生资料进行查询。 4).能够删除某些学生的资料。
  • 3)学生成绩管理系统  需要处理的基础数据 学生基本信息:如班级、学号、姓名、性别、年龄等。 学生选修课程的基本信息:课程编号、课程名称、学分、考试成绩、平时成绩、综合成绩(考试成绩*0.7+平时成绩*0.3...
  • Python实训报告学生信息管理系统

    千次阅读 2021-12-26 20:21:57
    利用Python完成一个学生信息程序的简单改动,如增加程序、删除程序、查询程序等。 2.思维导图 二、学生信息级组成 1.信息组成 1.学号 2.姓名 3.性别 4.年龄 5.班级 6.专业 7.院校 8.电话号码 2.学生信息 2020001...

    一、程序功能

    1.功能概述

    • 利用Python完成一个学生信息程序的简单改动,如增加程序、删除程序、查询程序等。

    2.思维导图

    在这里插入图片描述

    二、学生信息级组成

    1.信息组成

    1.学号
    2.姓名
    3.性别
    4.年龄
    5.班级
    6.专业
    7.院校
    8.电话号码

    2.学生信息

    1. 2020001 李晓红 女 19 2020级软件4班 软件技术 人工智能与大数据学院 15945465426
    2. 2020002 王晓刚 男 18 2020级软件4班 软件技术 人工智能与大数据学院 13525489644
    3. 2020003 楚梦瑶 女 18 2020级软件4班 软件技术 人工智能与大数据学院 13985465385
    4. 2020004 王航 男 20 2020级数据1班 大数据技术与应用 人工智能与大数据学院 15246922256
    5. 2020005 吴萌 女 17 2020级数据1班 大数据技术与应用 人工智能与大数据学院 13158569699
    6. 2020006 林明 男 18 2020级数据1班 大数据技术与应用 人工智能与大数据学院 13984658158

    3.建立学生信息

    • 在D盘建立一个文档
    • 在这个文档里建立一个记事本
    • 在这个记事本上建立学生信息
      在这里插入图片描述

    三、读取学生文件

    1.用元组的列表保存多个学生信息

    • 编写程序
    # -*- coding: utf-8 -*-
    '''
    功能:用二维列表保存多个学生学生信息
    作者:雾爱
    日期:2021年12月26日
    '''
    student1 = ['2020001','李晓红','女','19','2020级软件4班','软件技术','人工智能与大数据学院','15945465426']
    student2 = ['2020002','王晓刚','男','18','2020级软件4班','软件技术','人工智能与大数据学院','13525489644']
    student3 = ['2020003','楚梦瑶','女','18','2020级软件4班','软件技术','人工智能与大数据学院','13985465385']
    student4 = ['2020004','王航','男','20','2020级数据1班','大数据技术与应用','人工智能与大数据学院','15246922256']
    student5 = ['2020005','吴萌','女','17','2020级数据1班','大数据技术与应用','人工智能与大数据学院','13158569699']
    student6 = ['2020006','林明','男','18','2020级数据1班','大数据技术与应用','人工智能与大数据学院','13984658158']
    
    students = []
    students.append(student1)
    students.append(student2)
    students.append(student3)
    students.append(student4)
    students.append(student5)
    students.append(student6)
    
    for student in students:
        for i in range(8):
            print(student[i],end=' ' )
        print()
    
    • 查看结果
      在这里插入图片描述

    四、格式化输出students列表

    1.程序

    # -*- coding: utf-8 -*-
    '''
    功能:读取学生文件,保存到元祖的列表里
    作者:雾爱
    日期:2021年12月26日
    '''
    # 创建空学生列表
    students = []
    
    # 以只读方式打开文件
    f = open('学生.txt')
    
    # 以行的方式遍历文件对象
    for line in f:
        # 去掉每一行的换行符
        line =line.replace('\n',' ')
        # 以空格作为分隔符拆分每一行
        student = tuple(line.split(' '))
        # 将学生元组添加到学生列表里
        students.append(student)
    # 输出学生列表
    print(students)
    print()
    for student in students:
        for i in range(len(students)):
            print(student[i],end=' ')
        print()
    
    

    2.查看结果

    在这里插入图片描述

    3.注意事项

    • 若路径没有绝对路径则需要将创建好的文件添加到程序目录。
    • 打开文件路径
      在这里插入图片描述
    • 添加文件到目录
      在这里插入图片描述

    五、对学生元组的列表进行增删改查操作

    1.增加学生记录

    • 编写程序
    # -*- coding: utf-8 -*-
    '''
    功能:添加学生元组到列表
    作者:雾爱
    日期:2021年12月26日
    '''
    # 创建空学生列表
    students = []
    
    # 以只读方式打开文件
    f = open('学生.txt')
    
    # 以行的方式遍历文件对象
    for line in f:
        # 去掉每一行的换行符
        line =line.replace('\n',' ')
        # 以空格作为分隔符拆分每一行
        student = tuple(line.split(' '))
        # 将学生元组添加到学生列表里
        students.append(student)
    # 添加一个学生
    new_student = ('2021004','李倩','女','18','2021级软件4班','软件技术','人工智能与大数据学院','13981457665')
    students.append(new_student)
    # 输出之后的学生元组的列表
    for student in students:
        for i in range(len(student)):
            print(student[i],end=' ')
        print()`
    
    • 查看结果

    在这里插入图片描述

    2.查询学生记录

    • 按学号查询
    # -*- coding: utf-8 -*-
    '''
    功能:按学号查询学生记录
    作者:雾爱
    日期:2021年12月26日
    '''
    # 创建空学生列表
    students = []
    
    # 以只读方式打开文件
    f = open('学生.txt')
    
    # 以行的方式遍历文件对象
    for line in f:
        # 去掉每一行的换行符
        line =line.replace('\n',' ')
        # 以空格作为分隔符拆分每一行
        student = tuple(line.split(' '))
        # 将学生元组添加到学生列表里
        students.append(student)
    # 用户从键盘输出学号
    id = input('请输入待查学生的学号:')
    found = False
    for student in students:
        if (student[0] == id):
            found = True
            for i in range(len(student)):
                print(student[i],end=' ')
            break
    if not found:
        print('学号为{[]}的学生没找到!'.format(id))
    
    
    • 第一次查询
      在这里插入图片描述
    • 第二次查询
      在这里插入图片描述
    • 按姓名查询
    # -*- coding: utf-8 -*-
    '''
    功能:按姓名查询学生记录
    作者:雾爱
    日期:2021年12月26日
    '''
    # 创建空学生列表
    students = []
    
    # 以只读方式打开文件
    f = open('学生.txt')
    
    # 以行的方式遍历文件对象
    for line in f:
        # 去掉每一行的换行符
        line =line.replace('\n',' ')
        # 以空格作为分隔符拆分每一行
        student = tuple(line.split(' '))
        # 将学生元组添加到学生列表里
        students.append(student)
    # 用户从键盘输出姓名
    name = input('请输入待查学生的姓名:')
    found = False
    for student in students:
        if (student[1] == name):
            found = True
            for i in range(len(student)):
                print(student[i],end=' ')
            break
    if not found:
        print('姓名为{[]}的学生没找到!'.format(name))
      
    
    • 第一次查询
      在这里插入图片描述

    • 第二次查询

      在这里插入图片描述

    3.修改学生记录

    • 程序
    # -*- coding: utf-8 -*-
    '''
    功能:修改学生记录
    作者:雾爱
    日期:2021年12月26日
    '''
    # 创建空学生列表
    students = []
    
    # 以只读方式打开文件
    f = open('学生.txt')
    
    # 以行的方式遍历文件对象
    for line in f:
        # 去掉每一行的换行符
        line =line.replace('\n',' ')
        # 以空格作为分隔符拆分每一行
        student = tuple(line.split(' '))
        # 将学生元组添加到学生列表里
        students.append(student)
    # 用户从键盘输出学号
    id = input('请输入待查学生的学号:')
    found = False
    for student in students:
        if (student[0] == id):
            found = True
            new_age = input('请输入新的年龄:')
            new_telephone = input('请输入新的电话号码:')
            # 修改学生的元组指定属性的之值
            student[3] = new_age
            student[7] = new_telephone
            print('恭喜!学生记录修改成功!')
            for i in range(len(student)):
                print(student[i],end=' ')
            break
    if not found:
        print('学号为{[]}的学生没找到!'.format(name))
    
    
    • 程序结果
      在这里插入图片描述
    • 报错了!这是为什么?原来报错的原因是学生元组的元素是不能改动的。既然不能改动,那怎么办呢?很简单,既然元组的元素不能改动,那我们把元组转化成列表不就可以了!
    • 修改后的程序
    # -*- coding: utf-8 -*-
    '''
    功能:修改学生记录
    作者:雾爱
    日期:2021年12月26日
    '''
    # 创建空学生列表
    students = []
    
    # 以只读方式打开文件
    f = open('学生.txt')
    
    # 以行的方式遍历文件对象
    for line in f:
        # 去掉每一行的换行符
        line =line.replace('\n',' ')
        # 以空格作为分隔符拆分每一行
        student = tuple(line.split(' '))
        # 将学生元组添加到学生列表里
        students.append(student)
    # 用户从键盘输出学号
    id = input('请输入待查学生的学号:')
    found = False
    for student in students:
        if (student[0] == id):
            found = True
            # 将学生元组转化成列表
            student = list(student)
            new_age = input('请输入新的年龄:')
            new_telephone = input('请输入新的电话号码:')
            # 修改学生的元组指定属性的之值
            student[3] = new_age
            student[7] = new_telephone
            # 又将列表转化成元组
            student = turtle(student)        
            print('恭喜!学生记录修改成功!')
            for i in range(len(student)):
                print(student[i],end=' ')
            break
    if not found:
        print('学号为{[]}的学生没找到!'.format(name))
    
    
    • 结果
      在这里插入图片描述

    4.删除学生记录

    • 程序
     # -*- coding: utf-8 -*-
    '''
    功能:删除学生记录
    作者:雾爱
    日期:2021年12月26日
    '''
    # 创建空学生列表
    students = []
    
    # 以只读方式打开文件
    f = open('学生.txt')
    
    # 以行的方式遍历文件对象
    for line in f:
        # 去掉每一行的换行符
        line =line.replace('\n',' ')
        # 以空格作为分隔符拆分每一行
        student = tuple(line.split(' '))
        # 将学生元组添加到学生列表里
        students.append(student)
    # 用户从键盘输出学号
    id = input('请输入删除学生的学号:')
    found = False
    for student in students:
        if (student[0] == id):
            found = True
            # 按值删除列表元素
            students.remove(student)
            print('恭喜!学生记录删除成功!')
            for i in range(len(student)):
                print(student[i],end=' ')
            break
    if not found:
        print('学号为{[]}的学生没找到!'.format(id))
    else:
        for student in students:
            for i in range(len(student)):
                print(student[i],end=' ')`
    
    • 结果
      在这里插入图片描述

    六、构建学生信息管理多级菜单系统

    1.编写程序

    # -*- coding: utf-8 -*-
    '''
    功能:学生信息管理
    作者:雾爱
    日期:2021年12月26日
    '''
    def add_student():
        print('\n添加学生记录功能模块尚待开发\n')
    def query_student():
        while True:
            print('查询学生记录')
            print('===============')
            print('1.按学号查询学生记录')
            print('2.按姓名查询学生记录')
            print('3.查询全部学生记录')
            print('4.返回上级菜单')
            print('===============')
            mc3 = int(input('输入菜单号:'))
            if mc3 == 1:
                print('\n按学号查询学生记录功能尚待开发\n')
            elif mc3 == 2:
                print('\n按姓名查询学生记录功能尚待开发\n')
            elif mc3 == 3:
                print('\n全部查询学生记录功能尚待开发\n')
            else:
                break
    def modify_student():
        print('\n修改学生记录功能尚待开发\n')
        
    def delete_student():
        print('\n删除学生记录功能尚待开发\n')
    def login():
        username = input('输入用户名:')
        password = input('输入密码:')
        if username == 'wuai' and password == '1314520':
            while True:
                print('===============')
                print('学生信息管理')
                print('1.增加学生记录')
                print('2.查询学生记录')
                print('3.修改学生记录')
                print('4.删除学生记录')
                print('5.返回上级菜单')
                print('===============')
                mc2 = int(input('输入菜单号:'))
                if mc2 == 1:
                    add_student()
                elif mc2 == 2:
                    query_student()
                elif mc2 == 3:
                    modify_student()
                elif mc2 == 4:
                    delete_student()
                else:
                    break
        else:
            print('\n用户名活密码错误,请重新登录!\n')
            
    while True:
        print('用户登录')
        print('==========')
        print('1.登录')
        print('2.退出')
        print('==========')
        mc1 = int(input('输入菜单号:'))
        if mc1 == 1:
            login()
        elif mc1 == 2:
            print('\n谢谢使用本程序!\n')
            break
    

    2.运行程序,查看结果

    在这里插入图片描述

    七、总结

    • 花了两天 终于算是勉强完成了老师布置的作业。虽然那天上课的时候听的很认真,但是还有很多方面不熟悉,不了解,所以查漏补缺,加强学习!
    展开全文
  • 实训报告 实训名称 学生成绩管理系统实训 系 部 软件与艺术学院 专业班级 XXXXXXXXX 学生姓名 XX 学 号 XXXXXXXXX 指导教师 XXXXXXXXX 完成日期 XXXXXXXXXXXX XXXX 职业技术学院 目 录 目 录 3 1 实训概述 3 2 Java ...
  • 图书馆管理系统(Java Web)实训报告,图书管理涉及图书信息、系统用户信息、读者信息、图书借阅等多种数据管理。从管理的角度可将图书分为三类:图书信息管理、系统用户管理、读者数据管理。图书信息管理包括图书征...
  • java超市管理系统实训报告,通过本次课程设计,使学生能够全面、深刻地掌握数据库系统的设计流程。根据在数据库原理课程中所学到的数据库理论知识,结合某个具体的实际需求,最终开发出一个较为实用的数据库系统。

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 15,024
精华内容 6,009
关键字:

学生管理系统实训总结