• 结对编程 测试


    关于黄金点游戏,我负责测试部分

    由于我的队友苏钰涵他用的是VC6.0我用的是Visual studio我们出现过代码在vc上能运行在我这运行错误的情况。

    1.vs不支持scanf

    2.黄金点输出错误

    3.得分第一个恒为人数,最后一个恒为-2

    4.在VS上没有输出最后一轮结果和总得分就退出了,没有显示

     

    修改

    1.VS支持scanf_S

    2.调用求总数的函数时出错

    3.添加#include<windows.h>库函数,用system("pause");z执行

    一.输入函数,编码是未考虑到非有理数的输入,当输入字符时程序回自动结束。建议添加一个判单项,如果输入的是字符时判单下,自动报错,并返回上一项在重新输入,得到符合要求的有理数为止。玩家输入的有理数是以次给数组赋值,一旦输错或其中一个没输如,程序将指向错误运行。

    void main()
    {
        int i, j,  m, n;float s[50], sum = 0;
        //定义
        printf("游戏人数为:");
        scanf_s("%d", &n);
        printf("游戏轮数为:");
        scanf_s("%d", &m);
        //输入
    
        for (j = 0; j<m; j++)
        {
            printf("第%d轮的输入为
    ", j + 1);
            for (i = 0; i<n; i++)
                scanf_s("%f", &s[i]);
           }
    }

    二.计算总和,平均数,G值。调用了一个求和函数,黄金点和平均数在主函数里。建议将求平均数和黄金点G也放入函数中或另重新构造一个函数。输出黄金点的时候printf("黄金G=%f ",0.618*A);建议先求出黄金点在输出。

    void main()
    {
        int  c[50], n, ;
        double A;
        float s[50], sum = 0;
            sum = count(s, n);
            printf("和%f", sum);
            A = sum / n;
            printf("黄金点G=%f
    ", 0.618*A);
    }
    float count(float a[], int size)
    {
        int i;
        float sum = 0.0;
        for (i = 0; i<size; i++)
        {
            sum = sum + a[i];
        }
        return sum;
    }//求和函数

    三.j计算最大值,最小值和打分。这部分也在主函数中,求最大值,最小值和打分时有代码冗余。最好合并了。

    void main()
    {
                 int i,c[50];
                double max,min,b[50];
    
                    min = b[0];
            max = b[0];
            for (i = 0; i<n; i++)
            {
                if (b[i]<min)
                    min = b[i];
            }
            for (i = 0; i<n; i++)
            {
                if (b[i] == min)
                    c[i] = n;
                else
                    c[i] = 0;
            }
            for (i = 0; i<n; i++)
            {
                if (b[i]>max)
                    max = b[i];
            }
            for (i = 0; i<n; i++)
            {
                if (b[i] == max)
                    c[i] = -2;
            }
    }

    四.得分和总分。得总得分输出在运行几次循环的外边,只能输出最后总得分。

    void main()
    {
    
                    int i,c[50],n,num[50]={0};
    
    		//将每个人的成绩累加
    		printf("********************
    *得分为:          *
    ");
    		for (i = 0; i<n; i++)
    			printf("*        %2d        *
    ", c[i]);
    		printf("********************
    ");
    		//输出每轮成绩
    	}
    	printf("********************
    *总得分为:        *
    ");
    	for (i = 0; i<n; i++)
    		printf("*        %2d        *
    ", mun[i]);
    	printf("********************
    ");
    }
    

      

    我俩认真编程的合影

    程序的设计过程请见苏钰涵同学的博客

    http://home.cnblogs.com/u/syh2013040101006/

    代码已上传到coding

    关于我上传的结对编程 开发项目不在这次作业范围

  • 相关阅读:
    Select For Update使用场景   
    数据库的ACID特性
    Zookeeper和Eureka的区别
    SpringMvc的控制器是不是单例模式,如果是,有什么问题,怎么解决?
    如果你也用过struts2.简单介绍下springMVC和struts2的区别有哪些?
    如何理解Hibernate的延迟加载机制?在实际应用中,延迟加载与Session关闭的矛盾是如何处理的?
    延迟加载与session关闭的矛盾一般可以这样处理:
    举一个多对多关联的例子,并说明如何实现多对多关联映射。
    java的基本操作和基本知识技能
    HTML基础
  • 原文地址:https://www.cnblogs.com/shuaiwl/p/5370313.html
Copyright © 2020-2023  润新知