个人第2次作业:熟悉使用Git工具
GIT地址 | https://github.com/dxg1999 |
---|---|
GIT用户名 | dxg1999 |
学号后五位 | 62317 |
个人博客 | 我的博客 |
作业链接 | 作业内容 |
项目作业的整个过程
作业背景
阿超家里的孩子上小学一年级了,这个暑假老师给家长们布置了一个作业:家长每天要给孩子出一些合理的,但要有些难度的四则运算题目,并且家长要对孩子的作业打分记录。作为程序员的阿超心想,既然每天都需要出题,那何不做一个可以自动生成小学四则运算题目与解决题目的命令行 “软件”呢。他把老师的话翻译一下,就形成了这个软件的需求:
程序接收一个命令行参数 n,然后随机产生 n 道加减乘除(分别使用符号+-/来表示)练习题,每个数字在 0 和 100 之间,运算符在 2 个 到 3 个之间。
由于阿超的孩子才上一年级,并不知道分数。所以软件所出的练习题在运算过程中不得出现非整数,比如不能出现 3÷5+2=2.6 这样的算式。
练习题生成好后,将生成的 n 道练习题及其对应的正确答案输出到一个文件 subject.txt 中。
当程序接收的参数为4时,以下为一个输出文件示例。
13+17-1=29
1115-5=160
3+10+4-16=1
15÷5+3-2=4
Part 1.项目环境配置过程
1.1先下载vs
1.2然后再勾选上C#所需的组件
GIT安装教程击这儿
1.3安装GIT
1.4回到电脑桌面,鼠标右击如果看到有两个git单词则安装成功
1.5遇到的问题
1.在安装C#组件时,最开始不知道咋查找安装,我又不想把以前安装好的vs删除,在重新安装的界面下勾选,因为重新安装要下载很久;最后,我在搜索栏下搜索组件安装才找到C#组件,也成功安装了。
2.初次使用Git,注册账号在验证邮箱哪里花了一点时间,不懂它那个意思,导致它发了好几个验证码;还有在安装时,不懂该勾选什么,不该勾选什么,还好有度娘(嘻嘻嘻)。
Part 2.克隆项目
2.1按照作业要求,在这个库拷贝下来
2.2拷贝完成
2.3Git初始化及仓库创建和操作
仓库复制创建,成功后,原先那个文件夹就多出一个Calculator
2.4进入项目文件夹,新建一个文件夹,重命名为你的 Github 账号名
2.5遇到的问题
git的指令不太熟悉,在网上查找了一下解决掉了
Part 3.代码设计思路
3.1在VS中新建项目,地址就填刚刚那个文件夹的
3.2关键信息提取
不能出现负数
不能出现小数
项目采用C#完成
数字在0~100之内
运算符号在2~3个内
3.3先用Random函数生成随机数字和运算符号
private void CreateEquation(int problem_cnt)
{
this.problem_cnt = problem_cnt;
for (int i = 0; i < this.problem_cnt; ++i)
{
int number = random.Next(0, 100);//生成随机运算数字,且取值范围为[0,100]
int Symbol = random.Next(2, 4);//随机生成运算符个数,且个数范围为[2,4)
CreateNum(Oparetion_Symbol); //调用生成问题函数
}
3.4再将生成运算符数量个数,且每个数在(1,100)之间,生成算式
public static string Create()
{
string formula = null;
var seed = Guid.NewGuid().GetHashCode();//C#中默认以时间作为随机数种子,那么随机生成的运算式子很多都是相同的(伪随机)
Random random = new Random(seed);
int number = random.Next(0, 100);
int Symbol = random.Next(2, 4);
formula = number.ToString();
for (int i = 0; i <Symbol; i++)
{
number = random.Next(0, 101);//生成随机运算数字,且取值范围为[0,100]
int operation = random.Next(0, 4);//随机产生运算符
formula = formula + Operation_Symbol[operation] + number.ToString();
}
return formula;
}
3.5排除小数和负数,计算结果并返回值
public static string CalculateResult(string formula)
double result_1 = 0; //临时计算结果
if (formula.num.Count == 1) //若计算完毕返回结果
{
formula.result = formula.num[0];
return sb;
}
else if (formula.symbol.Exists(x => x == 2) || formula.symbol.Exists(x => x == 3)) //若运算中有*或/运算优先计算掉
{
for (int i = 0; i < formula.symbol.Count; i++)
{
if (formula.symbol[i] == 2 ||formula.symbol[i] == 3) //找到第一个为*或/的运算符
{
result_1 = Calculate(formula.symbol[i], formula.num[i], formula.num[i + 1]); //将这个运算符计算掉
//将计算结果保存并生成一个新的四则运算
formula.num[i] = result_1;
formula.num.RemoveAt(i+1);
formula.symbol.RemoveAt(i);
return result;
}
}
}
else
{
result_1 = Calculate(formula.symbol[0],formula.num[0],formula.num[1]);
//将计算结果保存并生成一个新的四则运算
formula.num[0] = result_1;
formula.num.RemoveAt(1);
formula.symbol.RemoveAt(0);
return CalculateResult(formula);
}
return result;
}
3.6将结果保存在subject.txt中
StreamWriter writer = new StreamWriter(@"F:\练习\Calculator\subject.txt");
3.7运行结果
遇到的问题
1.随机数的生成以及调用
2.符号优先级不能处理
3.不能处理连续几个数相除
Part 4.单元测试
4.1创建单元测试
4.2查看结果
4.3回归测试
回归测试是指开发修改了旧代码后,测试重新进行测试以确认开发本次修改没有引入新的错误或导致其他代码产生错误。
将修改的和原来的分别运行,查看结果,从而优化程序。
4.4遇到的问题
1.最开始创建单元测试时,不能执行,说只有公开类才支持创建,后来将类改成公开的换成public就行了
2.我最开始在.Net core控制台上写的代码,导致没有右键直接生成创建单元测试的选项,必须自己从项目创建那里重新创建一个测试项目,才能对其测试;后来我改到在.Net premwork控制台上写,单击右键就有直接创建单元测试这个选项了
Part 5.提交代码
5.1打开git,先初始化本地仓库
5.2再执行add 和commit命令
5.3使用git status查看状态
接着用git push登录git
5.4当出现这一步时,说明你没配置ssh密钥,要自己配置(不知道可以看下面的参考文献)
5.5push成功
5.6然后回到你的git上,去上
感悟
Git中不能允许直接Ctrl+v进行粘贴,只能通过右键然后paste进行粘贴.这次作业做下来很累,花了很多时间,因为有很多新东西要配置,但也因此学到了很多新的知识,很开心;首先配置ssh密钥哪里,不知道怎么回事我按照大佬给的步骤一直配不出来,后来直接回车不知怎么地就配好了,终于在自己的C盘里找到了那个id_rsa.pua文件;通过这次作业,感到自己还有很多不足,还有就是Vs的功能太牛皮了;原本是想用栈实现四则运算的,但难度较大且过于繁琐,便采用了 Data Table 提供的现成方法(网上查找到的),自己以后还要多加努力啊。
参考文献
第一次使用Git上传本地项目到github上
C#中生成随机数的几种方法
c#实现简单四则运算
————————————————
让你的指尖跳跃出一行行代码精灵,希望对你有所帮助。
本文博主:翻斗街扛把子胡图图本文版权归作者和博客园共有,欢迎转载,转载请附上原文出处链接及本声明。
个人第2次作业:熟悉使用Git工具的更多相关文章
- 代码管理工具:使用github和git工具管理自己的代码
一.git工具和账户创建 1.1 安装 Git 是 Linus Torvalds 最近实现的源代码管理软件."Git 是一个快速.可扩展的分布式版本控制系统,它具有极为丰富的命令集,对内部系 ...
- 使用Windows下的git工具往github上传代码 踩坑记录
使用Windows下的git工具往github上传代码 踩坑记录 背景 由于以前接触的项目都是通过svn进行版本控制,现在公司项目使用git,加上自己平时有一个练手小项目,趁着周末试着把项目上传到自己 ...
- EXCEL,熟悉又不熟悉的项目管理工具
EXCEL,熟悉又不熟悉的项目管理工具 如何利用excel做轻量级的项目管理 教你用Excel进行项目管理
- 【转】第 02 天:在 Windows 平台必裝的三套 Git 工具
原文网址:https://github.com/doggy8088/Learn-Git-in-30-days/blob/master/docs/02%20%E5%9C%A8%20Windows%20% ...
- windows中使用Git工具连接GitHub(配置篇)
Git在源码管理领域目前占很大的比重了,而且开源的项目很多都转到GitHub上面了.例如:jQuery, reddit, Sparkle, curl, Ruby on Rails, node.js, ...
- Git详解之六 Git工具(转)
Git 工具 现在,你已经学习了管理或者维护 Git 仓库,实现代码控制所需的大多数日常命令和工作流程.你已经完成了跟踪和提交文件的基本任务,并且发挥了暂存区和轻量级的特性分支及合并的威力. 接下来你 ...
- 为异常处理做准备,熟悉一下WinDbg工具
为异常处理做准备,熟悉一下WinDbg工具 马上开始异常处理第二讲,但是在讲解之前,还有熟悉一下我们的WinDbg工具,当然你如果熟悉这个工具,那么就可以不用看了. 一丶熟悉WinDbg界面 刚开始打 ...
- Git详解之六:Git工具
Git 工具 现在,你已经学习了管理或者维护 Git 仓库,实现代码控制所需的大多数日常命令和工作流程.你已经完成了跟踪和提交文件的基本任务,并且发挥了暂存区和轻量级的特性分支及合并的威力.(伯乐在线 ...
- 使用git工具将项目上传到github
注册github账号 https://github.com/ 安装git工具: https://git-for-windows.github.io/ 上面的准备工作完成后,现在开始操作. 一.进入gi ...
随机推荐
- 数据分析三剑客 numpy,oandas,matplotlib
数据分析: 是不把隐藏在看似杂乱无章的数据域背后的信息提炼出来,总结出所研究对象内在规律 NumPy(Numerical Python) 是 Python 语言的一个扩展程序库,支持大量的维度数组与矩 ...
- lua 5 流程控制 if
条件判断中,0 表示 true,只有 nil 才是 false if(0) then -- 可以没有括号 print("0 为 true") elseif 1 then print ...
- python官方库安装包大全
https://www.lfd.uci.edu/~gohlke/pythonlibs/#shapely 需要什么包就 ctrl+f 搜索对应包 然后使用 pip install xxx\xxx\xxx ...
- oracle 定时运行存储过程的实现
是基于PL/SQL 可视化工具的实现: 首先,先编写一个存储过程 点击procedure,右键新建,填写一个你编写的存储过程的名字: 如果是对正常的表进行操作,那么直接在begin和end ...
- 剑指Offer-16.合并两个排序的链表(C++/Java)
题目: 输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则. 分析: 可以用一个新的节点,来去比较两个单调递增的链表当前节点的值,如果p1当前的值小于p2,则新 ...
- Vue 变异方法splice删除评论功能
<!doctype html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- vue v-show的使用
v-show的功能和v-if基本一样,但是v-if有衍生的v-else-if和v-else,v-show没有 v-show的性能比v-if要好,能用v-show就不要用v-if v-if是删除dom节 ...
- 第04组 Alpha冲刺(6/6)
队名:new game 组长博客:戳 作业博客:戳 组员情况 鲍子涵(队长) 燃尽图 过去两天完成了哪些任务 协调了一下组内的工作 复习了一下SuffixAutomata 接下来的计划 实现更多的功能 ...
- 【SpringCloud之pigx框架学习之路 】1.基础环境安装
[SpringCloud之pigx框架学习之路 ]1.基础环境安装 [SpringCloud之pigx框架学习之路 ]2.部署环境 1.Cmder.exe安装 (1) windows常用命令行工具 下 ...
- linux root用户无法删除文件,提示permission denied
我用root用户登录,删除一个普通的文件,怎么删也删不了.最后用lsattr命令查看,原来是被保护了.lsattr查看一个文件 1. chattr权限简介 chattr - change file a ...