#做一个简单的学生信息管理系统,实现增删改查的功能

还是新手小白,项目代码报错不会改,请求大佬的帮助
做一个简单的学生信息管理系统,实现增删改查的功能

StudentDao

package com.hdxy.Dao;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.List;
import com.hdxy.Student.Student;
public class StudentDao {
//初始化Connection,Statement,ResultSet
Connection conn = null;
Statement st = null;
ResultSet rs = null;

//查询
public List<Student> testQuery(){
    //查询表中所有学生,用集合来接收
    List<Student> list = new ArrayList<Student>();        
    String sql ="select * from student order by id asc";
    Connection conn = JDBCUtil.getInstance().getConnection();//获取连接
    try {
        st = conn.createStatement();//预处理,创建集合接收数据
        rs = st.executeQuery(sql);//结果集,创建集合接收数据
        //循环遍历
        while(rs.next()){
            Student student = new Student();//实例化Student对象,要求要有Student对象
            student.setId(rs.getInt("id"));//对象.方法或对象.属性。setI()想让id在前台显示打包赋值给student对象,getInt()获取学生信息
            student.setName(rs.getString("name"));
            student.setSno(rs.getString("sno"));
            student.setSex(rs.getString("sex"));
            student.setAge(rs.getString("age"));
            list.add(student);//将student对象的数据传到list里
        }
    }catch (Exception e){
        e.printStackTrace();
    }
    JDBCUtil.getInstance().closeConnection(rs,st,conn);//关闭,没有学生了就停止循环遍历
    return list;//返回值类型return,返回list
}//testQuery结束后拿到了所有学生的属性值

//添加数据
public void saveStudent(Student student){
    //?:表示占位符.所谓占位符就是不知道要传递什么值,但是必须要有值
    String sql = "insert into student(sno,name,sex,age) values(?,?,?,?)";

    conn = JDBCUtil.getInstance().getConnection();
    try {
        PreparedStatement  pst = conn.prepareStatement(sql);
        pst.setString(1, student.getSno());
        pst.setString(2, student.getName());
        pst.setString(3, student.getSex());
        pst.setString(4, student.getAge());
        pst.execute();
    } catch (SQLException e) {
        e.printStackTrace();
    }
    JDBCUtil.getInstance().closeConnection(rs,st,conn);
}


public Student getStudent(int id){
    Student stu = new Student();
    String sql = "select id,sno,name,sex,age from student where id=?";
    Connection conn = JDBCUtil.getInstance().getConnection();//获取连接
    try {
        PreparedStatement  st = conn.prepareStatement(sql);
        st.setInt(1, id);
        rs = st.executeQuery();
        while(rs.next()){
            stu.setId(rs.getInt("id"));
            stu.setSno(rs.getString("sno"));
            stu.setName(rs.getString("name"));
            stu.setSex(rs.getString("sex"));
            stu.setAge(rs.getString("age"));
        }
    } catch (SQLException e) {
        e.printStackTrace();
    }
    JDBCUtil.getInstance().closeConnection(rs,st,conn);
    return stu;
}

//更改数据
public void updateStudent(Student student){
    String sql = "update student set sno=?,name=?,sex=?,age=? where id=?";
    Connection conn = JDBCUtil.getInstance().getConnection();//获取连接
    try {
        PreparedStatement  st = conn.prepareStatement(sql);
        st.setString(1, student.getSno());
        st.setString(2, student.getName());
        st.setString(3, student.getSex());
        st.setString(4, student.getAge());
        st.setInt(5, student.getId());
        st.executeUpdate();
    } catch (SQLException e) {
        e.printStackTrace();
    }
    JDBCUtil.getInstance().closeConnection(rs,st,conn);
}

//删除数据
public void deleteStudent(int id){
    String sql = "delete from  student where id=?";
    Connection conn = JDBCUtil.getInstance().getConnection();//获取连接
    try {
        PreparedStatement  st = conn.prepareStatement(sql);
        st.setInt(1, id);
        st.executeUpdate();
    } catch (SQLException e) {
        e.printStackTrace();
    }
    JDBCUtil.getInstance().closeConnection(rs,st,conn);
}

}

JDBC的工具类

package com.hdxy.Dao;

import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

import com.mysql.jdbc.Connection;
//JDBC的工具类
public class JDBCUtil {
//一.初始化数据库相关信息对象
static String driverClass="com.mysql.jdbc.Driver";
static String url="jdbc:mysql://localhost:3306/student?characterEncoding=utf-8";;
static String name="root";
static String password="root";
static Connection conn = null;
private static JDBCUtil instance = null;

private JDBCUtil(){

}

public static JDBCUtil getInstance(){
    if(instance == null){
        synchronized (JDBCUtil.class) {
            if(instance == null){
                instance = new JDBCUtil();
            }
        }
    }
    return instance;

}
//二.读取jdbc.properties文件并把相关信息赋予对象
    static{
        try{
            String driver = null;
            Class.forName(driver);
        }catch(ClassNotFoundException e){
            e.printStackTrace();
        }
    }

//三.获取连接对象
public Connection getConnection(){
    try{        
        conn= (Connection) DriverManager.getConnection(url,name,password);
    }catch (Exception e) {
        e.printStackTrace();
    }
    return conn;
}

public void closeConnection(ResultSet rs, Statement st, java.sql.Connection conn) {
    try {
        if(rs != null){
            rs.close();
        }
    } catch (SQLException e) {
        e.printStackTrace();
    } finally{
        try{
            if(st != null){
                st.close();
            }
        }catch(Exception e){
            e.printStackTrace();
        }finally{
            try{
                if(conn != null){
                    conn.close();
                }
            }catch(Exception e){
                e.printStackTrace();
            }
        }
    }
}

}

服务类

package com.hdxy.Service;

import java.util.List;

import com.hdxy.Dao.StudentDao;
import com.hdxy.Student.Student;
//服务类
public class StudentService {

public List<Student> testQuery(){
    StudentDao studentDao = new StudentDao();//获取StudentDao实现类
    List<Student> list = studentDao.testQuery();
    return list;//返回值类型return,返回list
}

public void saveStudent(Student student){
    StudentDao studentDao = new StudentDao();
    studentDao.saveStudent(student);
}

public Student getStudent(int id){
    StudentDao studentDao = new StudentDao();
    return studentDao.getStudent(id);
}

public void deleteStudent(int id){
    StudentDao studentDao = new StudentDao();
    studentDao.deleteStudent(id);
}

public void updateStudent(Student student){
    StudentDao studentDao = new StudentDao();
    studentDao.updateStudent(student);
}

}

实体类

package com.hdxy.Student;

public class Student {
private int id;
private String sno;
private String name;
private String sex;
private String age;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getSno() {
return sno;
}
public void setSno(String sno) {
this.sno = sno;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
public String getAge() {
return age;
}
public void setAge(String age) {
this.age = age;
}
public Student(int id, String sno, String name, String sex, String age) {
super();
this.id = id;
this.sno = sno;
this.name = name;
this.sex = sex;
this.age = age;
}
public Student() {

}
@Override
public String toString() {
    return "Student [id=" + id + ", sno=" + sno + ", name=" + name + ", sex=" + sex + ", age=" + age + "]";
}

}

Servlet

package com.hdxy.Servlet;

import java.io.IOException;
import java.util.List;
import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import com.hdxy.Student.Student;
import com.hdxy.Service.StudentService;

public class StudentServlet extends HttpServlet {
/**
*
*/
private static final long serialVersionUID = 1L;

@Override
protected void doGet(HttpServletRequest request,
        HttpServletResponse response) throws ServletException, IOException {
    doPost(request, response);
}   


@Override
protected void doPost(HttpServletRequest request,
        HttpServletResponse response) throws ServletException, IOException {
    request.setCharacterEncoding("UTF-8");
    response.setContentType("text/html; charset=UTF-8");
    String method = request.getParameter("method");
    if("testQuery".equals(method)){
        testQuery(request,response);
        System.out.println("888");
    }else if("toAdd".equals(method)){
        toAdd(request,response);
    }else if("toEdit".equals(method)){
        toEdit(request,response);
    }else if("saveStudent".equals(method)){
        saveStudent(request,response);
    }else if("updateStudent".equals(method)){
        updateStudent(request,response);
    }else if("deleteStudent".equals(method)){
        deleteStudent(request,response);
    }
    System.out.println("777");
}

private void testQuery(HttpServletRequest request,HttpServletResponse response) throws ServletException, IOException{
    StudentService studentService = new StudentService();
    List<Student> list = studentService.testQuery();
    request.setAttribute("testQuery", list);
    RequestDispatcher dispatcher = request.getRequestDispatcher("/list.jsp");
    dispatcher.forward(request, response);
    System.out.println("111");
}


private void toAdd(HttpServletRequest request,HttpServletResponse response) throws ServletException, IOException{
    RequestDispatcher dispatcher = request.getRequestDispatcher("/add.jsp");
    dispatcher.forward(request, response);
    System.out.println("222");
}

private void toEdit(HttpServletRequest request,HttpServletResponse response) throws ServletException, IOException{
    int id = Integer.parseInt(request.getParameter("id"));
    StudentService studentService = new StudentService();
    Student student = studentService.getStudent(id);
    request.setAttribute("student", student);
    RequestDispatcher dispatcher = request.getRequestDispatcher("/edit.jsp");
    dispatcher.forward(request, response);
    System.out.println("333");
}

private void saveStudent(HttpServletRequest request,HttpServletResponse response) throws ServletException, IOException{

    Student student = new Student();
    student.setSno(request.getParameter("sno"));
    student.setName(request.getParameter("name"));
    student.setSex(request.getParameter("sex"));
    student.setAge(request.getParameter("age"));

    StudentService studentService = new StudentService();
    studentService.saveStudent(student);
    RequestDispatcher dispatcher = request.getRequestDispatcher("/index.jsp");
    dispatcher.forward(request, response);
    System.out.println("444");
}

private void updateStudent(HttpServletRequest request,HttpServletResponse response) throws ServletException, IOException{
    Student student = new Student();
    student.setSno(request.getParameter("sno"));
    student.setName(request.getParameter("name"));
    student.setSex(request.getParameter("sex"));
    student.setId(Integer.parseInt(request.getParameter("id")));
    student.setAge(request.getParameter("age"));

    StudentService studentService = new StudentService();
    studentService.updateStudent(student);
    RequestDispatcher dispatcher = request.getRequestDispatcher("/index.jsp");
    dispatcher.forward(request, response);
    System.out.println("555");
}

private void deleteStudent(HttpServletRequest request,HttpServletResponse response) throws ServletException, IOException{
    int id = Integer.parseInt(request.getParameter("id"));
    StudentService studentService = new StudentService();
    studentService.deleteStudent(id);
    RequestDispatcher dispatcher = request.getRequestDispatcher("/index.jsp");
    dispatcher.forward(request, response);
    System.out.println("666");
}

}

1个回答

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
如何用C语言建立实现增删改查功能的数据库

用C语言或者C++实现数据库的增,删,改,查功能,可以考虑用B树,但是不知道怎么做才能够让程序跑起来,需要用到什么软件呢?字符界面即可,谢谢!

用servlet、jsp写一个简单的用户管理功能 要求:包括用户的增删改查,用户登录,缓存到map中就行

用servlet、jsp写一个简单的用户管理功能 要求:包括用户的增删改查,用户登录,可以不实用数据库,缓存到map中就行

初学android,现在要用sqlite数据库做一个用界面显示的增删改查,跪求各位大神指点!!!

在android中,用sqlite数据库做一个用页面显示的增删改查,一个页面操作插入一条记录,一个页面显示查询所有记录并做删除和修改记录。跪求大神指点!!!

java 学生信息管理系统怎么做

创建学生信息管理系统,学生类Student表示学生信息,学生管理类StudentManager完成学生的增删改查具体操作,Client完成各种操作的输入输出并调用StudentManager的方法完成具体功能。 要求如下: 学生信息包括:学号 姓名 数学成绩 英语成绩 语文成绩 功能1:添加学生信息 执行1时,输入学号,姓名,三门科目成绩;如果添加学生成功则输出“Add success”,如果学生已存在则输出“Students already exist” 功能2:删除学生信息 执行2时,输入学号信息;如果学生不存在,输出“Students do not exist”,如果存在,则输出“Delete success” 功能3:更改学生成绩信息 执行3时,输入学号信息;如果学生不存在,输出“Students do not exist”,如果存在,输出“Update success” 功能4:显示学生平均分成绩 执行4时,输入学号信息;如果学生不存在,输出“Students do not exist”,如果存在,则输出学生信息,如下格式: Student ID:2019989890 Name:Jerry Average Score:89.3 其中平均分为三门科目相加除以3,保留一位小数,每行之间换行 先输入一个整数表示执行多少次功能。之后每一行表示执行一种功能。 1,2,3,4分别对应执行上面4种功能。 输入样例 8 1 201817123 Tom 89 80 76 1 2019989890 Jerry 78 99 67 4 201817123 2 201817123 4 201817123 4 2019989890 3 2019989890 79 90 99 4 2019989890 输出样例 Add success Add success Student ID:201817123 Name:Tom Average Score:81.7 Delete success Students do not exist Student ID:2019989890 Name:Jerry Average Score:81.3 Update success Student ID:2019989890 Name:Jerry Average Score:89.3

SSM框架的增删改查!!!

自己上网找过一些博客,不过很多都有一小部分不完整,我一个初学者,所以有些不明白,自己主要不懂得部分就是js那部分的代码,新增我已经写好啦,现在是从数据库获取数据到显示在前台页面,还有删改查,我是用拼接来获取html数据,感谢各位前辈指点!(可以帮忙的留下微信或者QQ,找我拿我的压缩包)

小学渣求一个学生信息管理系统php毕业设计

毕业设计可以是php、html的都可以 学生登录教师登录增删改查的基本操作这些 求求你们了 我是真的想要你们帮帮我

C语言,帮助某学生管理系统设计并实现学生个人信息的查询与删除功能

C语言,帮助某学生管理系统设计并实现学生个人信息的查询与删除功能

如何用C#实现学生信息管理系统?

如何用C#实现学生信息管理系统啊?求大神指点迷津,求代码。。。。。![图片说明](http://forum.csdn.net/PointForum/ui/scripts/csdn/Plugin/001/face/4.gif)![图片说明](http://forum.csdn.net/PointForum/ui/scripts/csdn/Plugin/001/face/4.gif)

java简单学生管理系统,

1:系统启动时,创建一个学校,然后给学校一些初始化学生信息、课程信息。 2:学生信息管理(StudentManager) 1.增加学生 2.修改学生 3.删除学生 4.查询学生 5.打印学生 6.课程管理 7.系统退出 3:课程信息管理(CourseManager) 1.增加课程 2.修改课程 3.删除课程 4.通过学生学号,查询该学生选课情况 课程号:12,15,17,18 split(",") 在学生对象加一个课程号的属性,属性存的是该学生所有的课程号, 如果有很多个课程号,把多个课程号用“,”隔开,拼接成字符串 再赋值给学生的课程号属性。 5.通过课程号,打印当前课程下面学生信息 6.学生通过课程号选课。 7.学生放弃自己所输入的课程。 8.返回上级菜单 主键: 学生:学号 课程:课程号(不能重复,唯一) 不能用数据库,求大神帮忙

java 信息增删改查 不使用数据库 用到list集合

使用list集合,,,实现用姓名查询和删除功能, ,,,信息就是学生信息,,包括姓名,专业,性别,年龄,,,,怎么做呀

求一个简易的学生教务管理系统,有管理员,教师,学生帐号

实现教师端录入成绩,学生查询,管理员初始化教师与学生信息,并响应教师修改成绩请求

c语言做一个学生信息管理系统学生管理系统0、退出系统1、信息录入2、信息浏览3、信息排序4、信息查询5、信息清屏,大佬帮忙?

c语言做一个学生信息管理系统学生管理系统0、退出系统1、信息录入2、信息浏览3、信息排序4、信息查询5、信息清屏 ![图片说明](https://img-ask.csdn.net/upload/202007/02/1593682315_796794.png)![图片说明](https://img-ask.csdn.net/upload/202007/02/1593682329_370800.png)![图片说明](https://img-ask.csdn.net/upload/202007/02/1593682359_200705.png)![图片说明](https://img-ask.csdn.net/upload/202007/02/1593682370_583756.png)![图片说明](https://img-ask.csdn.net/upload/202007/02/1593682378_446195.png)![图片说明](https://img-ask.csdn.net/upload/202007/02/1593682393_941237.png)![图片说明](https://img-ask.csdn.net/upload/202007/02/1593682400_200604.png) system("cls")实现信息清屏操作

求简单的Java学生宿舍基本信息管理系统,有大神指导吗?

实现简单的学生宿舍基本信息管理,宿舍的基本信息包括宿舍编号、所在楼栋、房间号、面积、设施、所容纳人数、已入住人数、是否住满等(不需要登陆界面,账号密码等不用考虑宿舍人员 )。需要连接SQL数据库 基本功能需求 1、相关系统能够添加对应支持的信息 2、修改信息 3、删除信息 4、查询信息 5、排序信息 以上为基本要求。 需要以下文档: 5.1 陈述你的题目 5.2 演示你实现的程序运行过程和系统功能 5.3 你编写了哪些java文件、定义了哪些类(属性、方法)、数据库表 5.4 结合功能(比如菜单选择,增添、删除信息)讲解对象是如何交互实现的该功能 5.5 总结和展望(工作总结+存在不足+未来工作

使用Struts_2+Spring_3+Hibernate开发一个简单的学生课程设计管理系统?

功能需求: 首先,需要有一个登录操作,只有合法的身份才能登录;然后,就是要实现基本的增删查改功能;当然,其中也有一些计算课程设计平均分的设计,便于学生管理自己的课程设计。 1、为了便于各种操作,软件采用多页面的模式。用户可在不同网页进行相应操作(录入、查询、修改、删除、显示所有信息)。 2、主页面(显示所有信息页面)是用户进行各种操作的平台,具体操作在各个独立功能页面中完成。 3、主页面的主要功能位于操作表列中,为进入各个功能窗口的唯一通道。 4、当用户在进行个别录入、删除或错误输入操作时,会弹出相应对话框提示用户。如当录入成功或删除成功,弹出成功以及相应的简明信息提示当,当录入、删除失败以及输入不当时,弹出错误以及简单的错误原因提示用户重新操作。 5、页面布局尽量合理,各组件位置分布均匀美观。 具体功能描述: (1)评估说明:评估指标有课程设计报告成绩(权值为0.5,四种成绩为90、80、70、60)、上机考勤成绩(权值为0.2,四种成绩为90、80、70、60)、程序开发成绩(权值为0.3,四种成绩为90、80、70、60);最终成绩是这三个指标的加权平均值。 (2)功能描述:用户以合法身份登录系统后,才能进行所有操作;用户可以添加、查看和删除课程设计信息(课程设计名称、指导教师、课程设计报告成绩、上机考勤成绩、程序开发成绩)。 (3)添加课程设计信息 (4)查看课程设计信息 (5)删除课程设计信息 (6)计算每个课程设计的最终成绩

python+django+mysql做一个校友信息管理系统?

编程(Python)实现大学校友的个人信息管理网站,具有友好人机交互界面,具备对校友基本信息的增删改查功能。基于的django的Python web开发,实现管理员登录和学生登录,要求学生本人使用学号注册登录,填写个人信息。管理员使用账号登陆,可以对已有学生的信息增删改查,排序,统计学生个数,显示所有学生信息功能。后台数据库使用MySQL,

如何实现一个简单操作系统,

# 具体需要哪些步骤,需要哪些准备 ## # 有实现的跪求代码共享

学生成绩管理系统 用c编写

编写一个学生成绩管理系统 ,可查询,修改,删除,插入,![图片](https://img-ask.csdn.net/upload/201607/05/1467715262_118604.png)

Android设计并实现图书管理信息系统,建立一个SQLite数据库保存图书信息

设计并实现图书管理信息系统,建立一个SQLite数据库保存图书信息(图书信息至少包含:ISBN,书名,作者,价格,出版社)。设计android界面完成增、删、改、查的功能。。

简单目录管理系统的设计与实现

我怎么弄都无法设计好头文件 ****哪位大佬帮忙看看 头文件所处位置在#号标记的地方 typedef struct CTNode { int child; struct CTNode *next; }childnode,*childptr; typedef struct { elemtype name[20]; int number; int parent; int sign; childptr firstchild; }CTbox; typedef struct { CTbox nodes[maxsize]; int n; int r; }CTree; void linkcreat(childptr &L) //带头结点的链表的建立 { childnode *p,*q; L=(childptr)malloc(sizeof(childnode)); L->next=NULL; p=L; printf("一次性输入子目录在数组中的位置(数据之间空格),输入-2结束\n"); //p->child=getchar(); //输入字符会转换成ASCII值存储 std::cin>>p->child; while(p->child!=-2) { q=p; p=(childptr)malloc(sizeof(childnode)); //printf("输入子目录位置:"); //p->child=getchar(); std::cin>>p->child; p->next=q; } L=p; //以上采用了倒序插入结点法建立链表 } (2)void creatTree(CTree &T)//将目录系统画成树形结构,然后树的层序建立目录系统 { int i,j,n; printf("开始建立级数为4的目录系统:\n"); printf("目录的个数为:"); std::cin>>T.n; T.r=0; //主目录存放在数组的首地址 for(i=0;i<T.n;i++) { printf(" "); printf("请输入目录的编号:"); std::cin>>T.nodes[i].number; printf(" "); printf("请输入目录的名称:"); std::cin>>T.nodes[i].name; printf(" "); printf("该目录所在级数为(1~4)"); std::cin>>T.nodes[i].sign; printf(" "); printf("该目录的上级目录所在位置(若没有则输入-1):"); std::cin>>T.nodes[i].parent; printf("\n"); //system ("cls"); } //接下来各目录的子目录链表 for(j=0;j<T.n;j++) { printf("第%d个目录的子目录的建立:\n",j+1); linkcreat(T.nodes[j].firstchild); //system ("cls"); } printf("简单的(4级)目录系统已建好,可以使用!\n"); } (3)int searchname(CTree &T,elemtype data[]) //返回数据data在系统中的位置,不在其中返回-1 { int i,a=-1; for(i=0;i<T.n;i++) { if(strcmp(T.nodes[i].name,data)==0) //data在系统中 a=i; } return a; } (4)void search(CTree &T) //查询目录信息 { elemtype data[20]; int i,j,m,n; childnode *p,*q; if(T.nodes[0].firstchild==NULL) printf("系统为空,请先建立系统!\n"); else {printf("请输入您要查询的目录名称:"); std::cin>>data; if(searchname(T,data)==-1) printf("对不起,您输入的目录不在本系统中\n"); else { printf("您要查询的信息为:\n"); n=searchname(T,data); printf(" %s的编号为%d \n",T.nodes[n].name,T.nodes[n].number); printf(" 该目录的上级目录为:"); if(n==0) printf(" 该目录已为主目录,无上级目录\n"); else { m=T.nodes[n].parent; printf("%s\n",T.nodes[m].name); } printf(" 该目录的子目录为:"); if(T.nodes[n].firstchild->next==NULL) printf("没有子目录\n"); else { p=T.nodes[n].firstchild->next; while(p!=NULL) { j=p->child; printf("%s ",T.nodes[j].name); p=p->next; } } printf("\n"); } } } (5)void changename(CTree &T) //更改目录名称 { elemtype dname[20],chname[20]; int m,n; if(T.nodes[0].firstchild==NULL) printf("系统为空,请先建立系统!\n"); else { printf("请输入您要修改的目录名称(即修改对象):"); std::cin>>dname; n=searchname(T,dname); if(n==-1) printf("对不起,您所输入的目录不在系统中\n"); else { printf("更改该目录名称为:"); std::cin>>chname; strcpy(T.nodes[n].name,chname); } } } //按上下级关系输出,即输出某目录带其子目录 (6)void oncetravel(CTree &T,int j)//第j级目录的子目录输出 { int i,m,n; childnode *p; for(i=0;i<T.n;i++) { if(T.nodes[i].sign==j) { p=T.nodes[i].firstchild->next; if(p!=NULL) { while(p!=NULL) { m=p->child; n=T.nodes[m].sign; printf("\n %s (%d)-------- %s (%d) ",T.nodes [n].name,T.nodes[n].sign,T.nodes[m].name,T.nodes[m].sign); p=p->next; } } } } } (7)void firsttravel(CTree &T) //默认主目录为0,输出主目录的子目录 { int i,j,k,m=T.r; childnode *p; p=T.nodes[m].firstchild->next; while(p!=NULL) { m=p->child; printf("\n %s (%d)-------- %s (%d) ",T.nodes[T.r].name,T.nodes [T.r].sign,T.nodes[m].name,T.nodes[m].sign); p=p->next; } //printf(" hello!"); } (8)void travel(CTree &T) //按上下级关系输出 { if(T.nodes[0].firstchild==NULL) printf("系统为空,请先建立系统!\n"); else { int n=M,e,j,k,m; printf(" **********输出目录菜单***************\n\n"); printf(" ****** 1.一级子目录输出 ******\n"); printf(" ****** 2.二级子目录输出 ******\n"); printf(" ****** 3.三级子目录输出 ******\n"); printf(" *************************************\n\n"); printf(" 您选择:"); std::cin>>e; printf("\n"); while(e!=-1) { switch(e) { case 1: printf("一级子目录输出: "); firsttravel(T); printf("\n"); break; case 2: printf("二级子目录输出: "); oncetravel(T,2); printf("\n"); break; case 3: printf("三级子目录输出: "); oncetravel(T,3); printf("\n"); break; } printf(" \n请输入选择(-1结束)\n"); std::cin>>e; } } } (9)void leveltravel(CTree &T) //按树的层序输出 { if(T.nodes[0].firstchild==NULL) printf("系统为空,请先建立系统!\n"); else { for(int i=0;i<T.n;i++) { printf(" 目录名:%s ,",T.nodes[i].name); printf(" 编号: %d ",T.nodes[i].number); printf("\n"); } } } (10)void deletelink(childnode *&L) //销毁链表 { childnode *p,*q; p=L; q=p; while(q!=NULL) { q=p->next; free(p); p=q; } } (11)void deletesystem(CTree &T) //销毁树,即销毁已建的目录系统 { if(T.nodes[0].firstchild==NULL) printf("系统为空,请先建立系统!\n"); else { for(int a=0;a<T.n;a++) { deletelink(T.nodes[a].firstchild);//先消除子目录链表 T.nodes[a].firstchild; } printf("该目录系统已删除,可以重新创建系统\n"); } } void menu() { printf(" ****************************************************\n"); printf(" ************* 简单目录管理系统 *************\n"); printf(" ***** ****\n"); printf(" ****** *****请选择您的操作(0~6) **** ******** \n \n"); printf(" ****** 1.新建目录系统 ********* \n"); printf(" ****** 2.查询目录信息 ********* \n"); printf(" ****** 3.修改目录名称 ********* \n"); printf(" ****** 4.按上下级关系输出目录 ********* \n"); printf(" ****** 5.按树的层序输出目录 ********* \n"); printf(" ****** 6.删除目录系统 ********* \n"); printf(" ****** 0.退出系统 ********* \n"); printf(" ****************************************************\n"); printf(" ****************************************************\n"); //printf("请输入你的选择:\n"); } # # # # # # ## include<iostream.h> # # # # # # ## # ## # #include<stdio.h> # # # # # # ## #include<stdlib.h> # # # # # # ## int main() { CTree CT; CT.r=0; CT.nodes[CT.r].firstchild=NULL; int e; menu(); printf("请输入你的选择:"); std::cin>>e; do{ switch(e) { case 1:printf(" 您选择了新建系统\n"); creatTree(CT); system("pause"); system("cls"); menu(); break; case 2:printf(" 您选择了查询目录\n"); search(CT); system("pause"); system("cls"); menu(); break; case 3:printf(" 您选择了修改目录\n"); changename(CT); system("pause"); system("cls"); menu();; break; case 4:system("cls"); printf(" 您选择了按上下级关系输出目录\n"); travel(CT); system("pause"); system("cls"); menu(); break; case 5:printf(" 您选择了按树的层序输出目录\n"); leveltravel(CT); system("pause"); system("cls"); menu(); break; case 6:deletesystem(CT); system("pause"); system("cls"); menu(); break; case 0:exit(0); break; } printf("请输入您的选择:"); std::cin>>e; } while(e>=0&&e<7); system("pause"); return 0; }

linux下利用/proc进行进程树的打印

在linux下利用c语言实现的进程树的打印,主要通过/proc下的目录中的进程文件,获取status中的进程信息内容,然后利用递归实现进程树的打印

设计模式(JAVA语言实现)--20种设计模式附带源码

课程亮点: 课程培训详细的笔记以及实例代码,让学员开始掌握设计模式知识点 课程内容: 工厂模式、桥接模式、组合模式、装饰器模式、外观模式、享元模式、原型模型、代理模式、单例模式、适配器模式 策略模式、模板方法模式、观察者模式、迭代器模式、责任链模式、命令模式、备忘录模式、状态模式、访问者模式 课程特色: 笔记设计模式,用笔记串连所有知识点,让学员从一点一滴积累,学习过程无压力 笔记标题采用关键字标识法,帮助学员更加容易记住知识点 笔记以超链接形式让知识点关联起来,形式知识体系 采用先概念后实例再应用方式,知识点深入浅出 提供授课内容笔记作为课后复习以及工作备查工具 部分图表(电脑PC端查看):

Python数据分析与挖掘

92讲视频课+16大项目实战+源码+¥800元课程礼包+讲师社群1V1答疑+社群闭门分享会=99元 &nbsp; 为什么学习数据分析? &nbsp; &nbsp; &nbsp; 人工智能、大数据时代有什么技能是可以运用在各种行业的?数据分析就是。 &nbsp; &nbsp; &nbsp; 从海量数据中获得别人看不见的信息,创业者可以通过数据分析来优化产品,营销人员可以通过数据分析改进营销策略,产品经理可以通过数据分析洞察用户习惯,金融从业者可以通过数据分析规避投资风险,程序员可以通过数据分析进一步挖掘出数据价值,它和编程一样,本质上也是一个工具,通过数据来对现实事物进行分析和识别的能力。不管你从事什么行业,掌握了数据分析能力,往往在其岗位上更有竞争力。 &nbsp;&nbsp; 本课程共包含五大模块: 一、先导篇: 通过分析数据分析师的一天,让学员了解全面了解成为一个数据分析师的所有必修功法,对数据分析师不在迷惑。 &nbsp; 二、基础篇: 围绕Python基础语法介绍、数据预处理、数据可视化以及数据分析与挖掘......这些核心技能模块展开,帮助你快速而全面的掌握和了解成为一个数据分析师的所有必修功法。 &nbsp; 三、数据采集篇: 通过网络爬虫实战解决数据分析的必经之路:数据从何来的问题,讲解常见的爬虫套路并利用三大实战帮助学员扎实数据采集能力,避免没有数据可分析的尴尬。 &nbsp; 四、分析工具篇: 讲解数据分析避不开的科学计算库Numpy、数据分析工具Pandas及常见可视化工具Matplotlib。 &nbsp; 五、算法篇: 算法是数据分析的精华,课程精选10大算法,包括分类、聚类、预测3大类型,每个算法都从原理和案例两个角度学习,让你不仅能用起来,了解原理,还能知道为什么这么做。

广工操作系统课程设计(文档+代码+可执行文件)

实现作业调度(先来先服务)、进程调度功能(时间片轮转) 实现内存管理功能(连续分配)。 实现文件系统功能(选作) 这些功能要有机地连接起来

Only老K说-爬取妹子图片(简单入门)

安装第三方请求库 requests 被网站禁止了访问 原因是我们是Python过来的 重新给一段 可能还是存在用不了,使用网页的 编写代码 上面注意看匹配内容 User-Agent:请求对象 AppleWebKit:请求内核 Chrome浏览器 //请求网页 import requests import re //正则表达式 就是去不规则的网页里面提取有规律的信息 headers = { 'User-Agent':'存放浏览器里面的' } response = requests.get

linux“开发工具三剑客”速成攻略

工欲善其事,必先利其器。Vim+Git+Makefile是Linux环境下嵌入式开发常用的工具。本专题主要面向初次接触Linux的新手,熟练掌握工作中常用的工具,在以后的学习和工作中提高效率。

Python代码实现飞机大战

文章目录经典飞机大战一.游戏设定二.我方飞机三.敌方飞机四.发射子弹五.发放补给包六.主模块 经典飞机大战 源代码以及素材资料(图片,音频)可从下面的github中下载: 飞机大战源代码以及素材资料github项目地址链接 ————————————————————————————————————————————————————————— 不知道大家有没有打过飞机,喜不喜欢打飞机。当我第一次接触这个东西的时候,我的内心是被震撼到的。第一次接触打飞机的时候作者本人是身心愉悦的,因为周边的朋友都在打飞机, 每

Python数据清洗实战入门

本次课程主要以真实的电商数据为基础,通过Python详细的介绍了数据分析中的数据清洗阶段各种技巧和方法。

2019 Python开发者日-培训

本次活动将秉承“只讲技术,拒绝空谈”的理念,邀请十余位身处一线的Python技术专家,重点围绕Web开发、自动化运维、数据分析、人工智能等技术模块,分享真实生产环境中使用Python应对IT挑战的真知灼见。此外,针对不同层次的开发者,大会还安排了深度培训实操环节,为开发者们带来更多深度实战的机会。

apache-jmeter-5.1.1(Requires Java 8+).zip

。Apache JMeter 5.1.1 (Requires Java 8+),需要jdk8以上的版本。

数通HCNP中文理论全套教材.rar

内涵HCNP-IENP中文理论书-内文,

Python可以这样学(第四季:数据分析与科学计算可视化)

董付国老师系列教材《Python程序设计(第2版)》(ISBN:9787302436515)、《Python可以这样学》(ISBN:9787302456469)配套视频,在教材基础上又增加了大量内容,通过实例讲解numpy、scipy、pandas、statistics、matplotlib等标准库和扩展库用法。

Java基础知识面试题(2020最新版)

文章目录Java概述何为编程什么是Javajdk1.5之后的三大版本JVM、JRE和JDK的关系什么是跨平台性?原理是什么Java语言有哪些特点什么是字节码?采用字节码的最大好处是什么什么是Java程序的主类?应用程序和小程序的主类有何不同?Java应用程序与小程序之间有那些差别?Java和C++的区别Oracle JDK 和 OpenJDK 的对比基础语法数据类型Java有哪些数据类型switc...

我以为我对Mysql事务很熟,直到我遇到了阿里面试官

太惨了,面试又被吊打

2019 AI开发者大会

2019 AI开发者大会(AI ProCon 2019)是由中国IT社区CSDN主办的AI技术与产业年度盛会。多年经验淬炼,如今蓄势待发:2019年9月6-7日,大会将有近百位中美顶尖AI专家、知名企业代表以及千余名AI开发者齐聚北京,进行技术解读和产业论证。我们不空谈口号,只谈技术,诚挚邀请AI业内人士一起共铸人工智能新篇章!

图书管理系统(Java + Mysql)我的第一个完全自己做的实训项目

图书管理系统 Java + MySQL 完整实训代码,MVC三层架构组织,包含所有用到的图片资源以及数据库文件,大三上学期实训,注释很详细,按照阿里巴巴Java编程规范编写

Python数据挖掘简易入门

&nbsp; &nbsp; &nbsp; &nbsp; 本课程为Python数据挖掘方向的入门课程,课程主要以真实数据为基础,详细介绍数据挖掘入门的流程和使用Python实现pandas与numpy在数据挖掘方向的运用,并深入学习如何运用scikit-learn调用常用的数据挖掘算法解决数据挖掘问题,为进一步深入学习数据挖掘打下扎实的基础。

C/C++学习指南全套教程

C/C++学习的全套教程,从基本语法,基本原理,到界面开发、网络开发、Linux开发、安全算法,应用尽用。由毕业于清华大学的业内人士执课,为C/C++编程爱好者的教程。

微信公众平台开发入门

本套课程的设计完全是为初学者量身打造,课程内容由浅入深,课程讲解通俗易懂,代码实现简洁清晰。通过本课程的学习,学员能够入门微信公众平台开发,能够胜任企业级的订阅号、服务号、企业号的应用开发工作。 通过本课程的学习,学员能够对微信公众平台有一个清晰的、系统性的认识。例如,公众号是什么,它有什么特点,它能做什么,怎么开发公众号。 其次,通过本课程的学习,学员能够掌握微信公众平台开发的方法、技术和应用实现。例如,开发者文档怎么看,开发环境怎么搭建,基本的消息交互如何实现,常用的方法技巧有哪些,真实应用怎么开发。

三个项目玩转深度学习(附1G源码)

从事大数据与人工智能开发与实践约十年,钱老师亲自见证了大数据行业的发展与人工智能的从冷到热。事实证明,计算机技术的发展,算力突破,海量数据,机器人技术等,开启了第四次工业革命的序章。深度学习图像分类一直是人工智能的经典任务,是智慧零售、安防、无人驾驶等机器视觉应用领域的核心技术之一,掌握图像分类技术是机器视觉学习的重中之重。针对现有线上学习的特点与实际需求,我们开发了人工智能案例实战系列课程。打造:以项目案例实践为驱动的课程学习方式,覆盖了智能零售,智慧交通等常见领域,通过基础学习、项目案例实践、社群答疑,三维立体的方式,打造最好的学习效果。

2021考研数学张宇基础30讲.pdf

张宇:博士,全国著名考研数学辅导专家,教育部“国家精品课程建设骨干教师”,全国畅销书《张宇高等数学18讲》《张宇线性代数9讲》《张宇概率论与数理统计9讲》《张宇考研数学题源探析经典1000题》《张宇考

专为程序员设计的数学课

<p> 限时福利限时福利,<span>15000+程序员的选择!</span> </p> <p> 购课后添加学习助手(微信号:csdn590),按提示消息领取编程大礼包!并获取讲师答疑服务! </p> <p> <br> </p> <p> 套餐中一共包含5门程序员必学的数学课程(共47讲) </p> <p> 课程1:《零基础入门微积分》 </p> <p> 课程2:《数理统计与概率论》 </p> <p> 课程3:《代码学习线性代数》 </p> <p> 课程4:《数据处理的最优化》 </p> <p> 课程5:《马尔可夫随机过程》 </p> <p> <br> </p> <p> 哪些人适合学习这门课程? </p> <p> 1)大学生,平时只学习了数学理论,并未接触如何应用数学解决编程问题; </p> <p> 2)对算法、数据结构掌握程度薄弱的人,数学可以让你更好的理解算法、数据结构原理及应用; </p> <p> 3)看不懂大牛代码设计思想的人,因为所有的程序设计底层逻辑都是数学; </p> <p> 4)想学习新技术,如:人工智能、机器学习、深度学习等,这门课程是你的必修课程; </p> <p> 5)想修炼更好的编程内功,在遇到问题时可以灵活的应用数学思维解决问题。 </p> <p> <br> </p> <p> 在这门「专为程序员设计的数学课」系列课中,我们保证你能收获到这些:<br> <br> <span> </span> </p> <p class="ql-long-24357476"> <span class="ql-author-24357476">①价值300元编程课程大礼包</span> </p> <p class="ql-long-24357476"> <span class="ql-author-24357476">②应用数学优化代码的实操方法</span> </p> <p class="ql-long-24357476"> <span class="ql-author-24357476">③数学理论在编程实战中的应用</span> </p> <p class="ql-long-24357476"> <span class="ql-author-24357476">④程序员必学的5大数学知识</span> </p> <p class="ql-long-24357476"> <span class="ql-author-24357476">⑤人工智能领域必修数学课</span> </p> <p> <br> 备注:此课程只讲程序员所需要的数学,即使你数学基础薄弱,也能听懂,只需要初中的数学知识就足矣。<br> <br> 如何听课? </p> <p> 1、登录CSDN学院 APP 在我的课程中进行学习; </p> <p> 2、登录CSDN学院官网。 </p> <p> <br> </p> <p> 购课后如何领取免费赠送的编程大礼包和加入答疑群? </p> <p> 购课后,添加助教微信:<span> csdn590</span>,按提示领取编程大礼包,或观看付费视频的第一节内容扫码进群答疑交流! </p> <p> <img src="https://img-bss.csdn.net/201912251155398753.jpg" alt=""> </p>

DDR5_Draft_Spec_Rev05c.pdf

DDR5 spec

Java面试史上最全的JAVA专业术语面试100问 (前1-50)

前言: 说在前面, 面试题是根据一些朋友去面试提供的,再就是从网上整理了一些。 先更新50道,下一波吧后面的也更出来。 求赞求关注!! 废话也不多说,现在就来看看有哪些面试题 1、面向对象的特点有哪些? 抽象、继承、封装、多态。 2、接口和抽象类有什么联系和区别? 3、重载和重写有什么区别? 4、java有哪些基本数据类型? 5、数组有没有length()方法?String有没有length()方法? 数组没有length()方法,它有length属性。 String有length()方法。 集合求长度用

网络工程师小白入门--【思科CCNA、华为HCNA等网络工程师认证】

本课程适合CCNA或HCNA网络小白同志,高手请绕道,可以直接学习进价课程。通过本预科课程的学习,为学习网络工程师、思科CCNA、华为HCNA这些认证打下坚实的基础! 重要!思科认证2020年2月24日起,已启用新版认证和考试,包括题库都会更新,由于疫情原因,请关注官网和本地考点信息。题库网络上很容易下载到。

C/C++跨平台研发从基础到高阶实战系列套餐

一 专题从基础的C语言核心到c++ 和stl完成基础强化; 二 再到数据结构,设计模式完成专业计算机技能强化; 三 通过跨平台网络编程,linux编程,qt界面编程,mfc编程,windows编程,c++与lua联合编程来完成应用强化 四 最后通过基于ffmpeg的音视频播放器,直播推流,屏幕录像,

Python界面版学生管理系统

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

2019数学建模A题高压油管的压力控制 省一论文即代码

2019数学建模A题高压油管的压力控制省一完整论文即详细C++和Matlab代码,希望对同学们有所帮助

4小时玩转微信小程序——基础入门与微信支付实战

这是一个门针对零基础学员学习微信小程序开发的视频教学课程。课程采用腾讯官方文档作为教程的唯一技术资料来源。杜绝网络上质量良莠不齐的资料给学员学习带来的障碍。 视频课程按照开发工具的下载、安装、使用、程序结构、视图层、逻辑层、微信小程序等几个部分组织课程,详细讲解整个小程序的开发过程

相关热词 c#分级显示数据 c# 不区分大小写替换 c#中调用就java c#正则表达式 验证小数 c# vscode 配置 c#三维数组能存多少数据 c# 新建excel c#多个文本框 c#怎么创建tcp通讯 c# mvc 电子病例
立即提问
相关内容推荐