GITアドレス | https://github.com/xiaonannanbuchengxian |
GITユーザー名 | xiaonannanbuchengxian |
5後の学生のID | 61225 |
ブログのアドレス | https://www.cnblogs.com/xiaonannanbuchengxian/ |
ジョブリンク | https://www.cnblogs.com/harry240/p/11515697.html |
(どのように解決するか、どのような問題に遭遇含む)の環境設定プロセスを反映して、ブログの記録を取ってください。 |
それはであるため、環境設定プロセスは、多くの問題を持っていなかったの前にすでにVSを使用しているので、今では滑らかで、スムーズなインストールをダウンロードして振り返ってみると思われます。初めは、C ++のコードでプログラムする方法を知りませんが、先生はC ++コーディングプロジェクトを使用する方法について話しました、あなたが知っているので、これは非常によく知っているので。
あなたのコードのデザインの考え方を反映した(注:コードが通過実行できることを確認してください) |
まず、それから、あまりないトラブルを4つの算術符号を設計し、それを設計する方法を乱数、ランダムな演算子を生成する方法を考えます。
さて、+コメント以下のコード()
#include <iostream>
#include <time.h>
using namespace std;
int main()
{
int N,num1, num2, num3, count = 0, result, resultTrue, flag;
char op1, op2;
cout << "请输入你想生成的题目数目:" << endl;
cin >> N;//题数
cout << "这里有" << N << "道题,开始计算吧!";
srand(time(NULL));//生成随机数
do {
num1 = rand() % 100 + 1;
num2 = rand() % 100 + 1;
num3 = rand() % 100 + 1;
if (num1 % num2 != 0 || num2 % num3 != 0 || (num1 / num2) % num3 != 0)
{
num1 = rand() % 100 + 1;
num2 = rand() % 100 + 1;
num3 = rand() % 100 + 1;//保证运算中不会出现小数
}
else
{
count++;//生成一个算式并计算后count加1
switch (num1 % 4)//随机生成第一个运算符
{
case 0:
op1 = '+';
break;
case 1:
op1 = '-';
break;
case 2:
op1 = '*';
break;
case 3:
op1 = '/';
break;
default:
break;
}
switch (num2 % 4)//同上,随机生成第二个运算符
{
case 0:
op2 = '+';
flag = 0;
break;
case 1:
op2 = '-';
flag = 0;
break;
case 2:
op2 = '*';
if ((op1 == '*') || (op1 == '/')) flag = 0;
else flag = 1;
break;
case 3:
op2 = '/';
if ((op1 == '*') || (op1 == '/')) flag = 0;
else flag = 1;
break;
default:
break;
}
cout << num1 << " " << op1 << " " << num2 << " " << op2 << " " << num3 << " " << "=";//生成算术式
if (flag == 0)//运算先后顺序的确定,flag0为先计算num1,num2,flag1为先计算num2,num3
{
resultTrue = 0;
switch (op1)
{
case '+':
resultTrue = num1 + num2;
break;
case '-':
resultTrue = num1 - num2;
break;
case '*':
resultTrue = num1*num2;
break;
case '/':
resultTrue = num1 / num2;
break;
default:
break;
}
switch (op2)
{
case '+':
resultTrue += num3;
break;
case '-':
resultTrue -= num3;
break;
case '*':
resultTrue *= num3;
break;
case '/':
resultTrue /= num3;
break;
default:
break;
}
}
else
{
resultTrue = 0;
switch (op2)
{
case '+':
resultTrue = num2 + num3;
break;
case '-':
resultTrue = num2 - num3;
break;
case '*':
resultTrue = num2*num3;
break;
case '/':
resultTrue = num2 / num3;
break;
default:
break;
}
switch (op1)
{
case '+':
resultTrue += num1;
break;
case '-':
resultTrue -= num1;
break;
case '*':
resultTrue *= num1;
break;
case '/':
resultTrue /= num1;
break;
default:
break;
}
}
cin >> result;
if (result == resultTrue)
cout << "Right!你真的太棒了!" << endl;
else
cout << "faulse!继续加油哦,进行下一题的计算吧!";
}
}
while (count <= N-1);//题数生成终止条件
return 0;
}
あまりにもハードI
あなたはgithubのクローンのプロジェクトを使用し、全体のプロセスを記録し、(あなたが解決するか遭遇した問題を含む)のコードを提出します |
プロジェクトのクローン作成は本当に、特に彼らが知っている前に、後に学生に尋ねたまで、私は実際にスーパー倉庫のアドレスが間違っているものを最初に、私に多くの時間を要しました。それは言った、クローニングした後、前述の記事を参照してください-デフォルトの分岐がjavaの複製されています、C ++プロジェクトに切り替えるにはgitのチェックアウトCPLUSPLUSコマンドを使用し、私は方法を見つけるために、オンライン検索を考えている、ここで多くの時間を費やし他の方法を知って何の変換も、ちょっと、私はあまりにもハードだ-変換後、結果は生徒に尋ねる
大切にするために彼らの倉庫にクローニングされたスーパー四則発電ません。
Aスーパー四則発電プロジェクトは、ローカルファイルにクローニングしました。
Gitはスナップショットファイルのプロジェクトをコミットする-mコマンドをコミットします。gitのステータスは、プロジェクトに現在のファイルの完全なスナップショットかどうかを確認します。
Githubのプロジェクトに直接話をするのgit pushは、元のプロジェクトをプッシュ。
ここでは、オンライン倉庫アップロードされたファイルを見ることができます。
注意:着陸操作が......不快なスクリーンショットを忘れてしまいました。
あなたのユニットテストとプロジェクトの回帰テストの記録(あなたの問題を含むが、どのような解決策です) |
ユニットテストは、実際にテストしています。正面の階段は比較的スムーズに思えるが、インタフェース定義ヘッダファイル電卓プロジェクトの導入は、それはしないだろう......(継続する...下記参照)
、それが持つべきここにあった電卓の作品を紹介しますインタフェース定義ヘッダファイルのスクリーンショットが、私はスキップされますが、テストの結果が出てきたように私は感じて、それが正しいようです。