第二次作业
第二次作业——熟悉使用工具
GIT地址 | https://github.com/226DEBABA |
GIT用户名 | 226DEBABA |
学号后五位 | 24228 |
博客地址 | https://www.cnblogs.com/1111F/ |
作业链接 | https://edu.cnblogs.com/campus/xnsy/GeographicInformationScience/homework/7582 |
1.工作环境配置
安装Visual Studio 2019,安装Git。
2.代码设计思路
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.IO;
using System.Threading;
namespace Calculator
{
public class Program
{
public static string path = @"D:123.txt";
static void Main(string[] args)
{
int n;
Console.WriteLine("算式数:");
n = Convert.ToInt32(Console.ReadLine());
GetSubject(n);
}
static public void GetSubject(int n)
{
StreamWriter sw = new StreamWriter(path);
Random rdm = new Random();
int[] num = new int[4];
char[] ch = new char[3];
for (int i = 0; i < n; i++)
{
int cnum = rdm.Next(2, 4);
num[cnum] = rdm.Next(101);
double resultTest = num[0];
long result = num[0];
string subject = num[0].ToString();
for (int m = 0; m < cnum; m++)
{
num[m] = rdm.Next(101);
int r = rdm.Next(4);
switch (r)
{
case 0:
ch[m] = '+'; break;
case 1:
ch[m] = '-'; break;
case 2:
ch[m] = '*'; break;
case 3:
ch[m] = '/'; break;
default:
break;
}
if (ch[m] == '/' && num[m] == 0)
{
m--;
continue;
}
switch (ch[m])
{
case '+':
resultTest = resultTest + (double)num[m]; break;
case '-':
resultTest = resultTest - (double)num[m]; break;
case '*':
resultTest = resultTest * (double)num[m]; break;
case '/':
resultTest = resultTest / (double)num[m]; break;
default:
break;
}
if (resultTest != Convert.ToDouble(Convert.ToInt64(resultTest)))
{
m--;
continue;
}
switch (ch[m])
{
case '+':
result = result + num[m]; break;
case '-':
result = result - num[m]; break;
case '*':
result = result * num[m]; break;
case '/':
result = result / num[m]; break;
default:
break;
}
subject += ch[m] + num[m].ToString();
}
subject += "=" + result.ToString();
sw.WriteLine(subject);
}
sw.Close();
Console.WriteLine("已将算式写入:" + path);
Console.ReadLine();
}
}
}
3.克隆项目以及提交代码
4.单元测试和回归测试
单元测试
效能分析
5.感想
难,但是学了很多东西,希望下次简单点 ,我顶不住了。