基于SSM的教材管理系统

news2024/11/27 14:53:50

文章目录

  • 教材管理系统
    • 一、项目演示
    • 二、项目介绍
    • 三、系统部分功能截图
    • 四、部分代码展示
    • 五、底部获取项目源码(9.9¥)

教材管理系统

一、项目演示

基于SSM的教材管理系统

二、项目介绍

有三个角色
1、管理员
功能模块:用户管理、教材录入、供应商录入、教材入库、所有付款记录、教材热度分析
管理员可以增删改查教材、教材商、入库教材、用户(用户包括学生和教师)可以对教材商、教材进行excel的导入导出操作
2、教师
功能模块:教师领取教材、教师可以领取入库的教材,可以退还教材
3、学生
功能模块:学生领取教材、学生的教材、学生付款记录、学生只能在对应的教师那里领取教材,并且可以退还教材、查询自己已经领取的教材,并且对已领教材付款。
语言:java
框架:Spring、SpringMVC、Mybatis、layui、jquery、bootstrap
数据库:MySQL

三、系统部分功能截图

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

四、部分代码展示

package com.dev.books.controller;

import com.alibaba.fastjson.JSON;
import com.dev.books.pojo.Profession;
import com.dev.books.pojo.User;
import com.dev.books.service.UserService;
import com.dev.books.util.Layui;
import com.dev.books.util.RandNum;
import com.wordnik.swagger.annotations.ApiOperation;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.stereotype.Service;
import org.springframework.web.bind.annotation.*;

import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

@Controller
public class UserController {
    @Autowired
    UserService userService;
    private final Logger log =  LoggerFactory.getLogger(UserController.class);



    @ResponseBody
    @RequestMapping(value = "/userLogin")
    @ApiOperation(value = "根据用户名获取用户对象", httpMethod = "GET", response = User.class, notes = "根据用户名获取用户对象")
    public String userLogin(String account, String password, HttpServletRequest request ){
        HttpSession session = request.getSession(true);//新建session对象
        User user = userService.findOneUser(account,password);
        session.setAttribute("user",user);
        if(user!=null){
            return "success";
        }
        return "fail";
    }

    @ResponseBody
    @RequestMapping(value = "/getAllUser",produces="application/json;charset=UTF-8")
    public String getAllUser(@RequestParam("limit") String limit, @RequestParam("page") String page

    ){
        //System.out.println("bjshbd");
        //int error = 1/0;
        int start = (Integer.parseInt(page) - 1)*Integer.parseInt(limit);
        int pageSize = Integer.parseInt(limit);
        List<User>list = userService.findAllUsersByPage(start,pageSize);
        List<User>allData = userService.findAllUsers();
        System.out.println(list);
        Layui l = Layui.data(allData.size(), list);
        String result = JSON.toJSONString(l);
        System.out.println(result);
        return result;
    }

    @ResponseBody
    @RequestMapping(value = "/getUserInfo",produces="application/json;charset=UTF-8",method =RequestMethod.POST )
    public String getUserInfo(@RequestParam("limit") String limit, @RequestParam("page") String page,
                              @RequestParam("key[college_data]") String college_data,
                              @RequestParam("key[profession_data]") String profession_data,
                              @RequestParam("key[grade_data]") String grade_data,
                              @RequestParam("key[cclass_data]") String cclass_data
    ){
        System.out.println("profession_data:"+profession_data);
        List<User>list = userService.findUserByCondictions(college_data,profession_data,grade_data,cclass_data);
        Layui l = Layui.data(list.size(), list);
        return JSON.toJSONString(l);
    }

    @ResponseBody
    @RequestMapping(value = "/updateUserInfo" )
    public String updateUserInfo(@RequestBody Map map,HttpServletRequest request){
        HttpSession session = request.getSession(true);//新建session对象
        User user = (User) session.getAttribute("user");  //将对应数据存入session中
        String id = user.getId();
        map.put("id",id);
        int n = userService.updateUserInfo(map);
        if(n>0){
            return "success";
        }
        return "failure";
    }

    @ResponseBody
    @RequestMapping(value = "/updateUserPwd" )
    public String updateUserPwd(@RequestBody Map map,HttpServletRequest request){
        HttpSession session = request.getSession(true);//新建session对象
        User user = (User) session.getAttribute("user");  //将对应数据存入session中
        String id = user.getId();
        System.out.println(map);
        String password = map.get("password").toString();
        System.out.println("password:"+password);
        int n = userService.updateUserPwd(password,id);
        if(n>0){
            return "success";
        }
        return "failure";
    }

    @ResponseBody
    @RequestMapping(value = "/findUserById" ,produces="application/json;charset=UTF-8")
    public String findUserById(HttpServletRequest request){
        HttpSession session = request.getSession(true);//新建session对象
        User user = (User) session.getAttribute("user");  //将对应数据存入session中
        String id = user.getId();
        User u = userService.findUserById(id);
        List<User> list = new ArrayList<>();
        list.add(u);
        Layui l = Layui.data(list.size(), list);
        return JSON.toJSONString(l);
    }

    /*
        删除学生,教师信息
     */
    @ResponseBody
    @RequestMapping("/deleteUser")
    public String deleteUser(@RequestParam("id")String id){
        User user = userService.findUserById(id);
        int n = 0;
        if(user.getIdentification().equals("学生")){
            userService.deleteUser(id);
            n = userService.deleteStuUserInfo(id);
            if(n>0){
               return "success";
            }else {
                return "failure";
            }
        }else if(user.getIdentification().equals("教师")){
            userService.deleteUser(id);
            userService.deleteStuUserInfo(id);
            n = userService.deleteTeacherUserInfo(id);
            if(n>0){
                return "success";
            }else {
                return "failure";
            }
        }
        return "failure";
    }

    /*
    增加学生信息
     */
    @ResponseBody
    @RequestMapping("/insertUser")
    public String insertUser(){
        return "";
    }

    @ResponseBody
    @RequestMapping(value = "/findAllTeacher",produces="application/json;charset=UTF-8")
    public String findAllTeacher(){
        List<User> users = userService.findAllTeacher();
        Layui l = Layui.data(users.size(), users);
        return JSON.toJSONString(l);
    }


    @ResponseBody
    @RequestMapping(value = "/insertStuUser",produces="application/json;charset=UTF-8")
    public String insertStuUser(@RequestBody Map map){
        Map userMap = new HashMap();
        Map userInfoMap = new HashMap();
        String id = RandNum.getGUID();
        userMap.put("id",id);
        userMap.put("identification","学生");
        userMap.put("name",map.get("name"));
        userMap.put("password",map.get("password"));
        userMap.put("phone",map.get("phone"));
        userMap.put("email",map.get("email"));
        userInfoMap.put("user_id",id);
        userInfoMap.put("col_id",map.get("col_id"));
        userInfoMap.put("prof_id",map.get("prof_id"));
        userInfoMap.put("gra_id",map.get("gra_id"));
        userInfoMap.put("ccl_id",map.get("ccl_id"));
        userInfoMap.put("t_id",map.get("t_id"));
        userService.insertUser(userMap);
        int n = userService.insertStuUserInfo(userInfoMap);
        if(n>0){
            return "success";
        }else {
            return "failure";
        }
    }

    @ResponseBody
    @RequestMapping(value = "/insertTeaUser",produces="application/json;charset=UTF-8")
    public String insertTeaUser(@RequestBody Map map){
        Map userMap = new HashMap();
        Map teacherInfoMap = new HashMap();
        String id = RandNum.getGUID();
        userMap.put("id",id);
        userMap.put("identification","教师");
        userMap.put("name",map.get("name"));
        userMap.put("password",map.get("password"));
        userMap.put("phone",map.get("phone"));
        userMap.put("email",map.get("email"));
        teacherInfoMap.put("user_id",id);
        teacherInfoMap.put("col_id",map.get("col_id"));
        teacherInfoMap.put("prof_id",map.get("prof_id"));
        teacherInfoMap.put("gra_id",map.get("gra_id"));
        teacherInfoMap.put("ccl_id",map.get("ccl_id"));
        userService.insertUser(userMap);
        int n = userService.insertStuUserInfo(teacherInfoMap);
        if(n>0){
            return "success";
        }else {
            return "failure";
        }
    }

}

package com.dev.books.controller;

import cn.afterturn.easypoi.entity.vo.NormalExcelConstants;
import com.alibaba.fastjson.JSON;
import com.dev.books.pojo.Book;
import com.dev.books.pojo.Supplier;
import com.dev.books.service.BookService;
import com.dev.books.service.SupplierService;
import com.dev.books.util.Layui;
import com.dev.books.util.POIUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.multipart.MultipartFile;

import javax.servlet.http.HttpServletResponse;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

@Controller
public class BookController {
    @Autowired
    BookService bookService;

    /*
    将表格中的数据插入到
     */
    @ResponseBody
    @RequestMapping("/book/insertData")
    public Object supplierImportExcel(@RequestParam("file") MultipartFile file){
        int n= 0;
        //long s = file.getSize();
        Map<String,Object> map = new HashMap<>();
        Map<String, Object> result = new HashMap<String, Object>();
        List<Book> book = POIUtil.importExcel(file,Book.class);
        System.out.println(book);
        //List <Supplier> supplier2 = supplierService.findAllSupplier();
        //supplier1.addAll(supplier2);
        for(int i=0;i<book.size();i++){
            map.put("id",book.get(i).getId());
            map.put("book_name",book.get(i).getBook_name());
            map.put("book_kind",book.get(i).getBook_kind());
            map.put("book_price",book.get(i).getBook_price());
            map.put("qs_name",book.get(i).getQs_name());
            n = bookService.addBook(map);
        }
        System.out.println("map:"+map);
        if(n>0){
            result.put("code", 0);
            result.put("message", "success");
            result.put("data", file.getOriginalFilename());
        }else{
            result.put("code", -1);
            result.put("message", "failure");
            result.put("data", file.getOriginalFilename());
        }
        return result;
    }

    @ResponseBody
    @RequestMapping(value = "/book/getAllBookByPage",produces="application/json;charset=UTF-8")
    public String getAllBookByPage(@RequestParam("limit") String limit, @RequestParam("page") String page){
        int start = (Integer.parseInt(page) - 1)*Integer.parseInt(limit);
        int pageSize = Integer.parseInt(limit);
        List <Supplier> books = bookService.findAllBookByPages(start,pageSize);
        List <Supplier> allData = bookService.findAllBook();
        Layui l = Layui.data(allData.size(), books);
        return JSON.toJSONString(l);
    }

    @ResponseBody
    @RequestMapping(value = "/book/getAllBook",produces="application/json;charset=UTF-8")
    public String getAllBook(){
        List <Supplier> allData = bookService.findAllBook();
        Layui l = Layui.data(allData.size(), allData);
        return JSON.toJSONString(l);
    }


    @ResponseBody
    @RequestMapping(value = "/book/findAllBookKind",produces="application/json;charset=UTF-8")
    public String findAllBookKind(){
        List <String> allKinds = bookService.findAllBookKind();
        return JSON.toJSONString(allKinds);
    }

    @RequestMapping("/book/exportData")
    public String exportData(HttpServletResponse response){
        List <Supplier> books = bookService.findAllBook();
        POIUtil.exportExcel(books,Book.class,"书籍基本信息","",response);
        return  NormalExcelConstants.EASYPOI_EXCEL_VIEW;//需要配置新的视图解析器并设置优先级和扫描
    }

    @ResponseBody
    @RequestMapping(value = "/updateBookById")
    public String updateBookById(@RequestBody Map map){
        int n = bookService.updateBookById(map);
        if(n>0){
            return "success";
        }
        return "failure";
    }

    @ResponseBody
    @RequestMapping(value = "/deleteBookById")
    public String deleteBookById(@RequestParam("book_id")String book_id){
        int n = bookService.deleteBookById(book_id);
        if(n>0){
            return "success";
        }
        return "failure";
    }

    @ResponseBody
    @RequestMapping(value = "/findAllBookByBookName",produces="application/json;charset=UTF-8")
    public String findAllBookByBookName(@RequestParam("key[book_name]")String book_name){
        List<Supplier> books = bookService.findAllBookByBookName(book_name);
        Layui l = Layui.data(books.size(), books);
        return JSON.toJSONString(l);
    }

    @ResponseBody
    @RequestMapping(value = "/findBookNameByQsName",produces="application/json;charset=UTF-8")
    public String findBookNameByQsName(@RequestParam("qs_name")String qs_name){
        List<String> book_names = bookService.findBookNameByQsName(qs_name);
        return JSON.toJSONString(book_names);
    }
}

package com.dev.books.controller;

import com.alibaba.fastjson.JSON;
import com.dev.books.pojo.StoreIn;
import com.dev.books.pojo.StoreOut;
import com.dev.books.service.StoreInService;
import com.dev.books.util.Layui;
import com.dev.books.util.RandNum;
import org.apache.commons.logging.Log;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;

import java.math.BigDecimal;
import java.text.SimpleDateFormat;
import java.util.*;

@Controller
public class StoreInController {

    @Autowired
    StoreInService storeInService;

    @ResponseBody
    @RequestMapping(value = "/getAllStoreInByPage",produces="application/json;charset=UTF-8")
    public String getAllStoreInByPage(@RequestParam("limit") String limit, @RequestParam("page") String page){
        int start = (Integer.parseInt(page) - 1)*Integer.parseInt(limit);
        int pageSize = Integer.parseInt(limit);
        List<StoreIn> storeIns = storeInService.findAllStoreInByPage(start,pageSize);
        List<StoreIn> allData = storeInService.findAllStoreIn();
        Layui l = Layui.data(allData.size(), storeIns);
        String result = JSON.toJSONString(l);
        System.out.println("result:"+result);
        return  result;
    }

    @ResponseBody
    @RequestMapping(value = "/getAllStoreInBookName",produces="application/json;charset=UTF-8")
    public String getAllStoreInBookName(){
        List<StoreIn> allData = storeInService.findAllStoreIn();
        List<String> list = new ArrayList<>();
        for (int i=0;i<allData.size();i++){
            list.add(allData.get(i).getBook_name());
        }
        Layui l = Layui.data(allData.size(), list);
        String result = JSON.toJSONString(l);
        System.out.println("result:"+result);
        return  result;
    }

    @ResponseBody
    @RequestMapping(value = "/insertStoreIn")
    public String insertStoreIn(/*@RequestParam("store_info")String store_info
            ,@RequestParam("book_count")String book_count
            ,@RequestParam("book_name")String book_name*/
            @RequestBody Map dataMap
    ){
        System.out.println(dataMap);
        String store_info =dataMap.get("store_info").toString();
        String book_count = dataMap.get("book_count").toString();
        String book_name =dataMap.get("book_name").toString();
        String qs_name = dataMap.get("qs_name").toString();
        String id = RandNum.getGUID();
        Date date = new Date();
        StoreIn storeIn = new StoreIn(id,date,store_info,Integer.parseInt(book_count),book_name,qs_name,Integer.parseInt(book_count));
        /*
        使用fastjson把类转换成json,有两个好处,
        1.需要map类型传参数
        2.fastjson能够格式化时间类型
         */
        String storeInJson = JSON.toJSONString(storeIn);
        Map map = JSON.parseObject(storeInJson, Map.class);
        System.out.println(map);
        int n = storeInService.insertStoreIn(map);
        if(n>0){
            return "success";
        }
        return  "failure";
    }

    @ResponseBody
    @RequestMapping(value = "/getStoreInById")
    public String getStoreInById(@RequestParam("id")String id){
        StoreIn storeIn = storeInService.findStoreInById(id);
        String book_id = storeIn.getBook_id();
        return book_id;
    }

    @ResponseBody
    @RequestMapping(value = "/deleteStoreIn")
    public String deleteStoreIn(@RequestParam("id")String id){
        int n = storeInService.deleteStoreIn(id);
        if(n>0){
            return "success";
        }
        return "failure";
    }

    @ResponseBody
    @RequestMapping(value = "/findStoreInPercent",produces="application/json;charset=UTF-8")
    public String findStoreInPercent(@RequestParam("book_type")String book_type){
        List<StoreIn> storeIns = storeInService.findStoreInPercent(book_type);
        Map<String, List<StoreIn>> map = new HashMap<String, List<StoreIn>>();
        for (StoreIn storeIn : storeIns) {
            if (map.get(storeIn.getBook_name()) == null) {
                List<StoreIn> data = new ArrayList<StoreIn>();
                data.add(storeIn);
                map.put(storeIn.getBook_name(), data);
            } else {
                //定位到和之前键相同的list,然后扩充list
                List<StoreIn> data = map.get(storeIn.getBook_name());
                data.add(storeIn);
            }
        }
        System.out.println(map);
        int book_count = 0;
        int book_init = 0;
        double persent = 0.0;
        List<StoreIn> so = new ArrayList<>();
        for (Map.Entry<String, List<StoreIn>> a : map.entrySet()) {
            List<StoreIn> sto = a.getValue();
            for(int i=0;i<sto.size();i++) {
                book_count += sto.get(i).getBook_count();
                book_init += sto.get(i).getBook_init();
                System.out.println("book_count:"+book_count);
                System.out.println("book_init:"+book_init);
                Double p = (book_init-book_count) *1.0/ book_init;
                BigDecimal bd = new BigDecimal(p);
                persent = bd.setScale(2,BigDecimal.ROUND_HALF_UP).doubleValue();
                System.out.println(persent);
            }
            so.add(new StoreIn(a.getKey(),persent));
            book_count = 0;
            book_init = 0;
        }
        System.out.println("list表总计:"+so);
        String jsonString = JSON.toJSONString(so);
        return jsonString;
    }
}

五、底部获取项目源码(9.9¥)

有问题,或者需要协助调试运行项目的也可以

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1448662.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【数据结构】链表OJ面试题3《判断是否有环》(题库+解析)

1.前言 前五题在这http://t.csdnimg.cn/UeggB 后三题在这http://t.csdnimg.cn/gbohQ 记录每天的刷题&#xff0c;继续坚持&#xff01; 2.OJ题目训练 9. 给定一个链表&#xff0c;判断链表中是否有环。 力扣&#xff08;LeetCode&#xff09;官网 - 全球极客挚爱的技术成…

幻兽帕鲁Palworld服务器设置参数(汉化)

创建幻兽帕鲁服务器配置参数说明&#xff0c;Palworld服务器配置参数与解释&#xff0c;阿腾云atengyun.com分享&#xff1a; 自建幻兽帕鲁服务器教程&#xff1a; 阿里云教程 https://t.aliyun.com/U/bLynLC腾讯云教程 https://curl.qcloud.com/oRMoSucP 幻兽帕鲁服务器 幻…

《数字图像处理-OpenCV/Python》连载:形态学图像处理

《数字图像处理-OpenCV/Python》连载&#xff1a;形态学图像处理 本书京东 优惠购书链接 https://item.jd.com/14098452.html 本书CSDN 独家连载专栏 https://blog.csdn.net/youcans/category_12418787.html 第 12 章 形态学图像处理 形态学图像处理是基于形状的图像处理&…

《Git 简易速速上手小册》第9章:Git 工作流程定制(2024 最新版)

文章目录 9.1 选择合适的工作流9.1.1 基础知识讲解9.1.2 重点案例&#xff1a;为中等规模的 Python 项目选择 Feature Branch 工作流9.1.3 拓展案例 1&#xff1a;适应 Gitflow 工作流的大型项目9.1.4 拓展案例 2&#xff1a;使用 Forking 工作流的开源 Python 项目 9.2 定制化…

JavaScript 的点击劫持(Clickjacking)

&#x1f9d1;‍&#x1f393; 个人主页&#xff1a;《爱蹦跶的大A阿》 &#x1f525;当前正在更新专栏&#xff1a;《VUE》 、《JavaScript保姆级教程》、《krpano》、《krpano中文文档》 ​ ​ ✨ 前言 点击劫持是一种恶意攻击&#xff0c;攻击者会在用户不知情的情况下诱…

HGAME 2024 WEEK2 Web方向题解 全

---------【WEEK-2】--------- What the cow say? 题目描述&#xff1a;the cow want to tell you something 注意title&#xff0c;Python的flask漏洞可多呢 版本310 先测一下SSTI 正常情况下 SSTI测试 变量渲染测试&#xff0c;被waf了&#xff0c;说明方向对了 单单过滤…

EL表达式和JSTL标签

1.1. EL表达式概述 EL&#xff08;Expression Language&#xff09;是一门表达式语言&#xff0c;它对应<%…%>。我们知道在JSP中&#xff0c;表达式会被输出&#xff0c;所以EL表达式也会被输出。 EL表达式的格式&#xff1a;${…}&#xff0c;例如&#xff1a;${12}…

petalinux2018.3安装步骤

1、虚拟机安装ubuntu-16.04.7-desktop-amd64.iso &#xff08;注意&#xff1a;安装ubuntu-18.04.6-desktop-amd64.iso和ubuntu-16.04.6-desktop-i386.iso会报以下错误&#xff09; environment: line 314: ((: 10 #15~1 > 10 #3: syntax error in expression (error toke…

Java 基于springboot+vue在线外卖点餐系统,附源码

博主介绍&#xff1a;✌程序员徐师兄、7年大厂程序员经历。全网粉丝12w、csdn博客专家、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ &#x1f345;文末获取源码联系&#x1f345; &#x1f447;&#x1f3fb; 精彩专栏推荐订阅&#x1f447;…

正态分布-形状与特点

更多AI技术入门知识与工具使用请看下面链接&#xff1a; https://student-api.iyincaishijiao.com/t/iNSVmUE8/

JavaScript中有哪些不同的数据类型

在 JavaScript 中&#xff0c;数据类型是一种用来表示数据的分类&#xff0c;它决定了我们可以对这个数据类型执行哪些操作。在 JavaScript 中有以下几种不同的数据类型&#xff1a; 基本数据类型 字符串 (String)&#xff1a;表示一组字符&#xff0c;可以使用引号&#xff08…

缓慢变化维 常用的处理方法

什么是缓慢变化维 维度 在数仓中&#xff0c;表往往会被划分成两种类型&#xff0c;一种是 事实表&#xff0c;另一种是维度表&#xff0c;举个例子&#xff0c;比如说&#xff1a; ❝ 2024年2月14日&#xff0c;健鑫在12306上买了两张火车票&#xff0c;每张火车票400元&…

系统架构26 - 软件架构设计(5)

特定领域软件体系结构 定义不同定义必备特征领域 基本活动领域分析领域设计领域实现 参与人员建立过程 特定领域软件体系结构的主要目的是在一组相关的应用中共享软件体系结构。 定义 DSSA (Domain Specific Software Architecture) 就是在一个特定应用领域中为一组应用提供组…

基于BitVM的乐观 BTC bridge

1. 引言 前序博客&#xff1a; 区块链互操作协议Bitcoin Bridge&#xff1a;治愈还是诅咒&#xff1f;BitVM&#xff1a;Bitcoin的链下合约 基于BitVM的乐观 BTC bridge&#xff1a; Trust-minimized two-way peg 机制 BitVM BTC bridge背后的主要思想是&#xff1a; 为比…

【芯片设计- RTL 数字逻辑设计入门 12 -- verilog 有符号数加减法】

文章目录 多功能数据处理器描述verilog 无符号数与有符号数8d100 8d1558d100 8d1568d100 8d157verilog 代码实现TestBench 代码VCS 仿真结果 多功能数据处理器描述 根据指示信号select的不同&#xff0c;对输入信号a,b实现不同的运算。输入信号a,b为8bit有符号数&#xff1…

ucosIII下创建任务读取DS18B20采集到的温度数据

学习链接&#xff1a;ucosIII下创建任务读取并输出DHT11采集到的温湿度数据 相关代码及事项&#xff1a; 首先&#xff0c;需要添加下面两个文件&#xff0c; 其次&#xff0c;main.c 中如下的代码&#xff1a; #include "led.h" #include "delay.h" #…

CPython:表达式的求值顺序(evaluation order)

相关阅读 Pythonhttps://blog.csdn.net/weixin_45791458/category_12403403.html?spm1001.2014.3001.5482 C中表达式的求值 C语言针对表达式的计算&#xff0c;设置了操作符的优先级和结合性这两个特性&#xff0c;优先级用于解析不同优先级的符号&#xff0c;结合性用于解析…

波奇学Linux:软硬链接

ln指令建立链接 软链接 硬链接 所属者的前的数字表示硬链接数&#xff0c;引用计数&#xff0c;file.txt和soft_link是软链接所以都为2 软链接有独立inode&#xff0c;硬链接没有&#xff0c;所以硬链接不是独立文件&#xff0c;软链接是独立文件&#xff0c;且硬链接的属性会…

大模型Layer normalization知识

Layer Norm 的计算公式 Layer Norm&#xff08;层归一化&#xff09;是一种用于神经网络中的归一化技术&#xff0c;用于提高模型的训练效果和泛化能力。 RMS Norm 的计算公式 RMS Norm 的作用是通过计算输入 X 的均方根&#xff0c;将每个样本的特征进行归一化&#xff0c;使…

【51单片机】LCD1602(江科大)

1.LCD1602介绍 LCD1602(Liquid Crystal Display)液晶显示屏是一种字符型液晶显示模块,可以显示ASCII码的标准字符和其它的一些内置特殊字符,还可以有8个自定义字符 显示容量:162个字符,每个字符为5*7点阵 2.引脚及应用电路 3.内部结构框图 屏幕: 字模库:类似于数码管的数…