学生管理系统 订阅
学生信息管理系统是针对学校学生处的大量工作处理工作而开发的管理软件,主要用于学校学生信息管理,总体任务是实现学生信息关系的系统化、科学化、规范化和自动化,其主要任务是用手机和计算机对学生各种信息进行日常管理,如查询、修改、增加、删除等,另外还考虑到学生选课,针对这些要求设计了学生信息管理系统。推行学校信息管理系统的应用是进一步推进学生学籍管理规范化、电子化、控制辍学和提高义务教育水平的重要举措。 展开全文
学生信息管理系统是针对学校学生处的大量工作处理工作而开发的管理软件,主要用于学校学生信息管理,总体任务是实现学生信息关系的系统化、科学化、规范化和自动化,其主要任务是用手机和计算机对学生各种信息进行日常管理,如查询、修改、增加、删除等,另外还考虑到学生选课,针对这些要求设计了学生信息管理系统。推行学校信息管理系统的应用是进一步推进学生学籍管理规范化、电子化、控制辍学和提高义务教育水平的重要举措。
信息
针    对
学校学生处的大量工作处理
安全管理
支持精准定位
开    发
管理软件
奖学金管理
:支持学生成绩绩点、任职分值
中文名
学生管理系统
外文名
Student management system
学生管理系统产生背景
学生信息档案的管理对于学校的管理者来说至关重要,学生信息是高等学校非常重要的一项数据资源,是一个教育单位不可缺少一部分。特别是近几年来,国家政策的调整,我国高等院校大规模的扩招,给高等院校的教学管理、学生管理、后勤管理等方面都带来不少的冲击。其包含的数据量大,涉及的人员面广,而且需要及时更新,故较为复杂,难以单纯地依*人工管理,而且传统的人工管理方式既不易于规范化,管理效率也不高,我国各类高等院校中还有相当一部分学生档案管理还停留在纸介质的基础上,尤其是中、小学对学生档案的管理更是落后,这样的管理机制已经不能适应时代发展的要求,其管理方法将浪费许多人力和物力。随着科学技术的不断提高,计算机科学与技术日渐成熟,计算机应用的普及已进入人类社会生活的各个领域,并发挥着越来越重要的作用。这种传统的手工管理模式必然被以计算机为物质基础的信息管理方法所取代。 作为计算机应用的一部分,使用计算机对学生档案进行管理,有着手工管理所无法比拟的优点,如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高学生档案管理的效率,也是学校向科学化、正规化管理发展的必要条件,更是各个高等院校与世界接轨的重要条件。
收起全文
精华内容
下载资源
问答
  • 学生管理系统

    万次阅读 多人点赞 2016-12-27 16:07:40
    学生管理系统总结  经过为期一个多星期的时间,总算是大体上完成了项目学生管理系统,下面就把整个项目的各个功能的具体实现总结一下与大家分享,顺便让自己加深一下印象。 首先让我们对整个项目的层次结构进行一个...

        学生管理系统总结 

    经过为期一个多星期的时间,总算是大体上完成了项目学生管理系统,下面就把整个项目的各个功能的具体实现总结一下与大家分享,顺便让自己加深一下印象。

    首先让我们对整个项目的层次结构进行一个划分


    首先把整个项目分为以上几个层,dao层,实体层,service层,servlet层和util工具类五大块。

    一,dao层

    dao层主要是用来对实体类进行操作,封装一些类和方法来让前台调用,

    二,实体层

    主要用来存放你的实体类

    三,service层

    引用对应的dao数据库操作,在这里可以编写自己需要的代码,比如一些逻辑的实现。

    四,servlet层

    引用对应的Service层,在这里结合Struts的配置文件,跳转到指定的页面,当然也能接受页面传递的请求数据,也可以做些计算处理。

    五,util工具类

    主要存放一些我们自己封装的工具,方便我们使用

    整个项目的层次结构大概就是这样,下面来分析一下每个功能点实现需要的知识和技术。

    1.登陆界面


    首先这次学生管理系统前端框架我们用到的是bootstrap框架

    一,登陆界面的实现

    首先我们想一下如何实现登陆?需要哪些知识?

    首先我们需要数据库,javabean,servlet路由,jsp页面。首先我们得写一个servlet,通过servlet请求来获取到前端页面input框里的值来和我们数据库里存储的信息进行比较,如果相等则允许登陆并跳转到主页面,否则登陆失败停留在登陆界面。然后我们有时候为了省事就会选择记住密码,记住密码功能的实现其实也很简单,首先我们判断复选按钮是否是被选中状态,如何是被选中状态,我们就把帐号和密码存入Cookie,然后返回,否则的话,就把Cookie赋值为空在返回,这样就可以简单实现登陆功能。

    接下来我们需要实现注册,注册其实就是我们数据库里没有这个信息然后我们把这个新信息存入数据库,那么这就很好想了,首先我们写一个servlet来获取到注册表单里的input框里的信息,然后和数据库里的信息进行比对,如果存在,则给一个友好提示该帐号存在或者其他,实现这个功能,我们可以通过ajax异步请求来判断注册信息是否存在然后在jsp里给一个标签显示,这样用户就能知道什么原因了。如果数据库里没有注册的信息,则把信息存入数据库,并且返回登陆界面给一个提示注册成功,这样注册的功能就实现了。

    然后,有了帐号和密码,我们肯定也会有忘记的时候,这时候我们就需要一个忘记密码的功能,忘记密码的话,我们可以通过向邮箱

    发送验证码来重置密码。

    这时候我们需要引入两个jar包


    这是java封装好的,我们只需要拿来用就好了,这时候我们需要获取输入的邮箱是否存在,如果存在调用封装好的email类向邮箱发送验证码,然后获取输入的验证码和邮箱里输入的验证码是否相等,如果相等则把重置的新密码发送给邮箱,否则用ajax同步请球给用户一个弹框提示邮箱不存在或者邮箱错误,验证码错误等信息


    这样整个一个登陆界面就实现了。

    二,实现对表格数据的增删查改

    这是登陆进来的主界面


    首先我们需要实现左边菜单栏

    左边是一个三级菜单的实现,并且要设置权限,因为当是学生,老师,管理员登陆的时候,能查看的内容和进行的操作是不一样的,

    这时候我们需要在jsp里引入jstl里的c:if和c:forserch来进行权限的判断,下图是实现的代码


    					<!-- 管理员,教师,班主任可以看到的菜单 -->
    						<c:if test="${loginSysUser.roleid==0||loginSysUser.roleid==1||loginSysUser.roleid==2}">
    								<li>
    									<a href="#" class="dropdown-toggle">
    										<i class="icon-fire"></i>
    		
    										<span class="menu-text">教学管理</span>
    		
    										<b class="arrow icon-angle-down"></b>
    									</a>
    		
    									<ul class="submenu">
    										<li>
    											<a href="#" class="dropdown-toggle">
    												<i class="icon-double-angle-right"></i>
    												学生管理
    												<b class="arrow icon-angle-down"></b>
    											</a>
    											<ul class="submenu">
    												<!-- 显示班主任所管理的班级 -->
    													<c:if test="${loginSysUser.roleid==1}">
    														<c:forEach items="${classesList }" var="classes">
    															<c:if test="${loginSysUser.userid==classes.headmasterid}">
    																<li>
    																	<a href="${pageContext.request.contextPath }/getclassidservlet?name=studentList&classid=${classes.id}">
    																	<i class="fa fa-child" aria-hidden="true"></i>
    																	<span class="menu-text"><c:out value="${classes.name }"></c:out></span>
    																	</a>
    																</li>
    															</c:if>
    														</c:forEach>
    													</c:if>
    												<!-- 显示教师所管理的班级 -->
    													<c:if test="${loginSysUser.roleid==2 }">
    														<c:forEach items="${classesList }" var="classes">
    															<c:if test="${loginSysUser.userid==classes.lecturerid}">
    																<li>
    																	<a href="${pageContext.request.contextPath }/getstuidservlet?name=studentList&classid=${classes.id}">
    																	<i class="fa fa-child" aria-hidden="true"></i>
    																	<span class="menu-text"><c:out value="${classes.name }"></c:out></span>
    																	</a>
    																</li>
    															</c:if>
    														</c:forEach>
    													</c:if>
    												<!-- 显示管理员所管理的班级 -->
    													<c:if test="${loginSysUser.roleid==0}">
    														<c:forEach items="${classesList }" var="classes">
    																<li>
    																	<a href="${pageContext.request.contextPath }/getstuidservlet?name=studentList&classid=${classes.id}">
    																	<i class="fa fa-child" aria-hidden="true"></i>
    																	<span class="menu-text"><c:out value="${classes.name}"></c:out></span>
    																	</a>
    																</li>
    														</c:forEach>
    													</c:if>
    											</ul>
    										</li>
    										
    										<li>
    											<a href="#" class="dropdown-toggle">
    												<i class="icon-double-angle-right"></i>
    												积分管理
    												<b class="arrow icon-angle-down"></b>
    											</a>
    											<ul class="submenu">
    												<!-- 显示班主任所管理的班级 -->
    													<c:if test="${loginSysUser.roleid==1}">
    														<c:forEach items="${classesList }" var="classes">
    															<c:if test="${loginSysUser.userid==classes.headmasterid}">
    																<li>
    																	<a href="${pageContext.request.contextPath }/getclassidservlet?name=score&classid=${classes.id}">
    																	<i class="fa fa-child" aria-hidden="true"></i>
    																	<span class="menu-text"><c:out value="${classes.name }"></c:out></span>
    																	</a>
    																</li>
    															</c:if>
    														</c:forEach>
    													</c:if>
    												<!-- 显示教师所管理的班级 -->
    													<c:if test="${loginSysUser.roleid==2 }">
    														<c:forEach items="${classesList }" var="classes">
    															<c:if test="${loginSysUser.userid==classes.lecturerid}">
    																<li>
    																	<a href="${pageContext.request.contextPath }/getclassidservlet?name=score&classid=${classes.id}">
    																	<i class="fa fa-child" aria-hidden="true"></i>
    																	<span class="menu-text"><c:out value="${classes.name }"></c:out></span>
    																	</a>
    																</li>
    															</c:if>
    														</c:forEach>
    													</c:if>
    												<!-- 显示管理员所管理的班级 -->
    													<c:if test="${loginSysUser.roleid==0}">
    														<c:forEach items="${classesList }" var="classes">
    																<li>
    																	<a href="${pageContext.request.contextPath }/getclassidservlet?name=score&classid=${classes.id}">
    																	<i class="fa fa-child" aria-hidden="true"></i>
    																	<span class="menu-text"><c:out value="${classes.name}"></c:out></span>
    																	</a>
    																</li>
    														</c:forEach>
    													</c:if>
    											</ul>
    										</li>
    										
    										<li>
    										<a href="${pageContext.request.contextPath }/controller?name=scorerules">
    											<i class="icon-double-angle-right"></i>
    											积分规则管理
    										</a>
    										</li>
    										
    										<li>
    											<a href="controller?name=team" class="dropdown-toggle">
    												<i class="icon-double-angle-right"></i>
    												小组管理
    											</a>
    											
    										</li>
    									</ul>
    								</li>
    						</c:if>
    						
    						
    						<!-- 只有管理员才可以显示的菜单 -->
    						<c:if test="${loginSysUser.roleid==0 }">
    							<li>
    								<a href="#" class="dropdown-toggle">
    									<i class="icon-desktop"></i>
    									<span class="menu-text">系统管理 </span>
    	
    									<b class="arrow icon-angle-down"></b>
    								</a>
    	
    								<ul class="submenu">
    									<li>
    											<a href="${pageContext.request.contextPath }/controller?name=classes">
    												<i class="icon-double-angle-right"></i>
    												班级管理
    											</a>
    									</li>
    									<li>
    										<a href="${pageContext.request.contextPath }/controller?name=userManager">
    											<i class="icon-double-angle-right"></i>
    											用户管理
    										</a>
    									</li>
    									<li>
    										<a href="${pageContext.request.contextPath }/controller?name=teacher">
    											<i class="icon-double-angle-right"></i>
    											教师管理
    										</a>
    									</li>
    									
    									<li>
    										<a href="#" class="dropdown-toggle">
    											<i class="icon-double-angle-right"></i>
    												字典管理
    											<b class="arrow icon-angle-down"></b>
    										</a>
    	
    										<ul class="submenu">
    											<li>
    												<a href="${pageContext.request.contextPath }/controller?name=dataType">
    													<i class="icon-leaf"></i>
    													字典类型
    												</a>
    											</li>
    	
    											<li>
    												<a href="${pageContext.request.contextPath }/controller?name=dataItem" class="dropdown-toggle">
    													<i class="icon-pencil"></i>
    													字典条目
    												</a>
    											</li>
    										</ul>
    									</li>
    								</ul>
    							</li>
    						</c:if>
    
    					</ul><!-- /.nav-list -->

    然后我们需要通过表格显示我们的数据库里的信息,这时候我们可以用老师封装好的jqgird,首先我们需要写对应的servlet来获取表格的行和列和页数还有对应数据库里的信息,然后通过ajax请求和js动态加载表格把数据显示出来,然后我们需要对数据进行增删查改,首先我们需要获得对应jsp页面里的input标签里的值然后通过servlet和dbutil获取数据库里的值进行比对,如果没有,则通过sql语句写入数据库。增删查改的实现方法基本一致。这样就实现了对数据库表格的增删查改和显示了。




    三,个人信息的显示和修改密码功能



    要实现这个功能其实和表格的查的操作差不多,首先我们在登陆的时候需要判断用户的身份来显示不同的用户信息,这时候我们需要也一个servlet进行判断

    public void doPost(HttpServletRequest request, HttpServletResponse response)
    			throws ServletException, IOException {
    			Student stu = new Student();
    			SysUser sys = (SysUser) request.getSession().getAttribute("loginSysUser");
    			Integer roleid = sys.getRoleid();
    			Integer userId = sys.getUserid();
    			//roleid角色id:1:班主任、2:讲师、3、学生
    			List<Map<String, Object>> map =new ArrayList<Map<String, Object>>();
    			SysUser sysUser = new SysUser();
    			sysUser.setId(sys.getId());
    			sysUser.find();
    			request.setAttribute("imgUrl", sysUser.getImgurl());
    			if(roleid==0){
    				map = sys.db.query("select * from sys_user where id=?",userId);
    				request.getSession().setAttribute("showPerson", map);
    				request.getRequestDispatcher("sysuser.jsp").forward(request, response);
    			}else if(roleid == 1||roleid == 2){
    				map = stu.db.query("select * from t_teacher where id=?",userId);
    				request.getSession().setAttribute("showPerson", map);
    				request.getRequestDispatcher("teacher.jsp").forward(request, response);
    			}else if (roleid == 3) {
    				map = stu.db.query("select * from t_student where id=?",userId);
    				request.getSession().setAttribute("showPerson", map);
    				request.getRequestDispatcher("person.jsp").forward(request, response);
    			}
    	}

    然后通过sql查询把查询到的结果存在一个map集合里然后存到session域里,用来让我们在jsp里调用

    通过重定向跳转到不同的jsp页面。

    在jsp页面通过${sessionScorp.属性名}显示对应的信息。

    然后是修改密码

    首先我们写一个servlet来判断原密码是否正确和新密码的两次输入是否相同

    public void doPost(HttpServletRequest request, HttpServletResponse response)
    			throws ServletException, IOException {
    			SysUser sys = (SysUser) request.getSession().getAttribute("loginSysUser");
    			String password=sys.getPassword();//获取的登录密码
    			System.out.println(password);
    			String password0 = request.getParameter("oldPassword");//旧密码
    			String password1 = request.getParameter("password1");//新密码
    			String password2 = request.getParameter("password2");//确认密码
    			password0=MD5Util.MD5(password0);
    			Map<String, Object> map =new HashMap<String, Object>();
    			if(password0.equalsIgnoreCase(password)){
    				if(StringUtil.isNotEmpty(password1)&&password1.equalsIgnoreCase(password2)){
    					map.put("state", 3);
    					response.getWriter().print(JSON.toJSON(map));
    				}else{
    					map.put("state", 1);
    					response.getWriter().print(JSON.toJSON(map));
    				}
    			}else{
    				map.put("state", 0);
    				response.getWriter().print(JSON.toJSON(map));
    			}
    		
    	}

    判断结束后以json的形式返回,通过ajax同步请求和表单提交来判断是否正确和给出提示。

    四,头像上传



    package club.itstu.web.servlet;
    
    import java.io.File;
    import java.io.IOException;
    import java.io.InputStream;
    import java.util.ArrayList;
    import java.util.HashMap;
    import java.util.List;
    import java.util.Map;
    
    import javax.servlet.ServletException;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    
    import org.apache.commons.fileupload.FileItem;
    import org.apache.commons.fileupload.FileItemFactory;
    import org.apache.commons.fileupload.disk.DiskFileItemFactory;
    import org.apache.commons.fileupload.servlet.ServletFileUpload;
    
    import club.itstu.util.DBUtil;
    
    import com.alibaba.fastjson.JSON;
    
    public class UploadUtilServlet extends HttpServlet {
    
    	public void doGet(HttpServletRequest request, HttpServletResponse response)
    			throws ServletException, IOException {
    	}
    
    	public void doPost(HttpServletRequest request, HttpServletResponse response)
    			throws ServletException, IOException {
    		String imgName = "";
    		try {
    			
    			FileItemFactory factory = new DiskFileItemFactory();
    			ServletFileUpload upload = new ServletFileUpload(factory);
    			if(upload.isMultipartContent(request)){
    				List<FileItem> list = upload.parseRequest(request);
    				for(FileItem item:list){
    					//判断是普通文本框,还是文件框
    					if(item.isFormField()){
    						//普通的
    						String fileName = item.getFieldName();//输入框name的名
    						String str = item.getString();//文本框值
    						if("id".equals(fileName)){
    							System.out.println(str);
    						}
    					}else{
    						//文件表单
    						String contentType = item.getContentType();//上传的文件类型
    						String fileName = item.getFieldName();
    						InputStream in = item.getInputStream();
    						String name = item.getName();//上传的文件名
    						imgName = name;
    						//获取上传文件保存的绝对路径
    						String uploadUrl = getServletContext().getRealPath("/upload");
    						File file = new File(uploadUrl,name);
    						item.write(file);
    						item.delete();
    						in.close();
    					}
    				}
    			}
    		} catch (Exception e) {
    			e.printStackTrace();
    		}
    		List<Map<String,Object>> resList = new ArrayList<Map<String,Object>>();
    		Map<String,Object> map = new HashMap<String,Object>();
    		map.put("status", "OK");
    		String urlPath = request.getContextPath();
    		map.put("url", urlPath+"/upload/"+imgName);
    		DBUtil.getInstance().update("update sys_user set imgurl=? where id=?", urlPath+"/upload/"+imgName,request.getParameter("id"));
    		map.put("message", "头像上传成功");
    		resList.add(map);
    		response.getWriter().print(JSON.toJSON(resList));
    	}
    
    
    }
    

    需要导入的jar包


    首先获取工厂类对象FileItemFactory,然后获取ServletFileUpload,判断是普通文本框还是文本表单,获取上传文件保存的绝对路径,然后字节流写上去。

    五 excel表格导入导出

    六 日报功能

    五六两个功能我还没有完全明白怎么实现,后期写完了,在补上代码和实现思路。这就是我自己对整个项目流程的实现的理解,写完这个项目之后,自己从头在总结一翻,你会发现自己真的收获了很多,以前看不懂的代码,现在在看会豁然开朗。我觉得老师说的很对,总结真的很重要,之前我没总结,只靠回想的话,我真的能记住的很少很少,我觉得这个项目过段时间在总结一次的话,就可以真正理解整个项目的实现流程,自己下次做在类似的项目就会得心应手,不会不知道怎麽下手了,几个小时的总结写完了,觉得自己写的很充实,理解的也更清楚了,以后也要经常做这样的总结,我相信自己慢慢的就会成长起来的。加油把,继续努力。


    附上源码下载地址:

    链接:http://pan.baidu.com/s/1kVqUA6V 密码:cqgs

    展开全文
  • Java+MySQL实现学生管理系统

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

    需求分析

    • Java课程设计:实现一个学生管理系统,方便老师对学生信息进行统计管理
    • 用户登录功能
    • 学生管理功能
    • 完善界面交互
    • 数据持久可靠

    设计思路

    • 使用Java作为开发语言,MySQL作为数据库,Java Swing做图形界面;
    • 分层解耦:
      • studentapp分为main函数,dal(数据库层)和gui(界面交互层);
      • dal层分为:
        • DBUtil
        • dal.entity(实体层,映射数据库具体表);
        • dal.dao(持久层,放接口,功能为发送SQL语句同数据库交互);
        • dal.dao.impl(dao实现层)等。
      • gui实现登陆注册,学生管理界面等同使用系统者交互。

    具体实现

    具体测试展示

    • 2019.6.21优化了界面及操作体验,优化了代码。

    • 用户注册登陆:
      在这里插入图片描述
      在这里插入图片描述

    • 学生管理系统主界面:
      在这里插入图片描述

    • 添加学生信息:
      在这里插入图片描述在这里插入图片描述

    • 更新学生信息:
      在这里插入图片描述
      在这里插入图片描述
      在这里插入图片描述

    • 删除学生信息:
      在这里插入图片描述
      在这里插入图片描述

    • 查询学生信息:
      在这里插入图片描述
      在这里插入图片描述

    展开全文
  • C语言学生管理系统C语言学生管理系统C语言学生管理系统C语言学生管理系统C语言学生管理系统C语言学生管理系统C语言学生管理系统C语言学生管理系统C语言学生管理系统C语言学生管理系统C语言学生管理系统C语言学生管理...
  • 前不久上传了一个控制台版本的学生管理系统,这个是Python界面版学生管理系统,这个是使用pycharm开发的一个有界面的学生管理系统,基本的增删改查,里面又演示视频和完整代码,有需要的伙伴可以自行下载
  • Python 学生管理系统

    万次阅读 多人点赞 2019-07-20 09:57:11
    Python学生管理系统功能工具效果展示图结构分析Python代码studentmanagementsystem模块tools 模块 功能 学生信息录入 学生成绩查询 查找学生信息 录入学生成绩 课程平均值 所有学生信息 工具 ...

    在这里插入图片描述

    功能

    1. 学生信息录入
    2. 学生成绩查询
    3. 查找学生信息
    4. 录入学生成绩
    5. 课程平均值
    6. 所有学生信息

    工具

    • JetBrains PyCharm 2019.1.3

    效果展示图

    欢迎界面图
    欢迎界面图
    学生信息录入
    学生信息录入
    学生成绩查询
    学生成绩查询
    查找学生信息
    查找学生信息
    录入学生成绩

    录入学生成绩
    课程平均值
    课程平均值
    所有学生信息
    所有学生信息
    退出系统
    退出系统

    结构分析

    结构分析

    Python代码

    management模块

    import tools
    
    
    def main():
        """
        主函数
    
        :return:
        """
        while True:
    
            # 显示功能菜单
            tools.show_menu()
            action_str = input('\033[1;31m%s\033[0m' % '您希望选择执行的操作:')
            print('\033[1;31m%s\033[0m' % "您选择的操作是:【%s】" % action_str)
    
            # 针对名片的操作
            if action_str in ["1", "2", "3", "4", "5", "6"]:
                if action_str == "1":
                    tools.information_input_card()
                elif action_str == "2":
                    tools.search_score_card()
                elif action_str == "3":
                    tools.search_information_card()
                elif action_str == "4":
                    tools.add_score_card()
                elif action_str == "5":
                    tools.score_average_card()
                elif action_str == "6":
                    tools.show_all_student_card()
            elif action_str == "0":
                print('\033[1;31m%s\033[0m' % "欢迎再次使用【名片管理系统】!")
                break
    
    
    if __name__ == '__main__':
        main()
    
    

    tools 模块

    # 记录所有信息的字典
    card_list = []
    
    
    def show_menu():
        """
        显示菜单模块
    
        :return:
        """
        print('\033[1;31m%s\033[0m' % "*" * 65)
        print('\033[1;31m%s\033[0m' % '''----------------------------------------------------------
    |                    欢迎进入学生管理系统                    |
    |                                                         |
    | 1.学生信息录入      2.学生成绩查询     3.查找学生信息       |
    | 4.录入学生成绩      5.课程平均值      6.所有学生信息         |
    | 0.退出系统                                                  |
    ----------------------------------------------------------''')
    
    
    def information_input_card():
        """
        学生信息录入
    
        :return:
        """
    
        print('\033[1;31m%s\033[0m' % '-' * 65)
        print('\033[1;31m%s\033[0m' % '【学生信息录入】')
    
        # 1.提示输入学生信息的详细内容
        name = input('\033[1;31m%s\033[0m' % '请输入学生的姓名:')
        phone = input('\033[1;31m%s\033[0m' % '请输入学生的电话号码:')
        ch_score = input('\033[1;31m%s\033[0m' % '请输入学生的语文成绩:')
        math_score = input('\033[1;31m%s\033[0m' % '请输入学生的数学成绩:')
        en_score = input('\033[1;31m%s\033[0m' % '请输入学生的英语成绩:')
    
        # 2.使用输入的学生信息 放入一个信息字典中
        card_dict = {
            "姓名": name,
            "电话": phone,
            "语文成绩": ch_score,
            "数学成绩": math_score,
            "英语成绩": en_score
        }
    
        # 3.将信息字典添加到列表中
        card_list.append(card_dict)
    
        # 4.提示学生信息添加成功
        print('\033[1;31m%s\033[0m' % '添加 %s 的信息成功!' % name)
    
    
    def search_score_card():
        """
        学生成绩查询
    
        :return:
        """
        print('\033[1;31m%s\033[0m' % '-' * 65)
        print('\033[1;31m%s\033[0m' % '【学生成绩查询】')
        find_name = input('\033[1;31m%s\033[0m' % '请输入要搜索的学生姓名:')
        for card_dict in card_list:
            if card_dict["姓名"] == find_name:
                print('\033[1;31m%s\033[0m' % "姓名\t\t\t语文成绩\t\t\t数学成绩\t\t\t英语成绩")
                print('\033[1;31m%s\033[0m' % "=" * 65)
                print('\033[1;31m%s\033[0m' % "%s\t\t\t%s\t\t\t%s\t\t\t%s" % (card_dict["姓名"],
                                                                              card_dict["语文成绩"],
                                                                              card_dict["数学成绩"],
                                                                              card_dict["英语成绩"]))
                break
        else:
            print('\033[1;31m%s\033[0m' % "抱歉,没有找到%s" % find_name)
    
    
    def search_information_card():
        """
        查找学生信息
    
        :return:
        """
    
        print('\033[1;31m%s\033[0m' % '-' * 65)
        print('\033[1;31m%s\033[0m' % '搜索学生信息')
        find_name = input('\033[1;31m%s\033[0m' % '请输入要搜索的姓名:')
        for card_dict in card_list:
            if card_dict["姓名"] == find_name:
    
                print('\033[1;31m%s\033[0m' % "找到了!")
                print()
                print('\033[1;31m%s\033[0m' % "姓名\t\t\t电话\t\t\t语文成绩\t\t\t数学成绩\t\t\t英语成绩")
                print('\033[1;31m%s\033[0m' % "=" * 65)
                print('\033[1;31m%s\033[0m' % "%s\t\t\t%s\t\t\t%s\t\t\t%s\t\t\t%s" % (card_dict["姓名"],
                                                                                      card_dict["电话"],
                                                                                      card_dict["语文成绩"],
                                                                                      card_dict["数学成绩"],
                                                                                      card_dict["英语成绩"]))
                # 针对找到的名片记录执行修改和删除的操作
                # deal_card(card_dict)
                break
            else:
                print("抱歉,没有找到%s" % find_name)
    
    
    def add_score_card():
        """
        录入学生信息
    
        :return:
        """
    
        print('\033[1;31m%s\033[0m' % "-" * 65)
        print('\033[1;31m%s\033[0m' % "录入学生信息!")
        find_name = input('\033[1;31m%s\033[0m' % '请输入的录入信息的学生姓名:')
        for card_dict in card_list:
            if card_dict["姓名"] == find_name:
                card_dict["语文成绩"] = input('\033[1;31m%s\033[0m' % "请该学生的输入语文成绩:")
                card_dict["数学成绩"] = input('\033[1;31m%s\033[0m' % "请该学生的输入语文成绩:")
                card_dict["英语成绩"] = input('\033[1;31m%s\033[0m' % "请该学生的输入语文成绩:")
                break
        print("%s的学生成绩录入成功!" % find_name)
    
    
    def score_average_card():
        """
        课程平均值
    
        :return:
        """
    
        print('\033[1;31m%s\033[0m' % "-" * 65)
        print('\033[1;31m%s\033[0m' % "查询课程平均值!")
        find_name = input('\033[1;31m%s\033[0m' % '请输入要搜索的姓名:')
        for card_dict in card_list:
            if card_dict["姓名"] == find_name:
    
                print('\033[1;31m%s\033[0m' % "找到了!")
                print()
                print('\033[1;31m%s\033[0m' % "姓名\t\t\t平均成绩")
                print('\033[1;31m%s\033[0m' % "=" * 65)
                print('\033[1;31m%s\033[0m' % "%s\t\t\t%d" % (card_dict["姓名"], int(eval(card_dict["语文成绩"])
                                                                                   + eval(card_dict["数学成绩"])
                                                                                   + eval(card_dict["英语成绩"])) / 3))
                break
            else:
                print("抱歉,没有找到%s" % find_name)
    
    
    def show_all_student_card():
        """
        所有学生信息
    
        :return:
        """
    
        print('\033[1;31m%s\033[0m' % "-" * 65)
        print('\033[1;31m%s\033[0m' % "显示所有学生的信息")
    
        # 判断是否存在名片记录,如果没有,提示用户并且返回
        if len(card_list) == 0:
            print('\033[1;31m%s\033[0m' % "当前没有记录任何学生的信息!")
            # return 可以返回一个函数的结果
            # 下方的代码不会被执行
            # 如果return后面没有任何内容,表示会返回到调用函数的位置
            # 可以不返回任何结果
            return
    
        # 打印表头
        for name in ["姓名", "电话", "语文成绩", "数学成绩", "英语成绩"]:
            print('\033[1;31m%s\033[0m' % name, end="\t\t\t")
        print("")
    
        # 打印分割线
        print('\033[1;31m%s\033[0m' % "=" * 65)
    
        # 遍历名片列表依次输出字典
        for card_dict in card_list:
            print('\033[1;31m%s\033[0m' % "%s\t\t\t%s\t\t\t%s\t\t\t%s\t\t\t%s" % (
                card_dict["姓名"],
                card_dict["电话"],
                card_dict["语文成绩"],
                card_dict["数学成绩"],
                card_dict["英语成绩"],
            ))
    
    
    展开全文
  • C语言之学生管理系统代码(完整)

    万次阅读 多人点赞 2016-06-30 16:53:15
    <span style="font-size:18px;">#include <stdio.h> #include <stdlib.h> #define FILENAME "student.dat" typedef enum{MAN, WOMAN} SEX; typedef struct tagStudent ... //学生...

    #include <stdio.h>
    #include <stdlib.h>
    
    #define FILENAME "student.dat"
    
    typedef enum{MAN, WOMAN} SEX;
    
    typedef struct tagStudent
    
    {
    
    	int num;		//学生的编号
    
    	char name[20];	//学生的姓名
    
    	SEX	sex;		//学生的性别
    
    	int age;		//学生的年龄
    
    	char major[20];	//学生的专业
    
    	struct tagStudent *next;//下一个节点的指针
    
    }STUDENT, *PSTUDENT;
    
    
    
    
    STUDENT g_head;	//头节点
    
    
    
    
    //1.显示菜单
    
    void ShowMenu();
    
    //2.获取用户选择的菜单的编号
    
    int GetMenuChoose();
    
    //3.创建一个节点,它会返回一个新创建的学生信息节点的指针
    
    PSTUDENT CreateStudent();
    
    //4.把学生信息节点加入到链表中
    
    int AddStudent(PSTUDENT pstu);
    
    //5.返回指定编号学生节点的上一个节点的指针
    
    PSTUDENT GetPrevAddr(int num);
    
    //6.显示所有学生信息
    
    void ShowAll();
    
    //7.显示信息数量
    
    int ShowStudentCount();
    
    //8.修改学生信息,参数为要修改的学生的编号
    
    void ModityStudent(int num);
    
    //9.获取用户的选择
    
    int Question(const char *pstr);
    
    //10.获取用户输入的学生的编号
    
    int GetInputNum();
    
    //11.删除编号为num的学生信息
    
    void DelStudent(int num);
    
    //12.删除所有的学生信息
    
    void DelAll();
    
    //13.把学生信息保存到文件当中
    
    void SaveToFile();
    
    //14.从文件中读取学生信息
    
    void LoadFromFile();
    
    
    展开全文
  • 学生管理系统学生管理系统

    千次阅读 多人点赞 2009-09-28 00:14:02
    学生管理系统学生管理系统
  • pb学生管理系统源代码+SQL数据库,pb学生管理系统源代码+SQL数据库,pb学生管理系统源代码+SQL数据库,pb学生管理系统源代码+SQL数据库
  • Java基础——学生管理系统

    千次阅读 多人点赞 2019-05-13 17:28:14
    学生管理系统的主界面的代码编写 C. 学生管理系统的查看所有学生的代码编写 D. 学生管理系统的添加学生的代码编写 E. 学生管理系统的删除学生的代码编写 F. 学生管理系统的修改学生的代码编写 代码: 学生类:...
  • c#学生管理系统

    热门讨论 2012-10-24 23:09:28
    c#学生管理系统,和毕业设计差不多了,大一时做的,里面有详细的文档说明,如果觉得可以,请评分 学生信息管理系统是一个教育单位不可缺少的部分,它的内容对于学校的决策者和管理者来说都至关重要。 本文介绍了学生...
  • 基于Servlet的学生管理系统

    万次阅读 多人点赞 2018-10-21 10:43:26
    一、缘起 ...四个月前,我曾经写过一个基于JSP的学生管理系统《基于JSP的学生管理系统》,这一次我又带来了一个基于Servlet的学生管理系统,在原有的基础上新增了其他功能,介系你没有van过的船新版本 ...
  • Java 图形界面开发--图文并茂建立学生管理系统

    万次阅读 多人点赞 2016-03-19 19:52:28
     这是本人在学习java图形界面开发阶段一步一步实现的超级简易的学生管理系统。虽然说不入大神法眼,但这确实是费了自己不少心血。对于我这样的菜鸟来说,考虑不周到,一不小心就Exception,然后就是自己调呀调。在...
  • Python学生管理系统(web网页版)

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

    万次阅读 多人点赞 2017-09-11 12:53:29
    这几天开始接触了python语言,这语言相对c语言简洁了不少,语言真是一通百通,学起来还是比较轻松,在熟悉了基本语法,列表(序列),元组以及字典之后写了一个最基础简单的的学生管理系统 能完成的功能有: 学生...
  • c语言实现的简单学生管理系统

    万次阅读 多人点赞 2017-05-31 20:37:19
    简单学生管理系统–c语言花了一个月的时间,学习了链表,文件,多文件编程,然后就开始写学生管理系统,比较简单的那种,实现了增,添,改,查,多种排序,输入的时候的限定,成绩分析的功能。遇到的问题很多,也...
  • java 学生管理系统源码

    热门讨论 2015-07-23 15:33:54
    很多Java初学者都梦寐自己做个学生管理系统,但不知道去哪儿找源码参考,上面给大家提供了Java学生管理系统源码!
  • C#学生管理系统

    万次阅读 多人点赞 2018-07-10 20:09:50
    环境:SqlServer+VS2015 在公众号已经写了一遍教程,不懂得小伙伴可以在公众号中一步一步的看哦!!!...JAVA学生信息管理系统 :https://blog.csdn.net/robot_sh/article/details/103707016 ...
  • Java——学生管理系统

    千次阅读 多人点赞 2018-08-24 20:11:11
    学生管理系统 基于前面学的ArrayList集合做的一个简单的学生管理系统,后期会对这个系统逐步优化,欢迎大家提建议 package StudentManager; import java.util.ArrayList; import java.util.Scanner; /* * 学生...
  • java学生管理系统

    万次阅读 多人点赞 2019-04-06 17:11:00
    2019.4.6 16:49,已经在电脑前坐了将近五个小时的我将个人第一个java优化系统调试完成,五个小时,只是将已经写好的系统进行优化,起初开始优化的时候觉得这简直是个无底洞,要考虑的东西太多太细(忽然想起一位...
  • Python学生管理系统(web网页版)

    万次阅读 多人点赞 2018-11-02 11:31:11
    前言:本项目是使用Python的Django的web框架搭建的,是一个完整的学生管理系统,功能包括基本的增删改查 项目演示图: 首页展示数据的页面(index.html) 添加学生的页面(add.html) 搜索学生页面(根据姓名或者...
  • 学生管理系统(Mysq数据库版)

    万次阅读 多人点赞 2018-04-07 13:59:37
    本系统是一个简单的学生管理系统,和以前做的一个学生管理系统从功能山来讲,其实是一样的。不同的是,以前的学生管理系统底层的存储部分采用的是文件系统,即使用文件来存储学生记录。对学生记录的增删查改操作也是...
  • java学生管理系统界面设计

    万次阅读 多人点赞 2019-07-05 13:16:30
    关于学生管理系统的界面设计:代码如下: 数据库设计 DROP TABLE IF EXISTS `stu`; CREATE TABLE `stu` ( `stuId` int(11) NOT NULL AUTO_INCREMENT, `stuName` varchar(30) DEFAULT NULL, `stuSex` varchar(30) ...
  • 学生管理系统 增删改查

    千次阅读 多人点赞 2019-02-07 15:49:22
    学生管理系统 步骤如下: A:定义学生类 B:学生管理系统的主界面的代码编写 C:学生管理系统的查看所有学生的代码编写 D:学生管理系统的添加学生的代码编写 E:学生管理系统的删除学生的代码编写 F:学生管理系统的修改...
  • Java学生管理系统项目

    千次阅读 多人点赞 2019-10-22 20:49:39
    Java学生管理系统项目 主界面展示图: 首先先定义一个学生类; public class Student { private String sid;//学号 private String name;//姓名 private String age;//年龄 private String address;//居住...
  • C#学生管理系统源代码

    万次阅读 多人点赞 2018-10-12 20:18:17
    C#学生管理系统公开源代码: 整个项目所有的方法名如下图: 项目核心逻辑图如下: **1 首先,键立实体类 private int _id; private string _name; private string _sex; private int _age; private int _...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 256,561
精华内容 102,624
关键字:

学生管理系统