zoukankan      html  css  js  c++  java
  • 计算机与软件工程 第三次作业

    作业要求在哪 https://edu.cnblogs.com/campus/jssf/infor_computation17-31/homework/10454)
    我在这个课程的目标是 练习编程,进行单元测试
    此作业在哪个具体方面帮我实现目标 编程计算,测试
    其他参考文献 (https://www.cnblogs.com/xinz/archive/2011/11/20/2255830.html)(https://www.cnblogs.com/SivilTaram/p/software_pretraining_cpp.html)
    作业正文 (https://gitee.com/gardonD/dl-git1.git)

    代码

    #include<iostream>
    #include<cstdlib>
    using namespace std;
    int getmax(int array[],int length)
    {
        int sum = 0;    
        int max = 0;   
        int startIndex = 0; 
        int endIndex = 0;   
        int newStartIndex = 0;  
        for (int i = 0; i < length; i++)    
        {
            if (max < 0)  
            {
                max = array[i];    
                newStartIndex = i;  
            }
            else
            {
                max += array[i];   
            }
            if (sum < max) 
            {
                sum = max; 
                startIndex = newStartIndex;
                endIndex = i;  
            }
        }
        return max;
    }
    
    int getstartIndex(int array[],int length)
    {
        int sum = 0;    
        int max = 0;   
        int startIndex = 0; 
        int endIndex = 0;   
        int newStartIndex = 0;  
        for (int i = 0; i < length; i++)    
        {
            if (max < 0)   
            {
                max = array[i];    
                newStartIndex = i;  
            }
            else
            {
                max += array[i];   
    }
            if (sum < max) 
            {
                sum = max; 
                startIndex = newStartIndex; 
                endIndex = i;   
            }
        }
        return startIndex;
    }
    int getendIndex(int array[],int length)
    {
        int sum = 0;    
        int max = 0;   
        int startIndex = 0; 
        int endIndex = 0;   
        int newStartIndex = 0;  
        for (int i = 0; i < length; i++)    
        {
            if (max < 0)   //如果max < 0;
            {
                max = array[i];    
                newStartIndex = i;  
            }
            else
            {
                max += array[i];   
            }
            if (sum < max) 
            {
                sum = max; 
                startIndex = newStartIndex; 
                endIndex = i;   
            }
        }
        return endIndex;
    }
    
    
    int main()
    {
        int length,i=0;
        cout<<"请输入个数:";
        cin>>length;
        cout<<"请输入数组:";
        int array[1000]={0};
        for(i=0;i<length;i++)
        {
            cin>>array[i];
        }
        cout<<"最大子数组的和为:"<<getmax(array,length)<<endl;
        cout<<"最大子数组起始下标:"<<getstartIndex(array,length)<<endl;
        cout<<"最大子数组结束下标:"<<getendIndex(array,length)<<endl;
        system("pause");
        return 0;
    }
    

    运行截图

    单元测试

    #include "stdafx.h"
    #include "CppUnitTest.h"
    #include "h2.cpp"
    using namespace Microsoft::VisualStudio::CppUnitTestFramework;
    
    namespace UnitTest2
    {		
    	TEST_CLASS(UnitTest1)
    	{
    	public:
    		
    		TEST_METHOD(TestMethod1)
    		{
    			// TODO: 在此输入测试代码
    			int a[]={-32,-10,33,-23,32,-12,41,-12,1,3,5,-98,70,-21,10,-9,61};
                Assert::AreEqual(111,getmax(a,17));
    		}
    
    	};
    }
    

    测试截图


    小结

    单元测试在配置过程中遭遇了瓶颈,test一直无法打开源文件,原因是文件配置路径没设置,在同学的帮助下解决了。

    博客作业

    在新科专业也学习了半个大学了,对一些基本的计算机软件语言有了一定的认知,c++,matlab,java,netbeans,asp,操作系统,数据结构。从个人所取得成就来说,只有一门二级MSOffice和一些数学计算方式。
    将来不准备从事编程行业,不感兴趣是一部分,自身能力不足也是一部分,目前只能编一些简单程序,但是计算机是行业内不可缺少的工具,所以还是想通过软件工程学习,掌握一些实用的技能,也算增加一点就业优势,个人认为Java语言比较容易,考证也相对容易。
    总的来说,目前主要能将各个软件,语言,程序结合关联起来,代码编程部分还是不熟练,对于就业还是远远不够的,在将来的软工学习中,还是要加强自己的编码能力,熟悉各个软件的使用。

  • 相关阅读:
    梦断代码阅读笔记03
    用户场景分析
    学习进度8
    学习进度7
    梦断代码阅读笔记02
    学习进度6
    随堂小测app(nabcd)
    梦断代码阅读笔记01
    《构建之法》-6
    《构建之法》-5
  • 原文地址:https://www.cnblogs.com/dragonD/p/12456650.html
Copyright © 2011-2022 走看看