GIT地址 | https://github.com/ad1543844218/ad1543844218 |
GIT用户名 | ad1543844218 |
学号后5位 | 61117 |
博客地址 | https://www.cnblogs.com/asd1543844218/ |
作业链接 | https://www.cnblogs.com/harry240/p/11515697.html |
1.环境的配置
本来下了vs2019但是不知道vs2019怎么跟着教程走,于是又下了vs2017.
a)vs2017的安装
b) 创建打开文件
c)GitHub的安装
下载安装时 忘了截图....... 安装好的截图如下
2.代码编写
编码题目:
阿超家里的孩子上小学一年级了,这个暑假老师给家长们布置了一个作业:家长每天要给孩子出一些合理的,但要有些难度的四则运算题目,并且家长要对孩子的作业打分记录。
作为程序员的阿超心想,既然每天都需要出题,那何不做一个可以自动生成小学四则运算题目与解决题目的命令行 “软件”呢。他把老师的话翻译一下,就形成了这个软件的需求:
程序接收一个命令行参数 n,然后随机产生 n 道加减乘除(分别使用符号+-*/来表示)练习题,每个数字在 0 和 100 之间,运算符在 2 个 到 3 个之间。
由于阿超的孩子才上一年级,并不知道分数。所以软件所出的练习题在运算过程中不得出现非整数,比如不能出现 3÷5+2=2.6 这样的算式。
练习题生成好后,将生成的 n 道练习题及其对应的正确答案输出到一个文件 subject.txt 中。
编程语言:C++
思路:随机产生题目很明显应该用srand()函数实现,数字范围用rand()随机。生成题目用一个外循环实现,生成数字和运算符用多个内循环实现。
减法时判断减数与被减数大小,被减数小则两个数交换位置,这样来实现不出现负数。除法先判断被除数是否为0,若为0,自增1;不出现小数的话,全部参数用整型,再用强转判断,如果当a/b!=(double)a/b或者a/b==0时,a自增1,大概就是这样。
核心代码:
头文件
#include
#include
#include
文件操作
ofstream subject; subject.open("subject.txt");
减法的数字交换
if (a > b) { d = a; a = b; b = d; }
写入文件 第一行是显示在屏幕 第二行是写入subject.txt文件
cout << a << "+" << b << "=" << endl; subject << a << "+" << b << "=" << a + b << endl;
生成题目
switch (c) { case 0:cout << a << "+" << b << "=" << endl; subject << a << "+" << b << "=" << a + b << endl; break; case 1:if (a < b) { d = a; a = b; b = d; } cout << a << "-" << b << "=" << endl; subject << a << "-" << b << "=" << a - b << endl; break; case 2:
cout << a << "*" << b << "=" << endl; subject << a << "*" << b << "=" << a * b << endl; break; case 3: while (b == 0) { b = rand() % 100; } while (a / b != (double)a / b||a/b==0) { a++; } cout << a << "/" << b << "=" << endl; subject << a << "/" << b << "=" << a / b << endl; break; case 4: a = rand() % 100; b = rand() % 100; m = rand() % 100; n = rand() % 100; c = rand() % 4; while (b == 0) { b = rand() % 100; } while (n == 0) { n = rand() % 100; } if (a > b) { d = a; a = b; b = d; } if (m > n) { d = m; m = n; n = d; } switch (c) { case 0: while (a/b != (double)a / b||a/b==0) { a++; } cout << a << "/" << b << "+" << m << "*" << n << "=" << endl; subject << a << "/" << b << "+" << m << "*" << n << "=" << a / b + m * n << endl; break; case 1: p = (float)a / (float)b; q = (float)m / (float)n; if (p < q) { d = a; a = m; m = d; d = b; b = n; n = d; } while (m / n != (double)m/n||m/n==0) { m++; } cout << a << "*" << b << "-" << m << "/" << n <<"="<< endl; subject << a << "*" << b << "-" << m << "/" << n <<"="<
运行结果:
3.GitHub的使用
a)先从github仓库克隆项目
b)将项目用github创建在本地
然后有了这个说明创建成功
4.上传代码
因为下载的是GitHub 只会网上上传代码
然后将文件拖进去
文件上传成功
5.代码测试
设置断点开始调试
挨个测试后没有发现问题
6.总结
这次作业对我来说很有难度,刚开始看了作业要求一脸懵逼,看懂作业要求与教程都花费了一段时间,GitHub和vs之前都没用过,短时间用起来比较生疏,c++还没学完,代码写起来有点慢,这次代码应该写的不是很满意,很多想法都没实现,运算符的随机性没有写好,还有很多不足的地方。GitHub是全英文的,英语不好的话,怎么操作都不知道,学好计算机也要把英语好好学学。通过这次作业,让我收获颇丰,提前学习到了很多新的东西,像GIT和GitHub。在今后,一定多敲代码,增加代码量。
补充学习 GIT的使用
1.在github上复制可克隆的项目地址
2.随便在我的电脑上找一个文件夹,点击鼠标右键,选择GIT bash here,就出现了这个窗口
3.输入“git clone +复制的网址”按回车,文件夹里就出现了克隆的项目