C# Windows窗体应用程序设计综合实例--------学生成绩管理系统

c# Windows窗体应用程序设计综合实例-------小游戏设计 c# Windows窗体应用程序设计综合实例(一)匹配游戏设计 上次的计时器运行效果图如下: = ------------------------------------------------------------------------------ 今天来分享一个综合实例,设计一个匹配小游戏。 本次实例步骤较多,切勿搞混。 步骤一 新建项目 1.目的:创建项目并设计布局表。该表有助于将图标... 阅读详情
AI摘要

本文详细介绍了一个基于C#的学生成绩管理系统的设计与实现,包括需求分析、窗体应用程序编写、运行结果展示等,采用单链表作为数据存储结构,实现添加、查找、排序等功能。

C# Windows窗体应用程序设计综合实例(二)--------学生成绩管理系统

今天给大家更新一个综合实例,学生成绩管理系统。从需求分析、窗体应用程序的编写、运行结果来阐述整个过程
(文末和评论区有源代码文件,需要自取,建议先看内容再看源代码,代码描述部分可忽略,比较长,影响观看时间。)

需求分析

首先先要进行需求分析,需求分析就是想清楚你写的窗体应用具体要实现哪些功能。最好把它用表格的形式列出来。本次实例的需求如下表格。

窗体 功能描述
主窗体 对整个系统的功能进行汇总和导航
添加 对输入系统内的学生成绩进行添加输入数据
保存至TXT 将系统内的成绩导出系统
从TXT导入 从系统外导入成绩信息
查找 根据特定信息查找学生的成绩信息
排序 按照特定要求进行降序或者升序排序
删除 对特定学生的成绩信息进行删除
修改 找到学生信息再修改相应的值

接下来我们了解了需求后,就开始在大脑里面构思具体的一个情景。

整体构思

假定这个系统完成了,你在使用的时候首先出现的应该是导航的页面,也就是主窗体,上面有各个功能的按钮。然后接着是每个功能对应的窗体的情景。最后退出结束。这一步的目的是为了在写的时候有一个大致的布局和编写习惯的预定判定。就像是一个工程师在心里画好了图纸,到时候就不用考虑布局和习惯的问题,只需要关注代码之间的逻辑和语法问题
在这里插入图片描述
下面就是整个最煎熬的步骤了,也就是按照前面说讲的窗体应用程序设计的步骤来完成。

窗体应用程序设计的编写

选取学生信息的存储结构

本次由于是做成绩管理系统,就要想好具体在程序里面的存储结构。这里我们用典型的单链表作为存储结构来存储学生的各项信息。
那么可能有一部分不太了解数据结构的小伙伴就比较疑惑了,接下来简单介绍一下单链表。
单链表的结构如下:
在这里插入图片描述
每个节点由数据域和指针域构成,在开头的的节点有一个头指针。该存储结构的优点是在进行某些操作的时候便于修改。具体的内容自行查找知识点,这里不做过多解释。(文末和评论区有源代码,需要自取)

设置布局

接下来我们就开始设置窗体的布局,如下图所示:
1.主界面
在这里插入图片描述
2.修改在这里插入图片描述
3.添加在这里插入图片描述
4.删除在这里插入图片描述
5.排序
在这里插入图片描述
6.查找
在这里插入图片描述
在这里说明一下,在写的过程中,最好是完成一个界面就运行检查一次,不要等到写完了再去查错,工作量比较大容易混乱。

控件布局及属性设置

在了解了布局后,我们接下来根据具体的要求进行属性的设置,属性设置如下:
注意:控件较多的情况下,name属性会自动命名为控件名+加入的顺序,例如加入两个label,第一个自动命名为label1,第二个就为label2。因此后面添加控件按照表格的顺序来一个一个搞好再添加,不然容易混乱与代码对不上。
在这里插入图片描述
在这里再强调一下,最好是完成一个界面就运行检查一次,不要等到写完了再去查错,工作量比较大容易混乱!
最好是完成一个界面就运行检查一次,不要等到写完了再去查错,工作量比较大容易混乱!
最好是完成一个界面就运行检查一次,不要等到写完了再去查错,工作量比较大容易混乱! 重要的事情说三遍。
2.排序在这里插入图片描述
3.查找
在这里插入图片描述
4.删除
在这里插入图片描述
5.修改
在这里插入图片描述
在这里插入图片描述
6.添加
在这里插入图片描述
在这里插入图片描述
严格注意区分name属性里面的大小写,具体事项见备注。

添加代码

添加代码的方法就是双击你的控件,对应的添加。具体的可以看主页之前写的匹配游戏设计和数学测验器。

***************************************
前方高能,非战斗人员请撤离
请爱护好自己的眼睛
***************************************
1.Program.cs

using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using System.Windows.Forms;
    namespace C_sharp学生成绩管理系统
    {
   
   
        public class Node
        {
   
   
            //数据域,当前结点数据

            //信息
            public int id;
            public string name;
            public string classnum;
        internal object tiyu;
        internal object yingyu;
        internal object shuxue;
        //分数
        public int c_sharp {
   
    set; get; }
            public int ds {
   
    set; get; }
            public int maogai {
   
    set; get; }
            public int ps {
   
    set; get; }   
            public int sports {
   
    set; get; }

            public double total {
   
    set; get; }
            public double average {
   
    set; get; }
            //指针   
            public Node Next {
   
    set; get; }    //位置域,下一个结点地址
            //构造函数
            public Node(int id, string name, string classnum, int c_sharp, int ds, int maogai, int ps,int sports)
            {
   
   
                this.id = id;
                this.name = name;
                this.classnum = classnum;
                this.c_sharp = c_sharp;
                this.ds = ds;
                this.maogai = maogai;
                this.ps = ps;
                this.sports = sports;

                this.total = this.c_sharp + this.ds + this.maogai + this.ps  + this.sports;
                this.average = this.total / 6;

                this.Next = null;
            }
        }
        public class LinkList
        {
   
   
            public Node Head {
   
    set; get; } //单链表头
            public int total {
   
    set; get; } //总人数

            //构造
            public LinkList()
            {
   
   
                Head = null;
                total = 0;
            }

            //增加新元素到单链表末尾
            public static void Append(int id, string name, string classnum, int c_sharp, int ds, int maogai, int ps,  int sports)
            {
   
   
                Node foot = new Node(id, name, classnum, c_sharp, ds,maogai, ps,  sports);
                Node A = new Node(id, name, classnum, c_sharp, ds, maogai, ps, sports);

                if (PublicValue.Head == null)
                {
   
   
                    PublicValue.Head = foot;
                    return;
                }
                A = PublicValue.Head;
                while (A.Next != null)
                {
   
   
                    A = A.Next;
                }
                A.Next = foot;
            }
        }

        //全局变量
        public class PublicValue
        {
   
   
            public static Node Head; //单链表头
            public static Node Tail; //单链表尾
            public static int total; //学生总数
        }
        /// 应用程序的主入口点
        static class Program
        {
   
   
            /// <summary>
            /// 应用程序的主入口点
            /// </summary>
            [STAThread]
            static void Main()
            {
   
   
                LinkList link = new LinkList();

                Application.EnableVisualStyles();
                Application.SetCompatibleTextRenderingDefault(false);
                Application.Run(new MainForm());
            }
        }
    }

2.主界面:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.IO;//Stream流类

namespace C_sharp学生成绩管理系统
{
   
   
    public partial class MainForm : Form
    {
   
   

        public MainForm()
        {
   
   
            InitializeComponent();
        }

       

        private void SaveTXT_Click_1(object sender, EventArgs e)
        {
   
   
            //清空txt
            System.IO.File.WriteAllText(@"data.txt", string.Empty);

            //写入
            StreamWriter sw = new StreamWriter("data.txt", true, Encoding.Default);
            Node B = new Node(0, "0", "0", 0, 0, 0, 0, 0);
            B = PublicValue.Head;

            sw.Write(PublicValue.total + "\r\n");
            while (B != null)
            {
   
   
                sw.Write(B.id + "\r\n" + B.classnum + "\r\n" + B.name + "\r\n" + B.c_sharp + "\r\n" + B.ds + "\r\n" + B.maogai + "\r\n" + B.ps + "\r\n" + +B.sports + "\r\n");
                B = B.Next;
            }

            //清空缓冲区
            sw.Flush();

            //关闭流
            sw.Close();

            MessageBox.Show("保存成功");
        }

        private void AppendTxt_Click(object sender, EventArgs e)
        {
   
   
            int i;

            FileStream fs = new FileStream("data.txt", FileMode.Open);
            StreamReader sr = new StreamReader(fs, Encoding.Default);

            //临时接收
            int id;
            string name;
            string classnum;
            int c_sharp;
            int ds;
            int maogai;
            int ps;
            int sports;

            PublicValue.total = int.Parse(sr.ReadLine());

            for (i = 0; i < PublicValue.total; i++)
            {
   
   
                id = int.Parse(sr.ReadLine());
                name = sr.ReadLine();
                classnum = sr.ReadLine();

                c_sharp = int.Parse(sr.ReadLine());
                ds = int.Parse(sr.ReadLine());
                maogai = int.Parse(sr.ReadLine());
                ps = int.Parse(sr.ReadLine());
                sports = int.Parse(sr.ReadLine());

                LinkList.Append(id, classnum, name, c_sharp, ds, maogai, ps, sports);

            }
            sr.Close();
            MessageBox.Show("导入成功");
            List_Click_1(null, null);
        }

        private void List_Click_1(object sender, EventArgs e)
        {
   
   
            Node B = new Node(0, "0", "0", 0, 0, 0, 0, 0);//毫无意义的赋值
            B = PublicValue.Head;

            Change.Text = "";//先清空
            Change.Text += "  学号 \t\t 班级 \t\t姓名\t语文\t体育\t数学\t英语\t物理\t总分\t平均分\r\n";
            while (B != null)
            {
   
   
                Change.Text += B.id + " \t" + B.classnum + "\t" + B.name + "\t" + B.c_sharp + "\t" + B.ds + "\t" + "\t" + B.maogai + "\t" + B.ps + "\t" +  + B.sports + "\t" + B.total + "\t" + B.average.ToString("f2") + "\r\n";
                B = B.Next;
            }
        }

        private void ch_Click(object sender, EventArgs e)
        {
   
   
            ChangeStuForm f3 = new ChangeStuForm();
            f3.ShowDialog();
            List_Click_1(null, null);
        }

        private void Delete_Click_1(object sender, EventArgs e)
        {
   
   
            DelStuForm f4 = new DelStuForm();
            f4.ShowDialog();
            List_Click_1(null, null);
        }

        private void Find_Click_1(object sender, EventArgs e)
        {
   
   

            FindForm f6 = new FindForm();
            f6.ShowDialog();
        }

        private void Sort_Click_1(object sender, EventArgs e)
        {
   
   
            SortForm f5 = new SortForm();
            f5.ShowDialog();
            List_Click_1(null, null);
        }

        private void Exit_Click_1(object sender, EventArgs e)
        {
   
   
            System.Environment.Exit(0);
        }

        private void Add_Click(object sender, EventArgs e)
        {
   
   
            AddStuForm f2 = new AddStuForm();
            f2.ShowDialog();
            List_Click_1(null, null);
        }

        private void MainForm_Load(object sender, EventArgs e)
        {
   
   

        }
    }
}

3.修改

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace C_sharp学生成绩管理系统
{
   
   
    public partial class ChangeStuForm : Form
    {
   
   
        private Button button1;
        private Button button2;
        private TextBox textBox1;
        private TextBox textBox2;
        private TextBox textBox3;
        private TextBox textBox4;
        private TextBox textBox5;
        private TextBox textBox6;
        private TextBox textBox7;
        private TextBox textBox8;
        private Label label1;
        private Label label2;
        private Label label3;
        private Label label4;
        private Label label5;
        private Label label6;
        private Label label7;
        private Label label8;
        private TextBox textBox9;
        private Label label9;
        private Button button3;

        public ChangeStuForm()
        {
   
   
            InitializeComponent();
        }
        
        private void InitializeComponent()
        {
   
   
            this.button1 = new System.Windows.Forms.Button();
            this.button2 = new System.Windows.Forms.Button();
            this.button3 = new System.Windows.Forms.Button();
            this.textBox1 = new System.Windows.Forms.TextBox();
            this.textBox2 = new System.Windows.Forms.TextBox();
            this.textBox3 = new System.Windows.Forms.TextBox();
            this.textBox4 = new System.Windows.Forms.TextBox();
            this.textBox5 = new System.Windows.Forms.TextBox();
            this.textBox6 = new System.Windows.Forms.TextBox();
            this.textBox7 = new System.Windows.Forms.TextBox();
            this.textBox8 = new System.Windows.Forms.TextBox();
            this.label1 = new System.Windows.Forms.Label();
            this.label2 = new System.Windows.Forms.Label();
            this.label3 = new System.Windows.Forms.Label();
            this.label4 = new System.Windows.Forms.Label();
            this.label5 = new System.Windows.Forms.Label();
            this.label6 = new System.Windows.Forms.Label();
            this.label7 = new System.Windows.Forms.Label();
            this.label8 = new System.Windows.Forms.Label();
            this.textBox9 = new System.Windows.Forms.TextBox();
            this.label9 = new System.Windows.Forms.Label();
            this.SuspendLayout();
            // 
            // button1
            // 
            this.button1.BackColor = System.Drawing.SystemColors.Info;
            this.button1.Location = new System.Drawing.Point(75, 372);
            this.button1.Name = "button1";
            this.button1.Size = new System.Drawing.Size(128, 41);
            this.button1.TabIndex = 0;
            this.button1.Text = "确定";
            this.button1.UseVisualStyleBackColor = false;
            this.button1.Click += new System.EventHandler(this.button1_Click_1);
            // 
            // button2
            // 
            this.button2.BackColor = System.Drawing.SystemColors.Info;
            this.button2.Location = new System.Drawing.Point(264, 371);
            this.button2.Name = "button2";
            this.button2.Size = new System.Drawing.Size(140, 41);
            this.button2.TabIndex = 1;
            this.button2.Text = "修改";
            this.button2.UseVisualStyleBackColor = false;
            this.button2.Click += new System.EventHandler(this.button2_Click_1);
            // 
            // button3
            // 
            this.button3.BackColor = System.Drawing.SystemColors.Info;
            this.button3.Location = new System.Drawing.Point(479, 372);
            this.button3.Name = "button3";
            this.button3.Size = new System.Drawing.Size(136, 40);
            this.button3.TabIndex = 2;
            this.button3.Text = "退出";
            this.button3.UseVisualStyleBackColor = false;
            this.button3.Click += new System.EventHandler(this.button3_Click_1);
            // 
            // textBox1
            // 
            this.textBox1.BackColor = System.Drawing.SystemColors.ButtonHighlight;
            this.textBox1.Location = new System.Drawing.Point(94, 46);
            this.textBox1.Name = "textBox1";
            this.textBox1.Size = new System.Drawing.Size(155, 25);
            this.textBox1.TabIndex = 3;
            // 
            // textBox2
            // 
            this.textBox2.BackColor = System.Drawing.SystemColors.ButtonHighlight;
            this.textBox2.Location = new System.Drawing.Point(94, 96);
            this.textBox2.Name = "textBox2";
            this.textBox2.Size = new System.Drawing.Size(155, 25);
            this.textBox2.TabIndex = 4;
            // 
            // textBox3
            // 
            this.textBox3.BackColor = System.Drawing.SystemColors.ButtonHighlight;
            this.textBox3.Location = new System.Drawing.Point(436, 46);
            this.textBox3.Name = "textBox3";
            this.textBox3.Size = new System.Drawing.Size(130, 25);
            this.textBox3.TabIndex = 5;
            // 
            // textBox4
            // 
            this.textBox4.BackColor = System.Drawing.SystemColors.ButtonHighlight;
            this.textBox4.Location = new System.Drawing.Point(94, 209);
            this.textBox4.Name = "textBox4";
            this.textBox4.Size = new System.Drawing.Size(100, 25);
            this.textBox4.TabIndex = 6;
            // 
            // textBox5
            // 
            this.textBox5.BackColor = System.Drawing.SystemColors.ButtonHighlight;
            this.textBox5.Location = new System.Drawing.Point(304, 209);
            this.textBox5.Name = "textBox5";
            this.textBox5.Size = new System.Drawing.Size(100, 25);
            this.textBox5.TabIndex = 7;
            // 
            // textBox6
            // 
            this.textBox6.BackColor = System.Drawing.SystemColors.ButtonHighlight;
            this.textBox6.Location = new System.Drawing.Point(500, 276);
            this.textBox6.Name = "textBox6";
            this.textBox6.Size = new System.Drawing.Size(100, 25);
            this.textBox6.TabIndex = 8;
            // 
            // textBox7
            // 
            this.textBox7.BackColor 
Windows程序设计作业3:用C#语言实现记事本 阅读详情

相关推荐

一个C#的学生成绩管理系统作业

老师要求:能查询每个学生的总成绩、显示前三名成绩、单科成绩最高分和不及格的学生名单、全班平均成绩、各科成绩在不同分数段的学生人数百分比。第一次用C#,写的比较糙,但总的来说还是学到不少的:1.学会了Windows窗体的建立,基本组件的添加,组件属性的获取(如果在当前窗体下就是this.组件名字.组件属性:this.Grades.Text)、点击按钮事件的编写;2.C#基本语句,面向对象的编程的思想...

Vermouthstx的博客 1万+

用Visual Studio和C#快速开发Windows窗体应用:以学生成绩管理系统为例

本文以学生成绩管理系统为例,详细介绍了如何使用Visual Studio和C#快速开发Windows窗体应用。从环境搭建、界面设计、事件处理到数据持久化,提供完整的实战教程,帮助开发者掌握桌面软件开发的核心技能,快速构建功能完善的桌面应用程序。

b9c0d的博客 429

C#学生成绩管理系统开发实战

C#(读作“C Sharp”)是一种由微软开发的现代、类型安全的面向对象编程语言。它综合了C++的强大功能与Visual Basic的易用性,并且是.NET框架的核心语言。在学生成绩管理系统中,C#用于构建应用程序的各个层面,从基础的数据处理到复杂的用户界面。ADO.NET 是一个数据访问技术,它使得.NET 应用程序能够使用 SQL Server、Oracle、MySQL 等数据库。它提供了一组类库,允许开发者编写能够与数据源交互的应用程序。

weixin_42471823的博客 982

C#Windows窗体学生信息管理含选课

C#windows窗体学生信息管理系统,包含选课系统。sqlswever数据库增删查改。

qq_44423029的博客 8088

C#学生成绩管理系统:Access数据库与ADO.NET从建表到界面绑定全指南

在桌面应用开发中,数据库访问与界面数据绑定始终是工程实践的核心环节。C#作为主流开发语言,常与Access这类文件型数据库搭配,通过ADO.NET完成数据交互。理解连接串配置、参数化查询、DataGridView绑定这些基础操作,不仅能完成学生成绩管理系统这类经典项目,更能奠定迁移到SQL Server、MySQL等数据库的技能基础。本文从数据库设计的三张表关联讲起,逐步拆解OleDbDataAdapter填充、ExecuteNonQuery增删改、事务处理等关键步骤,并针对Access特有的参数占位符顺序

weixin_33423874的博客 305

C#运动会成绩管理系统:数据库设计与高并发事务实战

运动会成绩管理系统是典型的业务型数据库应用,涉及多表关联、动态约束、并发写入与报表生成等核心数据库能力。它本质上是对关系型数据库原理的综合实践——从ER建模到SQL Server物理表设计,从行级锁与事务隔离级别到CHECK约束与计算列,再到ADO.NET手动事务控制与SSRS报表集成。该系统天然承载成绩单位动态映射、团体积分原子累加、Excel批量导入容错等真实工程挑战,尤其适合用C#结合SQL Server构建高可靠性桌面应用。文中深入剖析了数据一致性保障机制与WinForm线程安全交互模式,为高校数据

weixin_34408624的博客 424

c#窗体应用程序实例

包含c#窗体应用程序多个实例,简单易懂,非常适合初学者

C#窗体主菜单制作示例

摘要:C#源码,菜单窗体,主菜单 C#窗体主菜单制作示例,演示主菜单,菜单选项的使用。可重置菜单选项,适合C#初学者。 运行环境:Visual Studio2010

图片边界矢量化-地理配准

无地理和投影信息的JPG图片,通过ArcGIS进行地理配准(Georeferencing)完成数字化边界。

u012727861的博客 1904

FinRL实战:5步搞定股票量化交易策略(附Python代码)

本文详细介绍了如何使用FinRL框架,通过5个步骤构建基于深度强化学习的股票量化交易策略。内容涵盖从环境搭建、数据获取与预处理,到交易环境构建、模型训练(如PPO算法),以及策略回测评估与优化的完整流程,并提供了可运行的Python代码示例,帮助读者快速入门AI驱动的量化交易。

weixin_29062865的博客 626

学习利用ce修改游戏生命参数

易语言代码 游戏的简陋界面 用ce查找存储这个1000即生命值的内存地址(得先附加到目标程序上,点击左上角那个电脑按钮) 看到有很多值为1000的,但哪个是生命值呢?真相只有一个 我们点击一下打我这个按钮,看下面的ce界面上地址为004A65C0处的值变了,所以这个就是我们要找的生命值 接下来我们对生命值进行修改,修改为99

zsd747289639的博客 5万+

阻抗匹配与史密斯(Smith)圆图

在找到点B和B'后,我们就能够测量A'到B和B'到D的弧长,前者就是C的归一化电纳值,后者为L的归一化电抗值。当然,表面上看新的点好像是一个不同的阻抗,实际上Z和1/Y表示的是同一个元件(这个新值在圆图上呈现为一个不同的点,而且反射系数也不相同,依次类推)。出现这种情况的原因是我们的图形本身是一个阻抗图,而新的点代表的是一个导纳。这个方程是在复平面(Γr, Γi)上、圆的参数方程(x - a)² + (y - b)² = R²,它以[r/(r + 1), 0]为圆心,半径为1/(1 + r)。

qq_55759599的博客 3961

PCL 逐点插入法构建Delaunay三角网(C++详细过程版)

点云构建Delaunay三角网的逐点插入法基于PCL点云库的C++详细过程版实现

点云侠的博客 2991

【全志V821_FoxPi】6-2 IMX219 MIPI摄像头适配

全志V821芯片适配IMX219 MIPI摄像头(2lane)教程,基于FoxPi开发板V1.2 SDK。文章详细介绍了IMX219的技术参数(800万像素、1/4英寸CMOS、支持1080P@30fps输出)及模组接口原理图。重点展示了设备树配置方法,包括PIO引脚定义(TWI0使用PA3/PA4,复位引脚PA2)、TWI0节点设置(100kHz时钟)以及VIND0节点中sensor0的完整配置(I2C地址0x20、MCLK0、RAW格式输出等)。配置过程强调需注意IMX219的器件地址转换(0x10→0

第四维度的博客 2248

基于ESP32的智能无线广播系统开发博客

通过本项目的开发,我们成功地实现了基于ESP32的智能无线广播系统。该系统不仅具备传统广播的功能,还实现了通过Wi-Fi无线传输音频、实时广播和智能控制等多种先进功能。未来,随着技术的进一步发展,我们还可以扩展更多功能,如智能推荐广播内容、支持语音识别和控制等。希望本项目能够为嵌入式开发人员提供一些思路和参考,帮助大家在实际开发中更好地应用ESP32平台,开发出更加智能和实用的无线广播系统。

2201_76125393的博客 423

flash均衡磨损--实时保存设备数据

【代码】flash均衡磨损--实时保存设备数据。

Car12 480

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

上一篇: Python:概述与基础语法(一)
下一篇: C# Windows窗体应用程序设计综合实例------简易计算器的实现
思维矩阵K
博客等级 码龄7年 605粉丝 29原创
评论 9
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

思维矩阵K

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值