第十.十一周项目2 储存班长信息的学生类

 

/* 

*Copyright (c) 2016,烟台大学计算机学院 

*All rights reserved. 

*文件名称 : 

*作    者 : 刘默涵

*完成日期 : 2016年5月19号 

*版 本 号 : v6.0 

* 

*问题描述 : 

* 

*/  

#include<iostream>   

using namespace std;  

class Stu   //声明基类  

{  

public:  

    Stu(int n, string nam );  //基类构造函数  

    void display( );          //成员函数,输出基类数据成员  

protected:        //(*)访问权限为保护型的数据成员  

    int num;      //学生学号  

    string name;  //学生姓名   

};  

Stu::Stu(int n, string nam )  //基类构造函数  

{  

    num=n;  

    name=nam;  

}  

void Stu::display( )      //成员函数,输出基类数据成员  

{  

    cout<<"学号:"<<num<<endl;  

    cout<<"姓名:"<<name<<endl;  

}  

class StuDetail: public Stu              //声明派生类StuDetail  

{  

public:  

    //学生nam,学号n,a岁,家住ad,他的班长是nam1,学号n1   

    StuDetail(int n, string nam,int a, string ad,int n1, string nam1); //派生类构造函数  

    void show( ); //成员函数,输出学生的信息  

    void show_monitor( );    //成员函数,输出班长信息  

private:  

    Stu monitor;   //学生所在班的班长,班长是学生,是Stu类的成员  

    int age;       //学生年龄  

    string addr;   //学生的住址   

};  

StuDetail::StuDetail(int n, string nam,int a, string ad,int n1, string nam1):Stu(n,nam),age(a),addr(ad),monitor(n1,nam1){}  

void StuDetail::show( )  

{  

    cout<<"学生信息"<<endl;  

    display( );  

    cout<<"年龄:"<<age<<endl;  

    cout<<"住址:"<<addr<<endl;  

    cout<<endl;  

}  

void StuDetail::show_monitor( )  

{  

    cout<<"班长信息"<<endl;  

     monitor.display( );  

     cout<<endl;  

}  

int main( )  

{  

    //学生王力,10010号,19岁,家住上海的北京路,他的班长是李孙,学号10001  

    StuDetail s(10010,"Wang-li",19,"115 Beijing Road,Shanghai",10001,"Li-sun");  

    s.show( );                       //输出学生信息  

    s.show_monitor();                //输出班长信息  

    return 0;  

}  

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,我会为您提供一个实现班务管理系统的基本框架,代码可能不是特别完整,但是可以作为参考。 1. 建立数据库 首先,我们需要建立一个数据库,包括用户表(user)及其所需的字段,可以使用MySQL等关系型数据库。以下是一个简单的用户表的建表语句: ``` CREATE TABLE user ( id INT NOT NULL AUTO_INCREMENT, committee VARCHAR(20) NOT NULL, password VARCHAR(20) NOT NULL, name VARCHAR(20) NOT NULL, PRIMARY KEY (id) ); ``` 2. 搭建Java Web框架 接下来,我们使用MVC模型来搭建Java Web框架,包括模型层、视图层和控制层。以下是一个简单的框架示例: - 模型层 我们需要建立一个User类来表示用户,包括用户的committee、password、name、id等字段。以下是一个简单的User类的代码: ```java public class User { private int id; private String committee; private String password; private String name; // 构造函数 public User(int id, String committee, String password, String name) { this.id = id; this.committee = committee; this.password = password; this.name = name; } // Getter和Setter方法 // ... } ``` 我们还需要建立一个UserDAO类来操作数据库中的用户表。以下是一个简单的UserDAO类的代码: ```java public class UserDAO { // 数据库连接相关的变量 // ... // 新增用户 public void addUser(User user) { // ... } // 根据用户名和密码查询用户 public User getUserByNameAndPassword(String name, String password) { // ... } // 根据用户ID查询用户 public User getUserById(int id) { // ... } // 更新用户信息 public void updateUser(User user) { // ... } // 删除用户 public void deleteUser(int id) { // ... } } ``` - 视图层 我们需要建立一个登录界面和一个注册界面,用JSP来实现。以下是一个简单的登录界面的代码: ```jsp <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>登录界面</title> </head> <body> <h1>登录界面</h1> <form action="login.do" method="post"> <label for="username">用户名:</label> <input type="text" id="username" name="username"><br> <label for="password">密码:</label> <input type="password" id="password" name="password"><br> <input type="submit" value="登录"> </form> </body> </html> ``` 以下是一个简单的注册界面的代码: ```jsp <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>注册界面</title> </head> <body> <h1>注册界面</h1> <form action="register.do" method="post"> <label for="username">用户名:</label> <input type="text" id="username" name="username"><br> <label for="password">密码:</label> <input type="password" id="password" name="password"><br> <label for="name">姓名:</label> <input type="text" id="name" name="name"><br> <label for="committee">角色:</label> <select id="committee" name="committee"> <option value="普通学生">普通学生</option> <option value="学习委员">学习委员</option> <option value="班长">班长</option> </select><br> <input type="submit" value="注册"> </form> </body> </html> ``` - 控制层 我们需要建立一个控制器来处理用户的请求,包括登录请求和注册请求。以下是一个简单的控制器的代码: ```java public class UserController { private UserDAO userDao = new UserDAO(); // 处理登录请求 public void login(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String name = request.getParameter("username"); String password = request.getParameter("password"); User user = userDao.getUserByNameAndPassword(name, password); if (user != null) { // 登录成功,跳转到对应的功能页面 if (user.getCommittee().equals("普通学生")) { response.sendRedirect("student.jsp"); } else if (user.getCommittee().equals("学习委员")) { response.sendRedirect("studyCommittee.jsp"); } else if (user.getCommittee().equals("班长")) { response.sendRedirect("classLeader.jsp"); } } else { // 登录失败,返回登录界面 response.sendRedirect("login.jsp"); } } // 处理注册请求 public void register(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String name = request.getParameter("name"); String password = request.getParameter("password"); String committee = request.getParameter("committee"); User user = new User(0, committee, password, name); userDao.addUser(user); // 注册成功,返回登录界面 response.sendRedirect("login.jsp"); } } ``` 3. 设置路由 最后,我们需要设置路由来将用户的请求分发给对应的控制器。以下是一个简单的路由设置的代码: ```java public class Router extends HttpServlet { private UserController userController = new UserController(); protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String path = request.getServletPath(); if (path.equals("/login.do")) { userController.login(request, response); } else if (path.equals("/register.do")) { userController.register(request, response); } } } ``` 4. 总结 这就是一个简单的基于Java Web的班务管理系统的框架,其中包括了数据库建表、Java Web框架搭建、路由设置等步骤。当然,这只是一个简单的示例,实际的班务管理系统还需要包括更多的功能和细节。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值