第2のソフトウェアエンジニアリングの基礎工事

使い慣れたツール

gitのアドレス  https://github.com/npcccc1/achaodnm.git
gitのユーザー名  npcccc1
ブログのリンク  https://www.cnblogs.com/npc1158947015/
学校の数5の後  92324
ジョブリンク  https://edu.cnblogs.com/campus/xnsy/Autumn2019SoftwareEngineeringFoundation/homework/7590

 

 

 

 

 

 

 

 

 

まず、環境設定プロセス

それはまた、単に偉大前に、非常に簡単に登録githubのに使用される前に、視覚的stdio2017を、C ++コンポーネントを選択したが、ショットは、Gitのインストールは問題の多くに遭遇しなかった滞在していませんでした。

クローニングプロジェクト:型変換を提出しようとする上でも、何も多くの時間を費やし

数日ディレクティブが出てきた誤用のgitを解決するための知識の枝を理解していなかったので、プロジェクトは常にクローニング上で翻訳し、インターネット上で見つけGitはあまりにも少し理解の理由でC ++プロジェクトではありませんので、デフォルトに駐車されていますそのファイルを開くにはmasterブランチは、Javaでもあります。

 

 

コードの第二に、アイデア

要件:

一年生の子供のスーパーファミリー、そしてこの夏に両親への教師は仕事を配し:子供のジョブ得点記録に親は毎日、いくつかの合理的に子供たちを与えるが、4つの操作はいくつかの困難を施し、そして両親。

小学校をしない理由は話題が毎日必要とされているので、私は、思った通りのスーパープログラマは、自動的にコマンドライン「ソフトウェア」、それに伴う問題を解決するために、タイトルを4つのオペレーションを生成することができます。彼は、このソフトウェアの需要の形成に、どのような教師を翻訳します:

プログラムのコマンドラインパラメータを受信し、Nは、Nチャネル演算ランダムに生成された(それぞれ、+記号を使用 - *表される)、演習0と100の間の各数、2-3の間の演算子を。

スーパー子供はスコアを知りませんでした、昨年によるものでした。したがって、ソフトウェアの練習は、この式が発生しないような3÷5 + 2 = 2.6として、非整数演算処理で表示されていません。

演習は、生成した後善意は、生成されたn個の道は正しい答えとのファイルsubject.txtに対応する出力を行使する。

4へのプログラムパラメーターを受信したとき、次のサンプル出力ファイルです。

13 + 17 - 1 = 29
11 * 15 - 5 = 160
3 + 10 + 4 - 16 = 1
15÷5 + 3 - 2 = 4

 

思路:

#include "pch.h"                    //头文件
#include <iostream>
#include <string.h>
#include <stdlib.h>
#include <time.h>   
using namespace std;

  

 


char Operator() { int i; srand(time(NULL)); //需要生成随机的运算符与随机数 i = rand() % 4 + 1; //就先设出这两个函数 switch (i) { case 1: return '+'; case 2: return '-'; case 3: return '*'; case 4: return '/'; } } int Random() { int x; srand(time(NULL)); //看看是否为伪随机数 x = rand() % 100 + 1; return x; }

  

  先把主函数列上,方便之后的函数解说

int main()
{
	int a,b,c,d,judge,n,x;
	char op1,op2,op3;
	cout << "enter the number of calculations that you want to produce:"<<endl;
	cin >> n;                    //问要几个四则运算
	for (x = 1; x <= n; x++)
	{
		judge = rand() % 3 + 1;
		if (judge = 1)            //judge为运算符个数,1时再加1或2
		{
			judge = judge + rand() % 2 + 1;
		}
		if (judge == 2)           
		{
			a = Random();
			b = Random();
			c = Random();
			op1 = Operator();
			op2 = Operator();
			Calculation(op1, a, b);     //把两随机数与符号输出
			Calculation(op2, c);       //用到函数重载
			cout << endl;
		}
		if (judge == 3)
		{                                   //三个运算符需要四个随机数构成式子
			a = Random();
			b = Random();
			c = Random();
			d = Random();
			op1 = Operator();
			op2 = Operator();
			op3 = Operator();
			Calculation(op1, a, b);
			Calculation(op2, c);
			Calculation(op3, d);
			cout << endl;
		}
	}
}

  函数Calculation与Realmark(判断除法运算结果是否为小数)与全局变量int temporary:

  一开始想的是只写一个Calculation(op1, a, b)函数,在txt文件中把相邻的两个相同的数删去一个,后来发现还是重载加全局变量传递相同的数更为简单,便于实现

 

bool Realmark(int x,int y)             //两数相除余数为零则符合条件
{
	if (x%y || y % x != 0)
	{
		return 0;
	}
	else return 1;
} 
void Calculation(char a, int x, int y)
{
	if (a == '*'&&a == '+'&&a == '-')
	{                                          //加减乘直接输出
		cout << x << a << y;
	}
	if (a == '/')
	{
		do
		{
			if (Realmark(x, y))
			{
				cout << x << a << y;
				break;
			}
			else
			{
				x = Random();
				y = Random();
			}
		} while (Realmark(x, y));
	}
	temporary = y;              //每个式子开始的数+符+数可以调用次函数,并且把y赋值给全局变量
}                                   //方便下一个函数只输出符+数,与判断y与新的x若是除法会不会有余数

int temporary; //全局变量,写主函数之前即可


void Calculation(char a, int x) { if(a == '*'&&a=='+'&&a=='-') { cout << a << x; //加减乘即可直接输出 } if (a == '/') { do { if (Realmark(x, temporary)) { cout << a << x ; break; } else { x = Random(); //Realmark为0则要重新生成x,再比较新的x与tempoary } } while (Realmark(x, temporary)); } }

 

一个跑代码时特别坑的就是用了它步骤中的控制台项目,不知道是不是我没转化成c++项目,没拷贝src文件的原因,总是在第一行就开始报错:

符号符号已多次定义。The symbol symbol was defined more than once.

 

此错误后跟错误LNK1169

一个或多个多重定义的符号找到one or more multiply defined symbols found

生成失败,因为多个定义的一个或多个符号。The build failed due to multiple definitions of one or more symbols. 此错误之前错误LNK2005

实验多次,重新开一个空项目才不再报错。

 

三、 使用github克隆项目、提交代码

github真是慢的要死还全是英文看不懂

还是git简直日了 还是依旧不知道哪里出错

为啥照着教程做会给我出来warning出来找不到文件  解决了这个(自己没仔细看)又出来其他的,人都傻了。手动传的代码最后

 

 

四、感想

无聊好无聊一直找错误找到心态爆炸,完全没有什么成就感信了教程的邪一直在一些点打圈圈,啥都不会的感觉太不爽了。

おすすめ

転載: www.cnblogs.com/npc1158947015/p/11563408.html