第二次作业hzw
第二次作业
| GIT地址 | 地址链接 | 
|---|---|
| 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#语言能力还差的远,编程能力完全不够,很多的东西都需要在网上寻找帮助以及同学的提醒;同时也在单元测试这一块有很大的问题,始终找不到判断代码的方法。
但是也是在慢慢的回忆、摸索的过程中,也学到了很多的知识,有以前的,也有 本次作业中新学的。
第二次作业hzw的更多相关文章
- 耿丹CS16-2班第二次作业汇总
		
-- Deadline: 2016-09-28 12:00 -- 作业内容:http://www.cnblogs.com/huangjunlian/p/5891726.html -- 第二次作业总结: ...
 - JAVA第二次作业展示与学习心得
		
JAVA第二次作业展示与学习心得 在这一次作业中,我学习了复选框,密码框两种新的组件,并通过一个邮箱登录界面将两种组件运用了起来.具体的使用方法和其他得组件并没有什么大的不同. 另外我通过查阅资料使用 ...
 - 20169212《Linux内核原理与分析》第二周作业
		
<Linux内核原理与分析>第二周作业 这一周学习了MOOCLinux内核分析的第一讲,计算机是如何工作的?由于本科对相关知识的不熟悉,所以感觉有的知识理解起来了有一定的难度,不过多查查资 ...
 - 软件工程(QLGY2015)第二次作业点评(随机挑选20组点评)
		
相关博文目录: 第一次作业点评 第二次作业点评 第三次作业点评 说明:随机挑选20组点评,大家可以看看blog名字,github项目名字,看看那种是更好的,可以学习,每个小组都会反应出一些问题,希望能 ...
 - 程序设计第二次作业<1>
		
面向对象程序设计第二次作业<1> Github 链接:https://github.com/Wasdns/object-oriented 题目: <1>第一次尝试 我立马认识到 ...
 - homework-02,第二次作业——寻找矩阵最大子序列和
		
经过漫漫漫~~~~~~~~~~~~~~长的编译和调试,第二次作业终于告一段落了 先放出源码,思路后面慢慢道来 #include<stdio.h> #include<stdlib.h& ...
 - 20169210《Linux内核原理与分析》第二周作业
		
<Linux内核原理与分析>第二周作业 本周作业分为两部分:第一部分为观看学习视频并完成实验楼实验一:第二部分为看<Linux内核设计与实现>1.2.18章并安装配置内核. 第 ...
 - SQL 第二章 作业
		
/*第二章 作业*/ create table S ( sno char(2) NOT NULL UNIQUE, sname char(3), city char(2) ); alter table ...
 - 软件工程(GZSD2015)第二次作业小结
		
第二次作业,从4月7号开始,陆续开始提交作业.根据同学们提交的作业报告,相比第一次作业,已经有了巨大改变,大家开始有了完整的实践,对那些抽象的名词也开始有了直观的感受,这很好.然后有一些普遍存在的问题 ...
 
随机推荐
- boostrap-非常好用但是容易让人忽略的地方【1】:modal
			
使用bootstrap框架好久了,在开发中也用到了或者遇到了很多的问题,所以跟大家分享一下 bootstrap modal 组件的样式 .modal-lg .modal-sm 说明:这个是bootst ...
 - Vue+Element实现网页版个人简历系统
			
这篇文章介绍一个使用Vue+Element实现的个人简历系统,主要用到的技术有:vue.element.css3.css定位. 作者在window10进行开发,目前只在chrome上进行过测试,没有大 ...
 - libcurl库的简单使用
			
#include <stdio.h> #include <tchar.h> #include <windows.h> #include <process.h& ...
 - 洛谷$P2046\ [NOI2010]$海拔 网络流+对偶图
			
正解:网络流+对偶图 解题报告: 传送门$QwQ$ $umm$之前省选前集训的时候叶佬考过?然而这和我依然不会做有什么关系呢$kk$ 昂这题首先要两个结论?第一个是说每个位置的海拔一定是0/1,还一个 ...
 - AutoCad 二次开发 Jig操作之墙块的拖动
			
测试结果: 主要思路:选择一段多段线,使用封装的jig类进行实时拖动,其原理就是在拖动的时候,确定被拖动的边,我是选择离输入第一个点最近的边作为拖动边,有了这条边,就能确定需要实时更改的点了,然后当鼠 ...
 - 一文详解滑动平均法、滑动平均模型法(Moving average,MA)
			
任何关于算法.编程.AI行业知识或博客内容的问题,可以随时扫码关注公众号「图灵的猫」,加入”学习小组“,沙雕博主在线答疑~此外,公众号内还有更多AI.算法.编程和大数据知识分享,以及免费的SSR节点和 ...
 - k8s(1.14.0)+etcd(3.3.10)+flanneld(0.10)
			
K8s(1.14) 几张比较不错的图 1.kubernetes 组件图 kubernetes 架构图 2.kubernetes 网络架构图 数据从源容器中发出后,经由所在主机的docker0虚拟网卡转 ...
 - Antd将Table导出为Excel
			
Antd将Table导出为Excel 在最近的项目中,需要把表格中的数据导出给财务进行统计,网上很多一键导出的按钮都没用.经过东拼西凑,最终搞定了导出,自己封装了组件. import { File } ...
 - Sample Code之Take a screenshot of a SceneView
			
周末事情太多了,以后就工作日发布随笔吧.周末的话,看心情,也许也会发~ 今天的实例代码解析是Take a screenshot of a SceneView,也就是获取快照,话不多说,进入正题. 首先 ...
 - 【转】ArcGIS 10.1 for Server 架构
			
前一段时间在博客中公布了我们的计划,我们采用博客的形式将对ArcGIS10.1 for Server进行全面介绍.但这种形式有一定的遗憾:缺少互动的空间,所以我们希望广大爱好者能将自己感兴趣的话题在博 ...