第二次作业
GIT用户名 | BRYANT333 |
学号后五位 | 24240 |
博客地址 | 我的博客 |
作业链接 | 第二次作业地址 |
一、环境配置
win7,vs2019,Git
因为上学期学习面向对象程序 设计,所以已经安装了vs2019,Git如下:
二、代码思路
分别需要产生随机的运算数字和随机的运算符,再进行运算,且运算时可以选择题目的数量,数字的取值范围,以及在最后可以查询正确的结果。
代码如下:`using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.IO;
//zw简单四则运算
namespace Calculator
{
public class SiZeYuanSuan
{
int num_g, num_f;
double[] Result;
Random rdm = new Random();
//构造函数,传值
public SiZeYuanSuan(int num_g, int num_f)
{
this.num_g = num_g;
this.num_f = num_f;
Result = new double[num_g];
}
//产出随机运算
public void YunSuanSC()
{
for (int i = 0; i < num_g; i++)
{
int a = rdm.Next(num_f) + 1;//生成第一个数
int b = rdm.Next(num_f) + 1;//生成第二个数
char f = YunSuanFu();//取出运算符
//打印题目
Console.WriteLine("{0}、{1} {2} {3} = ", i + 1, a, f, b);
//存储结果
if (f == '+') { Result[i] = a + b; }
else if (f == '-') { Result[i] = a - b; }
else if (f == '') { Result[i] = a * b; }
else { Result[i] = Math.Round(Convert.ToDouble(a) / b, 3); }
}
}
//产出随机运算符
char YunSuanFu()
{
int k = rdm.Next(4);
char fu = '+';
switch (k)
{
case 0: fu = '+'; break;
case 1: fu = '-'; break;
case 2: fu = ''; break;
case 3: fu = '/'; break;
}
// Console.WriteLine(fu);
return fu;
}
//查看答案
public void SeeResult()
{
foreach (double i in Result)
{
Console.WriteLine(i.ToString());
}
}
static void Main(string[] args)
{
Console.WriteLine("请输入题目个数:");
int num_g = int.Parse(Console.ReadLine());//确定题目个数
Console.WriteLine("请输入运算数字范围:");
int num_f = int.Parse(Console.ReadLine());//运算范围
SiZeYuanSuan YS = new SiZeYuanSuan(num_g, num_f);
YS.YunSuanSC();
Console.WriteLine("是否查看答案(YorN):");
char See = char.Parse(Console.ReadLine());
if (See == 'Y' || See == 'y')
{
Console.WriteLine("答案如下");
YS.SeeResult();
}
else
{
Console.WriteLine("感谢使用!");
}
string str = Console.ReadLine();
}
}
}`
运行结果如下图:
在克隆时候忘记截图了,很难受。
单元测试
在进行测试时发现始终无法判断代码正确性,希望老师或者助教能进行讲解。
总结
在这次的作业完成过程中,深深的感到自己的c#语言能力还差的远,编程能力完全不够,很多的东西都需要在网上寻找帮助以及同学的提醒;同时也在单元测试这一块有很大的问题,始终找不到判断代码的方法。
但是也是在慢慢的回忆、摸索的过程中,也学到了很多的知识,有以前的,也有 本次作业中新学的。