第二次软工作业——前后端分离计算器

这个作业属于哪个课程https://bbs.csdn.net/forums/ssynkqtd-05
这个作业要求在哪里https://bbs.csdn.net/topics/617377308
这个作业的目标继续实现更完善的计算器功能,体现前后端分离
其他参考文献

目录

1,Gitcode项目地址

2,PSP表格

3,成品展示

4,代码说明

5,心得体会


1,Gitcode项目地址

fzu-sxw/rj · GitHub


2,PSP表格

PSPPersonal Software Process Stages预估耗时(分钟)实际耗时(分钟)
Planning计划5060
• Estimate• 估计这个任务需要多少时间3045
Development开发450600
• Analysis• 需求分析 (包括学习新技术)600720
• Design Spec• 生成设计文档4030
• Design Review设计复审6050
• Coding Standard• 代码规范 (为目前的开发制定合适的规范)3030
• Design• 具体设计120180
• Coding• 具体编码300360
• Code Review• 代码复审120140
• Test• 测试(自我测试,修改代码,提交修改)90100
Reporting报告120150
•Test Report• 测试报告8090
• Size Measurement• 计算工作量3035
• Postmortem & Process Improvement Plan• 事后总结, 并提出过程改进计划6060
合计21802650

3,成品展示


4,代码说明

后端部分关键代码样例:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using WebAppStudyCore01.Common;

namespace WebAppStudyCore01.Models {
  public class ShoppingCarts {
    public static int AddCart(string cityname, string count)
    {
      return SqlHelp.ExecuteNonQuery($"INSERT INTO Study01 (cityName, info) VALUES('{cityname}', '{count}')");
    }

  }
}
using System;
using System.Collections.Generic;
using System.Data;
using System.Data.SqlClient;
using System.Linq;
using System.Threading.Tasks;
namespace WebAppStudyCore01.Common {
  public class SqlHelp {
    public static string ConStr { get; set; }
    /// <summary>
    /// 执行查询语句
    /// </summary>
    /// <param name="cmdText">SQL语句</param>
    /// <returns>返回 SQL语句 查询数据</returns>
    public static DataTable ExecuteTable(string cmdText)
    {
      using (SqlConnection con = new SqlConnection(ConStr))
      {
        con.Open();
        SqlCommand cmd = new SqlCommand(cmdText, con);
        SqlDataAdapter sda = new SqlDataAdapter(cmd);
        DataSet ds = new DataSet();
        sda.Fill(ds);
        return ds.Tables[0];
        // 取数据库数据
      }
    }
    /// <summary>
    /// 执行【增、删、改】语句
    /// </summary>
    /// <param name="cmdText">SQL语句</param>
    /// <returns>返回受影响行数</returns>
    public static int ExecuteNonQuery(string cmdText)
    {
      using (SqlConnection con = new SqlConnection(ConStr))
      {
        con.Open();
        SqlCommand cmd = new SqlCommand(cmdText, con);
        int rows = cmd.ExecuteNonQuery();
        if (rows <= 0)
        {
          throw new Exception("数据库执行错误");
        }
        return rows;
      }
    }

  }
}

前端部分代码样例:

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 简易计算器2
{
    public partial class Form1 : Form
    {
        Button btn;
        double num1;
        double num2;
        string fh;
        public Form1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            textBox1.Text += 1;
        }

        private void num(object sender, EventArgs e)
        {
            btn = (Button)sender;
            textBox1.Text += btn.Text;
        }

        private void button17_Click(object sender, EventArgs e)
        {
            textBox1.Text = "";
        }

        private void fuhao(object sender, EventArgs e)
        {
            btn = (Button)sender;
            num1 = Convert.ToDouble(textBox1.Text);
            fh = btn.Text;
            textBox1.Text = "";
        }

        private void button18_Click(object sender, EventArgs e)
        {
            btn = (Button)sender;
            num2 = Convert.ToDouble(textBox1.Text);
            switch (fh)
            {
                case "*":
                    textBox1.Text = (num1 * num2).ToString();
                    break;
                case "/":
                    textBox1.Text = (num1 / num2).ToString();
                    break;
                case "+":
                    textBox1.Text = (num1 + num2).ToString();
                    break;
                case "-":
                    textBox1.Text = (num1 - num2).ToString();
                    break;
                case "%":
                    textBox1.Text = (num1 % num2).ToString();
                    break;
                case "^":           
                    textBox1.Text = (Math.Pow(num1,num2)).ToString();
                    break;
                case "sin":
                    double num3 = num2 * (Math.PI / 180);
                    textBox1.Text = (Math.Sin(num3)).ToString();
                    break;
                case "cos":
                    num3 = num2 * (Math.PI / 180);
                    textBox1.Text = (Math.Cos(num3)).ToString();
                    break;
                case "tan":
                    num3 = num2 * (Math.PI / 180);
                    textBox1.Text = (Math.Tan(num3)).ToString();
                    break;
                case "e":
                    textBox1.Text = (Math.Exp(num2)).ToString();
                    break;
                case "log":     
                    textBox1.Text = (Math.Log(num2)).ToString();
                    break;
            }
        }
    }
}

5,心得体会

很难,好多东西没学会,也还没学完搞了个冷门的东西C#,其实应该学JAVA啥的,只做了最基本的,汇率啥的都没有,就基础功能和以及不太合格的前后端,时间紧张,之后会继续学习完善。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值