第二次作业hzw

第二次作业

GIT地址 地址链接
GIT用户名 BRYANT333
学号后五位 24240
博客地址 我的博客
作业链接 第二次作业地址

一、环境配置

win7,vs2019,Git
因为上学期学习面向对象程序 设计,所以已经安装了vs2019,Git如下:
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#语言能力还差的远,编程能力完全不够,很多的东西都需要在网上寻找帮助以及同学的提醒;同时也在单元测试这一块有很大的问题,始终找不到判断代码的方法。
但是也是在慢慢的回忆、摸索的过程中,也学到了很多的知识,有以前的,也有 本次作业中新学的。

posted @ 2019-09-19 18:46  胡志伟  阅读(158)  评论(2编辑  收藏  举报