第二次我的做業:熟悉使用環境

GIT地址 https://github.com/cl12312
GIT用戶名 cl12312
學號後五位 24130
博客地址 https://www.cnblogs.com/chen100/
做業連接 http://www.javashuo.com/article/p-weggbcgg-bz.html

1.環境配置問題

a.VS環境的配置

在大一學C語言的時候已經安裝過vs2015,此次從新安裝vs的時候在網上下載安裝包的時候居然下成Blend Visual studio,後面從新下載了Visual studio2015的安裝包。在緩慢的安裝進程後,我寫了一個「hello world!」測試環境,結果顯示執行錯誤,後面再網上搜索解決辦法,原來是安裝過程當中用過金山毒霸清理垃圾致使重要文件丟失沒法運行C#的程序。第三次在卸載金山毒霸後從新安裝,終於能正常運行C#的程序啦。
  javascript

b.Git和GitHub的註冊

github的註冊比較順利沒有碰見問題,下載GitHub也比較順利。
在這裏插入圖片描述html

2.克隆項目

在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述

3.設計思路

a.新建項目

在這裏插入圖片描述

b.代碼思路

(1)首先把加減乘除放進數組中java

char[] o = { '+', '-', '*', '/' };

(2)而後經過隨機生成數字和運算符號將運算式放進提早設置好的result字符中,同時注意除號的時候除數不能爲零。git

int i = 0;
while (i < n)
{
               int h = rd.Next(2, 4);//隨機生成的數字爲了進行三個或者四個數字的隨機運算
               int a = rd.Next(0, 100);
               string result = null;
               result = result + a;
               for (int j = 0; j < h; j++)
               {
                   int m = rd.Next(0, 4);
                   int b = rd.Next(0, 100);
                   if (o[m] == '/')
                   {
                       if (b != 0)
                       result = result + o[m] + b;
                       else
                           break;
                   }
                   else
                   result = result + o[m] + b;
}

(3)運算式的運算函數github

public double Com(string result)//計算運算式的結果
        {

            DataTable da = new DataTable();
            double end = double.Parse(da.Compute(result, "").ToString());
            return end;
        }

(4)最後結果的判斷,不能爲分數和負數面試

if (Com(result) % 1 == 0 && Com(result) >= 0)//結果除以1有餘數就說明是小數,爲了避免爲負數必須保證結果大於等於0
 {
                 i++;
                Console.WriteLine(result + "=" + Com(result));
                CreatFile cf = new CreatFile(result );
}

保存進文本文件:數組

// 這是一個保存在D盤的subject文件所建立的類
StreamWriter sw = new StreamWriter("D:/subject.txt", true);
sw.WriteLine(st);
sw.Close();

輸入出題的數量:bash

// 這是主函數
Console.WriteLine("請輸入出題個數:");
int n = Convert.ToInt32(Console.ReadLine());//輸入要出題的個數並賦值給n
PrintCalcuate calcuate1 = new PrintCalcuate(n);
Console.ReadKey();

運算結果:
在這裏插入圖片描述記事本打開的結果:
在這裏插入圖片描述編譯成功的結果跟記事本結果一直,以前準備存C盤可是權限不夠就只能放進D盤,存入文本文件以及運算式的運算一直出問題後面通過網上搜索才慢慢理解後寫出來。服務器

4.測試項目

a.單元測試

單元測試比較坎坷,發現右鍵點擊打不開單元測試,後來右鍵點擊解決方案。
在添加新項目中點測試新建單元測試。
雙擊後出現下面界面:
在這裏插入圖片描述在測試項目上,有鍵引用原項目:在這裏插入圖片描述
在出現的界面中添加要測試的方法:在這裏插入圖片描述點上面控件測試-所有測試:函數

在這裏插入圖片描述

測試完畢後出現下面界面

在這裏插入圖片描述

b.迴歸測試

迴歸測試就是在修改原有代碼後,從新對代碼進行測試防止沒有新的錯誤或者其餘代碼的產生出現的錯誤。
測試前代碼:

// 這是一個保存在D盤的subject文件所建立的類
namespace ConsoleApp2
{
    class CreatFile
    {
        public CreatFile(string st)
        {
         string st = "20+2-6=16";
            StreamWriter sw = new StreamWriter("D:/subject.txt", true);
            sw.WriteLine(st);
            sw.Close();

        }
    }
}

修改後代碼:

// 這是一個保存在D盤的subject文件所建立的類
namespace cee 
{
    [TestClass]
    public class CreatFile
    {
        [TestMethod]
        public void CreatFile()
        {
            string st = "45+20-12=53";
            StreamWriter sw = new StreamWriter("D:/subject.txt", true);
            sw.WriteLine(st);
            sw.Close();

        }
    }
}

其後的方法與單元測試一直

C.設置斷點

在這裏插入圖片描述斷點能夠很快的看出程序的出錯點在哪裏,也能清楚的瞭解程序的運算思路。

c.效能測試

(1)cpu測試

在這裏插入圖片描述

(2)Gpu使用狀況

在這裏插入圖片描述

(3)內存使用狀況

在這裏插入圖片描述

(4)性能分析

在這裏插入圖片描述

(5)對象分配分配跟蹤在這裏插入圖片描述

5.提交代碼

代碼提交一直沒有成功,按照實驗指導老是出錯,後面試了網上的方法,按照這個網站https://blog.csdn.net/cai2016/article/details/51557682一步一步的來。然而錯誤仍是出現,由於第一次使用git提交代碼,因此複製地址原本須要http可是有些博客上說SSH因此一直出錯,還有代碼沒有規範運行不了。按照我用的方法:首先建立一個文件夾(點進文件夾空白出在git bash 上輸入git init),將代碼複製帶這個文件夾繼續輸入git add .(後面這個點是包括這個文件夾全部更改文件),查詢狀態發現文件名有綠色變成藍色說明文件已經添加到臨時倉庫,在輸入git commit -m「信息」
後輸入查詢狀態再建立連接(記得輸入htpps地址),而後pull文件到本地在push倉庫臨時文件到Achao服務器。
總的來講,最後一步上次代碼比我預期還要困難,主要是不熟悉操做錯誤,花了不少時間在蒐集信息上面,但仍是值得。

在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述在這裏插入圖片描述

6.心得體會

此次做業花費了兩天的時間,開始按照實驗指導仍是很輕鬆到代碼階段本身一直想各類方法可是很難實現(C#的基礎不行)。後面按照本身想的方法就去搜索各類博客看其餘大佬的代碼,看代碼也是比較浪費時間的事情,花費很多時間看懂幾份代碼後本身慢慢寫出代碼不過運行經過結果卻不對或者沒有答案或者各類bug而後調試斷點一步步改進最後寫出一份。第一個份是用switch寫的以爲代碼重複並且範圍有限,而後又用隨機生成運算符、運算符個數和運算數字進行運算(這個是最開始想法但開始難以實現)。第二份比第一份代碼寫的快多了,不過還有很多問題出現,好比怎樣運算代數、怎樣存入文本文件不被覆蓋......... 此次收穫真的很大,對C#的不少語句又熟練不少除此以外也對C#其餘以前沒有學過的知識有了必定的掌握。Github也有了必定的認識,掌握了用git提交本地的代碼,可是以爲本身耗費的時間太多了下次仍是須要多學習再動手。

相關文章
相關標籤/搜索