GIT地址 | GIT地址 |
---|---|
GIT用户名 | jiao54 |
学号后五位 | 24209 |
博客地址 | 个人博客 |
作业链接 | 作业链接 |
一、配置环境
二、克隆项目
1.登录我的github主页
2.进入阿超仓库的网址,点击右上角的 Fork ,将阿超的四则运算库拷贝到自己的同名仓库中
3.将项目克隆到电脑文件夹(D:\软工作业)
三、代码设计思路
1.Make_Formula(),用来随机产生式子左半部分的数字和运算符号
public static string Make_Formula()
{
string formula = null;
var seed = Guid.NewGuid().GetHashCode();//用这种方法生成随机数种子使随机生成的式子不相同。
Random random = new Random(seed);
int number_1 = random.Next(0, 101);//生成随机运算数字,且取值范围为[0,100]
int number_2 = random.Next(2, 4);//随机生成运算符个数,且个数范围为[2,4)
formula = number_1.ToString();
for (int i = 1; i <= number_2; i++)
{
number_1 = random.Next(0, 101);//生成随机运算数字,且取值范围为[0,100]
int operation = random.Next(0, 4);//随机产生运算符
formula = formula + Operation[operation] + number_1.ToString();
}
return formula;
}
2.Calculate(),用来计算随机产生的式子,并检查运算过程中是否有除0操作、运算结果是否有小数或负数。
public static string Calculate(string formula)
{
DataTable dt = new DataTable();
string result = dt.Compute(formula, "").ToString();//利用DataTable提供方法对随机产生的字符串式子进行运算
while (formula.Contains("/0") || result.Contains(".") || Convert.ToInt32(result) < 0)//检查运算过程中是否有除0操作、运算结果是否有小数或负数。
{
formula = Make_Formula();
result = dt.Compute(formula, "").ToString();
}
return result;
}
3..将运行结果写入文本。
Console.Write("输入你需要的算术个数:");
int n = Convert.ToInt32(Console.ReadLine());
StreamWriter sw = new StreamWriter(@"D:\软工作业\AchaoCalculator\jiao54.txt");
for (int i = 0; i < n; i++)
{
string formula = Make_Formula();
string result = Calculate(formula);
string final_MathFormula = formula + "=" + result;
Console.WriteLine(final_MathFormula);
sw.WriteLine(final_MathFormula);//将运算式子写入txt文件
}
在代码设计中,遇到的问题有很多,其中主要有两个,一是输出的结果中有很多重复的式子,二是无法将运算式子写入txt文件中,第一个问题我是网上查询的,第二个问题是通过同学的帮助才解决的。
四、单元测试
1.新建单元测试
2.添加引用,以实现调用原项目函数接口的功能。
3.单元测试代码及运行结果
在单元测试中,无法进行项目配置,后来上网查了一下,发现自己的版本是社区版,只有企业版才可以,所以我就跳过了这一步,直接写单元测试的代码。
五、效能分析
1.点击 IDE 顶部菜单栏中的分析,单击性能探查器,选择测试 CPU 使用率
2.增加循环体,开始效能分析。让程序运行一会儿后停止收集数据得到一份完整的效能分析报告。
3.生成详细报告
六、代码提交
1.配置git帐户名与邮箱
2.进行 git add .和git commit 操作
3.使用 push 命令,会弹出一个窗口要求登录 Github,此时输入 Github 的 用户名或邮箱与密码即可成功 push:
4.提交成功
在代码提交的过程中遇到了很多问题,提交了几次才成功,而且在上传到班级仓库时,页面一直加载不出来,最后是用同学的电脑才上传成功。
七、总结
这次的实验对于我来说比较难,尤其是代码部分,查了很多资料才写出来,说明自己应该好好锻炼自己的编程能力,同时也希望在接下来的实验中,能够进步吧。