课程学习成绩评分F2计算器

news2024/11/25 22:56:04

前言:

由于大二的时候计算成绩太麻烦了,特别是综测评定小组还需要验证其他同学的是否正确,对于这种重复性高的工作,首先要想到的就是用计算机来实现,想起来上学期学了一点Java,就想简单的写一个程序。

C++

因为我们是知道他的公式的,所以就是输入数据就能够得到最终的结果。最开始我也不是直接就开始想到用Java来写的,最开始只是想计算一下,整个的实现就是定义一个数据里面存放的对应的学分,通过用户输入自己的分数(一定要按顺序输入,因为科目的之间的学分不同)。

#include<iostream>
using namespace std;

int main(){
	const int proportion[]={1,1,2,1,3,4,4,4,4,1,2,1,3,2,5,3,4,1,3};
	double sum=0;
	double avg=0;
	int count=0;
	int size=sizeof(proportion)/sizeof(int);
	
	cout<<"请输入您的考试分数:"; 
	for(int i=0;i<size;i++){
		int score;
		cin>>score;
		sum+=score*proportion[i];
		count+=proportion[i];
	}
	cout<<"您的自评分为"<<sum/count<<endl;
	
	return 0;
}

Java

思路分析:

需要解决的还是以下的问题:

界面的布局

对于课程的名称就是一个个标签,然后对每一门课程都配备一个文本框,这个思路是简单,就是实现起来比较繁琐,我采用的还是坐标布局,你通过调整自己代码里面的位置以及标签和文本框的大小,设计成你自己喜欢的样子。

数据的提取与验证

对于文本框里面的数据不是所有都能够合法使用的,我这里的分数规定是[0,100]的闭区间而且都是整数,具体情况大家具体分析。(这推荐还是使用正则表达式来实现)对于文本框提取出来的数据还需要转换成int类型才能进行后续的运算。

自评分的计算

计算就和c++一样了,学分我们可以内部定义一个数组,就不需要用户自己输入了,用户只需要输入自己的成绩,开始计算就是用户按下一个按钮可以开始了,为了避免要算下一组数据,所以还增添了一个清空数据的按钮,当所有合法数据都成功提取之后,就对应相乘再相加除以各课程学分之和,对于总的这些分数数据定义需要在方法中,如果是全局的变量,一直点击开始计算,分数就会一直累加,每次的结果会不同。

不合法的警告

有不合法的数据还是需要提示用户的,我这里就是设置了一个方法,传入一个字符串就会弹窗一个显示改字符串的弹窗。

实现结果:


import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.Random;

import javax.swing.*;

public class F2 extends JFrame implements ActionListener{
    //主方法
    public static void main(String[] args) {
        F2 f2=new F2();
    }
    //组件数据
    final JPanel panel=new JPanel();//面板

    //定义相关成绩的标签以及文本框
    //大二上
    final JLabel tow1=new JLabel("大二上");
    //大二下
    final JLabel tow2=new JLabel("大二下");

    //健康教育
    final JLabel healthLabel=new JLabel("健康教育:");
    final JTextField healthField=new JTextField();
    //大学生求职择业与职业发展
    final JLabel jobLabel=new JLabel("大学生求职择业与职业发展:");
    final JTextField jobField =new JTextField();
    //大学英语三
    final JLabel english3Label=new JLabel("大学英语(三):");
    final JTextField english3Field =new JTextField();
    //大学体育三
    final JLabel sports3Label=new JLabel("大学体育(三):");
    final JTextField sports3Field =new JTextField();
    //中国近代史纲要
    final JLabel outlineLabel=new JLabel("中国近代史纲要:");
    final JTextField outlineField =new JTextField();
    //离散数学
    final JLabel mathLabel=new JLabel("离散数学:");
    final JTextField mathField =new JTextField();
    //数据结构
    final JLabel dataLabel=new JLabel("数据结构:");
    final JTextField dataField =new JTextField();
    //数字逻辑
    final JLabel digitLabel=new JLabel("数字逻辑:");
    final JTextField digitField =new JTextField();
    //数据库原理
    final JLabel databaseLabel=new JLabel("数据库原理:");
    final JTextField databaseField =new JTextField();
    //数据结构实验
    final JLabel dataExperimentLabel=new JLabel("数据结构实验:");
    final JTextField dataExperimentField =new JTextField();
    //大学英语四
    final JLabel english4Label=new JLabel("大学英语(四):");
    final JTextField english4Field =new JTextField();
    //大学体育四
    final JLabel sports4Label=new JLabel("大学体育(四):");
    final JTextField sports4Field =new JTextField();
    //马克思主义基本原理
    final JLabel principleLabel=new JLabel("马克思主义基本原理:");
    final JTextField principleField =new JTextField();
    //形势与政策
    final JLabel policyLabel=new JLabel("形势与政策:");
    final JTextField policyField =new JTextField();
    //计算机组成原理
    final JLabel computerLabel=new JLabel("计算机组成原理:");
    final JTextField computerField =new JTextField();
    //Java
    final JLabel javaLabel=new JLabel("Java:");
    final JTextField javaField =new JTextField();
    //操作系统
    final JLabel operateLabel=new JLabel("操作系统:");
    final JTextField operateField =new JTextField();
    //Java实验
    final JLabel javaExperimentLabel=new JLabel("Java实验:");
    final JTextField javaExperimentField =new JTextField();
    //Linux程序设计
    final JLabel linuxLabel=new JLabel("Linux程序设计:");
    final JTextField linuxField =new JTextField();

    //定义开始和复位按钮
    final JButton start=new JButton("开始计算");
    final JButton reset=new JButton("清空数据");

    //警告标签,放在弹窗里面
    final JLabel warningLabel=new JLabel();

    //最终计算结果
    final JLabel resultLable=new JLabel("您的最终F2是:");

    //学分
    final int []credit={1,1,2,1,3,4,4,4,4,1,2,1,3,2,5,3,4,1,3};

    //科目对应的成绩
    int health=0;
    int job=0;
    int english3=0;
    int sports3=0;
    int outline=0;
    int math=0;
    int data=0;
    int digit=0;
    int database=0;
    int dataExperiment=0;
    int english4=0;
    int sports4=0;
    int principle=0;
    int policy=0;
    int computer=0;
    int java=0;
    int operate=0;
    int javaExperiment=0;
    int linux=0;


    public F2() {
        //初始化框架
        initFrame();
        //初始化面板
        initPanel();
        //绑定监听事件
        buttonAction();
        //窗体可见
        this.setVisible(true);

    }
    //初始化框架
    public void initFrame() {
        //设置软件的标题
        this.setTitle("2021级计算机科学与技术专业-课程学习成绩评分F2");
        //设置窗体位置以及大小
        this.setSize(1000,800);
        //设置窗体居中
        this.setLocationRelativeTo(null);
        //关闭按钮的动作为退出
        this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    }

    //初始化面板
    public void initPanel() {
        //初始化组件
        initModule();
        //设置为不采用任何布局管理器,在Frame中设置没有效果,结果还是会被panel替代了
        panel.setLayout(null);
        //添加相关的组件
        panel.add(healthLabel);
        panel.add(healthField);

        panel.add(jobLabel);
        panel.add(jobField);

        panel.add(english3Label);
        panel.add(english3Field);

        panel.add(sports3Label);
        panel.add(sports3Field);

        panel.add(outlineLabel);
        panel.add(outlineField);

        panel.add(mathLabel);
        panel.add(mathField);

        panel.add(dataLabel);
        panel.add(dataField);

        panel.add(digitLabel);
        panel.add(digitField);

        panel.add(databaseLabel);
        panel.add(databaseField);

        panel.add(dataExperimentLabel);
        panel.add(dataExperimentField);

        panel.add(english4Field);
        panel.add(english4Label);

        panel.add(sports4Field);
        panel.add(sports4Label);

        panel.add(principleLabel);
        panel.add(principleField);

        panel.add(policyField);
        panel.add(policyLabel);

        panel.add(computerField);
        panel.add(computerLabel);

        panel.add(javaField);
        panel.add(javaLabel);

        panel.add(operateField);
        panel.add(operateLabel);

        panel.add(javaExperimentField);
        panel.add(javaExperimentLabel);

        panel.add(linuxField);
        panel.add(linuxLabel);

        panel.add(tow1);
        panel.add(tow2);

        panel.add(start);
        panel.add(reset);

        panel.add(resultLable);
        this.setContentPane(panel);
    }
    //初始化组件
    public void initModule() {
        //初始化相关组件

        //大二上
        //设置字体的类型,加粗,和大小
        tow1.setFont(new Font("Microsoft YaHei",Font.BOLD,40));
        tow1.setBounds(460,0,150,50);

        //健康教育
        //设置字体的类型,加粗,和大小
        healthLabel.setFont(new Font("Microsoft YaHei",Font.BOLD,20));
        //标签的位置和大小
        healthLabel.setBounds(10,55,100,50);
        //文本框的位置和大小
        healthField.setBounds(140,60,150,40);
        healthField.setFont(new Font("Microsoft YaHei",Font.BOLD,20));

        //大学生求职择业与职业发展
       //设置字体的类型,加粗,和大小
        jobLabel.setFont(new Font("Microsoft YaHei",Font.BOLD,20));
        //标签的位置和大小
        jobLabel.setBounds(540,55,260,50);
        //文本框的位置和大小
        jobField.setBounds(800,60,150,40);
        jobField.setFont(new Font("Microsoft YaHei",Font.BOLD,20));

        //大学英语(三)
        //设置字体的类型,加粗,和大小
        english3Label.setFont(new Font("Microsoft YaHei",Font.BOLD,20));
        //标签的位置和大小
        english3Label.setBounds(10,110,130,50);
        //文本框的位置和大小
        english3Field.setBounds(140,115,150,40);
        english3Field.setFont(new Font("Microsoft YaHei",Font.BOLD,20));

        //大学体育(三)
        //设置字体的类型,加粗,和大小
        sports3Label.setFont(new Font("Microsoft YaHei",Font.BOLD,20));
        //标签的位置和大小
        sports3Label.setBounds(330,110,130,50);
        //文本框的位置和大小
        sports3Field.setBounds(460,115,150,40);
        sports3Field.setFont(new Font("Microsoft YaHei",Font.BOLD,20));

        //中国近现代史纲要
        //设置字体的类型,加粗,和大小
        outlineLabel.setFont(new Font("Microsoft YaHei",Font.BOLD,20));
        //标签的位置和大小
        outlineLabel.setBounds(640,110,150,50);
        //文本框的位置和大小
        outlineField.setBounds(800,115,150,40);
        outlineField.setFont(new Font("Microsoft YaHei",Font.BOLD,20));

        //离散数学
        //设置字体的类型,加粗,和大小
        mathLabel.setFont(new Font("Microsoft YaHei",Font.BOLD,20));
        //标签的位置和大小
        mathLabel.setBounds(10,170,100,50);
        //文本框的位置和大小
        mathField.setBounds(140,175,150,40);
        mathField.setFont(new Font("Microsoft YaHei",Font.BOLD,20));

        //数据结构
        //设置字体的类型,加粗,和大小
        dataLabel.setFont(new Font("Microsoft YaHei",Font.BOLD,20));
        //标签的位置和大小
        dataLabel.setBounds(330,170,100,50);
        //文本框的位置和大
        dataField.setBounds(460,175,150,40);
        dataField.setFont(new Font("Microsoft YaHei",Font.BOLD,20));

        //数字逻辑
        //设置字体的类型,加粗,和大小
        digitLabel.setFont(new Font("Microsoft YaHei",Font.BOLD,20));
        //标签的位置和大小
        digitLabel.setBounds(640,170,100,50);
        //文本框的位置和大小
        digitField.setBounds(800,175,150,40);
        digitField.setFont(new Font("Microsoft YaHei",Font.BOLD,20));

        //数据库原理
        //设置字体的类型,加粗,和大小
        databaseLabel.setFont(new Font("Microsoft YaHei",Font.BOLD,20));
        //标签的位置和大小
        databaseLabel.setBounds(10,220,120,50);
        //文本框的位置和大小
        databaseField.setBounds(140,225,150,40);
        databaseField.setFont(new Font("Microsoft YaHei",Font.BOLD,20));

        //数据结构实验
        //设置字体的类型,加粗,和大小
        dataExperimentLabel.setFont(new Font("Microsoft YaHei",Font.BOLD,20));
        //标签的位置和大小
        dataExperimentLabel.setBounds(330,220,140,50);
        //文本框的位置和大小
        dataExperimentField.setBounds(460,225,150,40);
        dataExperimentField.setFont(new Font("Microsoft YaHei",Font.BOLD,20));



        //标签的位置和大小
        tow2.setFont(new Font("Microsoft YaHei",Font.BOLD,40));
        tow2.setBounds(460,300,150,50);

        //设置字体的类型,加粗,和大小
        english4Label.setFont(new Font("Microsoft YaHei",Font.BOLD,20));
        //标签的位置和大小
        english4Label.setBounds(10,360,130,50);
        //文本框的位置和大小
        english4Field.setBounds(140,365,150,40);
        english4Field.setFont(new Font("Microsoft YaHei",Font.BOLD,20));

        //设置字体的类型,加粗,和大小
        sports4Label.setFont(new Font("Microsoft YaHei",Font.BOLD,20));
        //标签的位置和大小
        sports4Label.setBounds(330,360,130,50);
        //文本框的位置和大小
        sports4Field.setBounds(460,365,150,40);
        sports4Field.setFont(new Font("Microsoft YaHei",Font.BOLD,20));

       //设置字体的类型,加粗,和大小
        principleLabel.setFont(new Font("Microsoft YaHei",Font.BOLD,20));
        //标签的位置和大小
        principleLabel.setBounds(10,410,200,50);
        //文本框的位置和大小
        principleField.setBounds(210,415,150,40);
        principleField.setFont(new Font("Microsoft YaHei",Font.BOLD,20));

        //设置字体的类型,加粗,和大小
        policyLabel.setFont(new Font("Microsoft YaHei",Font.BOLD,20));
        //标签的位置和大小
        policyLabel.setBounds(380,410,200,50);
        //文本框的位置和大小
        policyField.setBounds(500,415,150,40);
        policyField.setFont(new Font("Microsoft YaHei",Font.BOLD,20));

        //设置字体的类型,加粗,和大小
        computerLabel.setFont(new Font("Microsoft YaHei",Font.BOLD,20));
        //标签的位置和大小
        computerLabel.setBounds(670,410,200,50);
        //文本框的位置和大小
        computerField.setBounds(820,415,150,40);
        computerField.setFont(new Font("Microsoft YaHei",Font.BOLD,20));

        //设置字体的类型,加粗,和大小
        javaLabel.setFont(new Font("Microsoft YaHei",Font.BOLD,20));
        //标签的位置和大小
        javaLabel.setBounds(10,460,200,50);
        //文本框的位置和大小
        javaField.setBounds(140,465,150,40);
        javaField.setFont(new Font("Microsoft YaHei",Font.BOLD,20));

        //设置字体的类型,加粗,和大小
        operateLabel.setFont(new Font("Microsoft YaHei",Font.BOLD,20));
        //标签的位置和大小
        operateLabel.setBounds(330,460,400,50);
        //文本框的位置和大小
        operateField.setBounds(460,465,150,40);
        operateField.setFont(new Font("Microsoft YaHei",Font.BOLD,20));

       //设置字体的类型,加粗,和大小
        javaExperimentLabel.setFont(new Font("Microsoft YaHei",Font.BOLD,20));
        //标签的位置和大小
        javaExperimentLabel.setBounds(640,460,400,50);
        //文本框的位置和大小
        javaExperimentField.setBounds(800,465,150,40);
        javaExperimentField.setFont(new Font("Microsoft YaHei",Font.BOLD,20));


        //设置字体的类型,加粗,和大小
        linuxLabel.setFont(new Font("Microsoft YaHei",Font.BOLD,20));
        //标签的位置和大小
        linuxLabel.setBounds(10,520,420,50);
        //文本框的位置和大小
        linuxField.setBounds(160,525,150,40);
        linuxField.setFont(new Font("Microsoft YaHei",Font.BOLD,20));

         //放置按钮
        start.setFont(new Font("楷体",Font.BOLD,15));
        start.setBounds(500,650,230,80);

        reset.setFont(new Font("楷体",Font.BOLD,15));
        reset.setBounds(750,650,230,80);

        resultLable.setBounds(10,590,1000,50);
        resultLable.setFont(new Font("Microsoft YaHei",Font.BOLD,45));

    }


    public void buttonAction() {
        //按钮绑定动作事件,和自己绑定,自己实现的监听的方法
        start.addActionListener(this);
        reset.addActionListener(this);
    }

    //提取数据并判断数据是否合法
    public void judge() {
       String number="";
       number=healthField.getText().trim();
       if(isInteger(number)){
           health=Integer.parseInt(number);
           number=jobField.getText().trim();
           if(isInteger(number)){
               job=Integer.parseInt(number);
               number=english3Field.getText().trim();
               if(isInteger(number)){
                   english3=Integer.parseInt(number);
                   number=sports3Field.getText().trim();
                   if(isInteger(number)){
                       sports3=Integer.parseInt(number);
                       number=outlineField.getText().trim();
                       if(isInteger(number)){
                           outline=Integer.parseInt(number);
                           number=mathField.getText().trim();
                           if(isInteger(number)){
                               math=Integer.parseInt(number);
                               number=dataField.getText().trim();
                               if(isInteger(number)){
                                   data=Integer.parseInt(number);
                                   number=digitField.getText().trim();
                                   if(isInteger(number)){
                                       digit=Integer.parseInt(number);
                                       number=databaseField.getText().trim();
                                       if(isInteger(number)){
                                           database=Integer.parseInt(number);
                                           number=dataExperimentField.getText().trim();
                                           if(isInteger(number)){
                                               dataExperiment=Integer.parseInt(number);
                                               number=english4Field.getText().trim();
                                               if(isInteger(number)){
                                                   english4=Integer.parseInt(number);
                                                   number=sports4Field.getText().trim();
                                                   if(isInteger(number)){
                                                       sports4=Integer.parseInt(number);
                                                       number=principleField.getText().trim();
                                                       if(isInteger(number)){
                                                           principle=Integer.parseInt(number);
                                                           number=policyField.getText().trim();
                                                           if(isInteger(number)){
                                                               policy=Integer.parseInt(number);
                                                               number=computerField.getText().trim();
                                                               if(isInteger(number)){
                                                                   computer=Integer.parseInt(number);
                                                                   number=javaField.getText().trim();
                                                                   if(isInteger(number)){
                                                                       java=Integer.parseInt(number);
                                                                       number=operateField.getText().trim();
                                                                       if(isInteger(number)){
                                                                           operate=Integer.parseInt(number);
                                                                           number=javaExperimentField.getText().trim();
                                                                           if(isInteger(number)){
                                                                               javaExperiment=Integer.parseInt(number);
                                                                               number=linuxField.getText().trim();
                                                                               if(isInteger(number)){
                                                                                   linux=Integer.parseInt(number);
                                                                               }else{
                                                                                   warning("Linux及程序设计的分数输入不合法");
                                                                               }
                                                                           }else{
                                                                               warning("Java实验的分数输入不合法");
                                                                           }
                                                                       }else{
                                                                           warning("操作系统的分数输入不合法");
                                                                       }
                                                                   }else{
                                                                       warning("Java的分数输入不合法");
                                                                   }
                                                               }else{
                                                                   warning("计算机组成原理的分数输入不合法");
                                                               }
                                                           }else{
                                                               warning("形势与政策的分数输入不合法");
                                                           }
                                                       }else{
                                                           warning("马克思主义基本原理的分数输入不合法");
                                                       }
                                                   }else{
                                                       warning("大学体育(四)的分数输入不合法");
                                                   }
                                               }else{
                                                   warning("大学英语(四)的分数输入不合法");
                                               }
                                           }else{
                                               warning("数据结构实验的分数输入不合法");
                                           }
                                       }else{
                                           warning("数据库原理的分数输入不合法");
                                       }
                                   }else{
                                       warning("数字逻辑的分数输入不合法");
                                   }
                               }else{
                                   warning("数据结构的分数输入不合法");
                               }
                           }else{
                               warning("离散数学的分数输入不合法");
                           }
                       }else{
                           warning("中国近代史纲要的分数输入不合法");
                       }
                   }else{
                       warning("大学体育(三)的分数输入不合法");
                   }
               }else{
                   warning("大学英语(三)的分数输入不合法");
               }
           }else{
               warning("大学生求职择业与职业发展的分数输入不合法");
           }
       }else{
           warning("健康教育的分数输入不合法");
       }
    }
    //计算最终的结果
    public void result(){
        int []score=new int[credit.length];
        //需要放在方法里面,不然会重复执行
        //总评分F2
        double resultF2=0;
        //(各课程学分*单科成绩)之和
        long sumScore=0;
        //总课程学分之和
        int sumCredit=0;

        score[0]=health;
        score[1]=job;
        score[2]=english3;
        score[3]=sports3;
        score[4]=outline;
        score[5]=math;
        score[6]=data;
        score[7]=digit;
        score[8]=database;
        score[9]=dataExperiment;
        score[10]=english4;
        score[11]=sports4;
        score[12]=principle;
        score[13]=policy;
        score[14]=computer;
        score[15]=java;
        score[16]=operate;
        score[17]=javaExperiment;
        score[18]=linux;

        for (int i = 0; i < credit.length; i++) {
            sumCredit+=credit[i];
            sumScore+=credit[i]*score[i];
        }
        resultF2=1.0*sumScore/sumCredit;

        //显示结果
        resultLable.setText("您的最终F2是:"+resultF2);
    }

    //必须重写actionPerformed方法
    @Override
    public void actionPerformed(ActionEvent e) {
        // TODO Auto-generated method stub
        JButton button =(JButton)e.getSource();//获得触发此次动作事件的按钮对象
        String buttonName =e.getActionCommand();//获得触发此次动作事件的按钮的标签文本
        if(buttonName.equals("开始计算")) {
            //提取数据并判断数据是否合法
            judge();
            //计算最终F2的结果
            result();
        }else if(buttonName.equals("清空数据")) {
            //清空文本框里面的内容
            healthField.setText("");
            jobField.setText("");
            english3Field.setText("");
            sports3Field.setText("");
            outlineField.setText("");
            mathField.setText("");
            dataField.setText("");
            digitField.setText("");
            databaseField.setText("");
            dataExperimentField.setText("");
            english4Field.setText("");
            sports4Field.setText("");
            principleField.setText("");
            policyField.setText("");
            computerField.setText("");
            javaField.setText("");
            operateField.setText("");
            javaExperimentField.setText("");
            linuxField.setText("");
        }
    }

    //输出警告弹窗
    static public void warning(String str) {

        //添加一个弹窗的警告
        JDialog jDialog=new JDialog();//创建弹窗对象
        jDialog.setTitle("警告");//设置弹窗标题,和Frame差不多,可能还要通过标签来提示
        jDialog.setSize(500,400);//设置弹窗的大小
        jDialog.setAlwaysOnTop(true);//让弹窗置顶
        jDialog.setLocationRelativeTo(null);//让弹窗居中
        jDialog.setModal(true);//弹窗不关闭则无法操作下面的界面

        //警告标签,放在弹窗里面
        final JLabel warningLabel=new JLabel(str,JLabel.CENTER);
        //设置字体的类型,加粗,和大小
        warningLabel.setFont(new Font("Microsoft YaHei",Font.BOLD,20));
        //标签的位置和大小
        warningLabel.setBounds(0,100,500,100);

        //这个也要取消布局管理器才行
        //jDialog.getContentPane().setLayout(null);
        //往弹窗中添加标签(垂直加居中放置标签)
        jDialog.getContentPane().add(warningLabel,BorderLayout.CENTER);
        jDialog.setVisible(true);//让弹窗显示出来
    }

    //判断是否是[0-100]之间的整数
    public boolean isInteger(String number){
        String regex="(100|[1-9][0-9]{0,1})";
        if(number.matches(regex)){
            return true;
        }else {
            return false;
        }
    }
}

Excel

刚开始我是想用MATLAB来实现的,但是MATLAB导入数据还是需要从Excel里面导入,所以我就想Excel能不能直接计算呢,答案发现是肯定的,他对于求和和平均数之类的都有,而这个就不过是公式不一样而已,我们自己自定义公式就行了。

 直接输入分数在后面输入公式即可。(下方是我的公式)随便写一些数据

(B2+C2+2*D2+E2+3*F2+4*G2+4*H2+4*I2+4*J2+K2+2*L2+M2+3*N2+2*O2+5*P2+3*Q2+4*R2+S2+3*T2)/49

 

总结:

这个写下来感觉是有点特意的感觉了,因为本来用Excel就可以实现,你还编一个代码,非常没有必要,但是这个我有必要辩解一下,因为我Excel不是很熟练,是后面突发奇想试验出来的,没有想到如此方面。在写之前我也能够感受到这个程序有很大的弊端就是他通用性不高,是针对自己班级来实现的,但是为什么我还写呢,所以我有了这个想法,我有能够去实现它,当这个东西做出来之后,我也可以得到满足感,这种反馈就可以让我更加的自信,学习起来也更加有意思一点。

 那这个简单的程序就到这里了,希望大家能够多多支持。

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

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

相关文章

【PowerQuery】PowerBI Pro账户的自动刷新

在数据和模型通过发布或者上传方式上传到PowerBI Pro中,如何来进行数据刷新呢?数据源依然在本地,而数据模型已经发布到PowerBI Pro云端服务中。如果数据源更新,我们的模型如何进行自动刷新呢? PowerBI Pro如果需要基于本地数据源更新进行模型更新需要部署相应的数据网关服…

Pytorch学习笔记(模型训练)

模型训练 在同一个包下创建train.py和model.py&#xff0c;按照步骤先从数据处理&#xff0c;模型架构搭建&#xff0c;训练测试&#xff0c;统计损失&#xff0c;如下面代码所示 train.py import torch.optim import torchvision from torch import nn from torch.utils.da…

Leetcode165. 比较版本号

力扣&#xff08;LeetCode&#xff09;官网 - 全球极客挚爱的技术成长平台 代码如下&#xff1a; class Solution {public int compareVersion(String version1, String version2) {int i 0, j 0;while(i < version1.length() || j < version2.length()){long num1 0…

交换两数整有几种途径

原本以为利用变量或者异或可以交换两个整数&#xff1b;今天学到&#xff0c;加减也可以实现两个整数的交换。 (本笔记适合熟悉一种编程语言的 coder 翻阅) 【学习的细节是欢悦的历程】 Python 官网&#xff1a;https://www.python.org/ Free&#xff1a;大咖免费“圣经”教程…

嵌入式网络接口之MAC芯片与PHY芯片

目录 0. 参考文档 1.嵌入式网络接口简介 2.嵌入式网络硬件架构方案 2.1 SOC内未集成MAC芯片 2.2 SOC内集成MAC芯片 2.3 主流方案总结 2.3 参照实际网卡的说明 3.MII/RMII及MDIO接口 3.1 MII 3.2 RMII 3.3 MDIO 0. 参考文档 网卡构造&#xff1a;MAC与PHY的关系&…

【JavaSE笔记】方法

一、前言 Java中的方法是一种在Java编程中非常常见的概念。 我们可以将方法看作是一种可重复使用的代码块&#xff0c;类似于生活中的工具。就像我们在日常生活中会使用各种各样的工具来完成不同的任务一样&#xff0c;我们在编程中也可以使用方法来完成各种不同的操作。 二…

如何去掉word上方页眉处的横线

一、问题描述 有时候word总会莫名其妙在页眉处出现一条横线&#xff0c;如图&#xff1a; 二、解决步骤 1.首先点击任一页眉进入页眉编辑状态&#xff0c;然后点击设计&#xff1a; 2.选择页面边框&#xff1a; 3.选择边框——选择无——选择应用于段落——完成。

基于matlab实现的额 BP神经网络电力系统短期负荷预测未来(对比+误差)完整程序分享

基于matlab实现的额 BP神经网络电力系统短期负荷预测 完整程序&#xff1a; clear; clc; %%输入矢量P&#xff08;15*10&#xff09; P[0.2452 0.1466 0.1314 0.2243 0.5523 0.6642 0.7105 0.6981 0.6821 0.6945 0.7549 0.8215 0.2415 0.3027 0; 0.2217 0.1581 0.1408 0.23…

Java基础(二十五):JDBC

文章目录 一、JDBC1.1 概述1.2 快速入门 二、获取数据库连接的5种方式三、ResultSet四、Statement与PreparedStatement4.1 Statement存在SQL注入4.2 PreparedStatement 五、JDBC API六、事务七、批处理八、数据库的连接方式8.1 传统的连接方式8.2 数据库的连接池技术8.2.1 C3P0…

OpenCV项目实战(2)— 如何用OpenCV实现弹球动画

前言&#xff1a;Hello大家好&#xff0c;我是小哥谈。OpenCV能够在画布上绘制静态的图形&#xff0c;例如&#xff0c;线段、矩形、正方形、圆形、多边形、文字等。那么&#xff0c;能不能让这些静态的图形移动起来&#xff1f;如果能&#xff0c;又该如何编写代码呢&#xff…

S7-1200PLC硬件上升沿中断(VN积分法计算实时卷径)

VN积分法计算实时卷径的算法原理请参考下面文章链接: VN积分法卷径计算FB(SCL代码)_RXXW_Dor的博客-CSDN博客卷径计算的其他方法请参看专栏的相关文章,链接如下:卷径计算(V/N法)_RXXW_Dor的博客-CSDN博客。https://rxxw-control.blog.csdn.net/article/details/131612206PL…

八月 NFT 行业解读:数据下滑,熊市持续

作者: stellafootprint.network 8 月份&#xff0c;加密货币市场经历了明显的波动&#xff0c;比特币价格波动幅度较大。与此同时&#xff0c;NFT 市场出现大幅下跌&#xff0c;引发了人们对这一新兴行业未来发展趋势的担忧。 我们是否已经到达熊市的底部&#xff1f;行业利好…

JDK8 升级至JDK19

优质博文IT-BLOG-CN 目前部分项目使用JDK8&#xff0c;部分项目使用JDK19因此&#xff0c;环境变量中还是保持JDK8&#xff0c;只需要下载JDK19免安装版本&#xff0c;通过配置IDEA就可以完成本地开发。 一、IDEA 环境设置 【1】通过快捷键CTRL SHIFT ALT S或者File->P…

Network: use --host to expose

Network: use --host to expose vite 项目启动后 只能通过 localhost 访问 无法使用 IP 地址访问 原因因为 没有将网络服务暴露在网络中 vite 项目启动 出现如下图 提示&#xff1a; 注意这条提示&#xff1a; Network: use --host to expose 没有将网络服务暴露在网络中 所以 …

【数据结构】用3500字学会优先级队列(堆)

文章目录 &#x1f490;1. 优先级队列1.1 概念 &#x1f490;2.堆的概念及存储方式2.1 什么是堆2.2 为什么要用完全二叉树描述堆呢&#xff1f;2.3 为什么说堆是在完全二叉树的基础上进行的调整&#xff1f;2.4 使用数组还原完全二叉树 &#x1f490;3. 堆的常用操作-模拟实现3…

【CMU 15-445】Proj0 C++ Primer

C Primer Task1 Copy-On-Write TrieTask2 Concurrent Key-Value StoreTask3 DebuggingTask4 SQL String Functions CMU-15445汇总 本文对应的project版本为CMU-Spring-2023的project0 默认读者已经学会了字典树Trie Task1 Copy-On-Write Trie Task1要求实现一个可持久化字典树…

邀请加入团队

**将地址发送给同团队的人克隆失败 ** —解决办法 邀请加入团队 在这里插入图片描述

港科夜闻|香港科大2020十大准独角兽开思完成2亿元D2,D3轮融资,推进汽后全产业链数字化转型...

关注并星标 每周阅读港科夜闻 建立新视野 开启新思维 1、“香港科大2020十大准独角兽”开思完成2亿元D2,D3轮融资&#xff0c;推进汽后全产业链数字化转型。开思一直致力于为汽车后市场打造数字化基础设施&#xff0c;建设行业服务标准与信用体系&#xff0c;其业务涵盖一站式汽…

Hive内置函数字典

写在前面&#xff1a;HQL同SQL有很多的类似语法&#xff0c;同学熟悉SQL后一般学习起来非常轻松&#xff0c;写一篇文章列举常用函数&#xff0c;方便查找和学习。 1. 执行模式 1.1 Batch Mode 批处理模式 当使用-e或-f选项运行$ HIVE_HOME / bin / hive时&#xff0c;它将以…