日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

認(rèn)識并初步應(yīng)用GitHub

 山峰云繞 2022-05-24 發(fā)布于貴州

好好學(xué)習(xí),天天向上

一、這是一個根據(jù)規(guī)定的開頭

GIT的地址 https://github.com/Notexcellent
GIT的用戶名 Notexcxllent
學(xué)號后五位 82405
博客地址 https://www.cnblogs.com/kadcyh/
作業(yè)鏈接 https://www.cnblogs.com/harry240/p/11515697.html

因為之前的博客好像并沒有達(dá)到這次作業(yè)的要求,所以我又完全的根據(jù)了作業(yè)的要求有VS2017重新寫了一次博客。

二、以下是這次博客的主要部分

    
https://www.cnblogs.com/kadcyh/p/11571040.html
其實整個框架和之前沒什么差別,所以主要寫一下自己不太會的地方。

1 正式作業(yè)前的的準(zhǔn)備

    首先需要一個GitHub的賬號,因為之前就已經(jīng)注冊了,所以這一步?jīng)]什么問題。但是因為GitHub上面全是英語,所以看起來比較麻煩,回過頭來想想就算是全中文的網(wǎng)站,我還是不見得全部能看懂。
    接下來,因為要將四則運(yùn)算的整個文件下載到本地所以按照要求我又下載了GitHub Desktop這個的下載很順利(今天是我有史以來下軟件最順利的一天,之前我下一個,下了三天還是沒成功。不是突然網(wǎng)斷就是下好了無法安裝。這次可能是中秋節(jié)給了我一點好運(yùn)氣)但是還是因為是全英文所以運(yùn)用起來比較費力。
    最后我又下載了VS2017,依然順利。

2 將倉庫拷貝到本地

    這一部分出現(xiàn)的問題就是我不知道怎么將Calculator的Branch從java改成C++。因為作業(yè)給出的實現(xiàn)方案用的是Git但是我自己下載的是GItHub Desktop。于是我先用了一段時間想方設(shè)法的實現(xiàn)文中講的Git命令行。后來突然才知道我們的軟件都不一樣,這件事告訴了我:干什么事情之前都要看好前提。
    接下來明明應(yīng)該很順利的,可是我一直沒改成功,本地文件一直沒有顯示有.cpp文件。
    我就想,要不我直接在我的GitHub上面直接把它的分支改成C++在克隆到本地。這樣倒是能夠在我的GitHub Desktop上存在我改后的倉庫,可是它不能克隆到本地。每當(dāng)我要將它克隆到本地就會提示我Creat Pull  Requst……
    后面我退而求其次下了一個zip文件,試圖來完成這次作業(yè)……
    可是非常有趣的事情發(fā)生了,我知道了 c++ = cplusplus……原來弄了這么久的改分支,就是因為我沒認(rèn)識到cplusplus就是C++的意思。
    在VS2017中創(chuàng)建一個新的項目,把拷貝到本地的源文件和頭文件按照要求復(fù)制過去這一部分確實沒什么問題。就是發(fā)現(xiàn)運(yùn)行的結(jié)果和題目要求不一樣。

3 修改代碼思路

    關(guān)于代碼的修改,我還是只改了兩個部分。
    第一部分:需要一個隨機(jī)產(chǎn)生題目的部分。
    具體解決:隨機(jī)產(chǎn)生了一個數(shù)(2~4之間),然后用它做了一個簡單的循環(huán),就完成了這一部分。    

增加代碼:

int main()
{
	int n;
	Calculator* calc = new Calculator();
	srand((int)time(0));
	n = (rand() % 4) + 2;
	for (int i = 0; i < n; i++)
	{
		
		string question = calc->MakeFormula();
		string ret = calc->Solve(question);
		if (ret=="FALSE")
		{
			cout << question<<endl;
			cout << "You can't answer this question,so we do the next one!" << endl;
			cout << '\n';
		}
		else
		{
			cout << question;
			cout << ret << endl;
		}
		getchar();
		
		
	}
	
}

    第二部分:我需要判斷產(chǎn)生的運(yùn)算式子結(jié)果不能出現(xiàn)小數(shù)和負(fù)數(shù)。
    具體解決:因為運(yùn)算產(chǎn)生出來的算式求解的部分是利用堆棧的方式,并且站內(nèi)存儲的還是字符串那一類型。所以,我先要將棧頂?shù)脑剞D(zhuǎn)換為數(shù)字,再來判斷它是否為整數(shù)或者是否為負(fù)數(shù)。

增加代碼:

 string str = calcStack->top();
	
	int num = stoi(str);//zifuchanzhuanhuaweiyigezhwngshu
	double num1 = stof(str);

	if ((num < 0) || (num1 != num))
	{
		return "FALSE";
	}

	//return formula + "=" + calcStack.pop();
	return formula + "=" + calcStack->top();

4 單元測試

    這一部分應(yīng)該是花費我時間最多的一部分,因為我一步步完全按照流程來的。單元測試中的代碼也沒有報錯,可是一全部測試就報錯我沒有定義“Calculatot”這個標(biāo)識符。甚至連字符串都報錯……

代碼:

#include "stdafx.h"
#include "CppUnitTest.h"
#include "..\ConsoleApplication1\Calculator.h"

using namespace Microsoft::VisualStudio::CppUnitTestFramework;

namespace UnitTest1
{		
	TEST_CLASS(UnitTest1)
	{
	public:
		
		TEST_METHOD(TestMethod1)
		{
			Calculator* calc = new Calculator();
			string ret = calc->Solve("11+22");
			Assert::AreEqual(ret, (string)"11+22=33");
		}

	};
}
    因為代碼下面并沒有下滑線,所以至少我的代碼其實沒有問題。但是又既然報錯,然后又應(yīng)該不會是我的電腦有問題。并且連字符串類型都報錯了,那么我寫的#include "Calculator.h"頭文件一定沒用上,那么這樣報錯只有可能我的環(huán)境沒有配置好。即——            外部依賴項    的路徑我沒弄好,于是我重復(fù)寫一個路徑(包括用在百度上的方法修改)寫了一個多小時??墒沁€是報錯,后來我就覺得是不是我的應(yīng)該關(guān)一下我的VS2017,果然再次打開它就不報錯我的標(biāo)識符沒定義了,報錯打不開這個文件……可是我覺得應(yīng)該不會有問題了,我就繼續(xù)打開VS2017在關(guān)閉VS2017,這樣重復(fù)了幾次。竟然成功運(yùn)行了……
    甚至我的**外部依賴項**的路徑就是我最初弄得那個路徑……

5 調(diào)試

    這一步因為C語言的老師和C++的老師都講過,盡管換了一個編輯器,但是都是大同小異沒什么大問題。

6提交代碼

    因為我用的是GitHub Desktop 所及將代碼同步到自己的賬戶是很容易的,直接hang on 就可以了!

三、這次作業(yè)的感受

    因為我自己是一個比較喜歡把自己的事情水掉的人,所以剛開始看到這個真的就隨便寫了一寫,但是后來作業(yè)延期了,我發(fā)現(xiàn)自己應(yīng)該重寫一遍。重寫就發(fā)現(xiàn)就算自己已經(jīng)寫了一遍但是對環(huán)境還是不熟悉。感覺第一次寫的不是我寫的,其實還真的沒什么用!重寫就讓我再次知道這些步驟,還挺有意義的!所以這次作業(yè)對我的幫助真的很大?。。?/code>

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多