• 寒假作业:第三次作业


    四则运算器

    合作者学号及博客链接

    蔡宇航031602501
    刘宏岩031602523

    编写思路与过程中遇到的问题:

    1. 首先:得问题是,如何做到随机出题目,这个随机确实有些让人头疼,尽管知道如何出随机数,但要随机出运算题确实有些难度。两位合作者语音洽谈了很久,想到了一个比较取巧的方法。首先确定了我们会什么,(不巧,两位都不怎么会。。)但是随机出一种模板类型的题目还是会的,所以剩下的问题是如何出很多种的题目,所以我们的思路就是编写很多个模板,通过随机函数来调用这些模板来做到随机出运算的题目,思路很简单,既然可以随机数,那就像给函数编码,随机到哪个数就出哪个模板的题目,这样一来,随机出题目的问题也得到解决了。
    2. 其次:是答案的问题如何在用户输入之后判断答案的对错呢,在商讨之后,我们决定在模板中加入答案,就在出题目时就判断好答案,这样这一问题就解决了。
    3. 再者:问题就是如何停止,计算正确与错误题目的个数。我们最后决定设置两个临时变量让其在做对或做错之后进行自增。这样就能统计正确与错误题目的个数。至于停止,我们通过输入一个字符e来停止运算器。
    4. 在编写过程中还遇到这样的问题:就是分数正确错误的判断,就是分数线的输入判断如何解决,我们想的就是规范输入格式,分数线由空格代替,更便于系统判断。而这些在界面提示中有说明。在之后可能更新的版本中,将加以完善。
    5. 分数答案的解决,对于分数计算,我们探讨了一下,最后想到的计算方法是先通分再约分。

    实际效果展示图:

    中英文切换界面

    中文界面

    英文界面

    编码规范

    1. 为了方便在中英文版本上的配合,我们就默认了这样的正确错误判断格式。代码如下:

    eg:

    if(qq==result1)
    		{if(english==0)
    	{
    		printf("正确!
    ");
    	}
    	else
    	{
    		printf("RIGHT!
    ");
    	}
    		i++;
    		}
    		else
    		{
    			if(english==0)
    	{
    		printf("错误!
    ");
    	}
    	else
    	{
    		printf("WRONG!
    ");
    	}
    			j++;
    		}
    	}
    

    在统一的判断对错的输出之后,更便于合作版本的编辑。

    1. 其次我们的分数输入也达成一致统一规范,用户输入除法保留两位小数,输入为float型。

    主函数:

    int main()
    {
    	int e,k;
    	int nSelect=MessageBox(NULL,TEXT("您好,单击确定选择中文,click cancle switch to English"),TEXT("语言设置"),MB_OKCANCEL);
    	if(nSelect==IDOK)
    	{
    	printf("欢迎使用口算心算天天练!
    输入“e”来停止。
    说明:除法保留两位小数,分数运算依次输入分子分母中间用空格隔开。除号为'÷',分数线为'/'。
    "); 
    	printf("**********************************************
    ");
    	for(k=0;1<4;k++)
    	{
    			srand(time(0));
    			e=rand()%12+1;
    			char o;
    		switch (e)
    	{
    		case 1:
    		jiafa();break;
    		case 2:
    		jianfa();break;
    		case 3:
    		chengfa();break;
    		case 4:
    		chufa();break;
    		case 5:
    		hunhe1();break;
    		case 6:
    		hunhe2();break;
    		case 7:
    		hunhe3();break;
    		case 8:
    		hunhe4();break;
    		case 9:
    		fenshujiafa();break;
    		case 10:
    		fenshujianfa();break;
    		case 11:
    		fenshuchengfa();break;
    		case 12:
    		fenshuchufa();break;
    	}
    	o=getchar();
    	if(o=='e'){
    	
    		printf("**********************************************
    ");
    		printf("本次测试做对%d道题目
    ",i);
    		printf("本次测试做错%d道题目
    
    ",j-1);
    		printf("有志者事竟成!
    ");
    		break;
    }
    	}
    	
    	
    	}
    	else
    	{
    		english=1;
    		printf("Welcome!
    input“e”to stop.
     Notes:divison operation keep two places of decimal,fraction operation please input numerator than input denominator and space between them.The sign of divisor is '÷',the sign of fraction is'/'.
    "); 
    		printf("**********************************************
    ");
    	for(k=0;1<4;k++)
    	{
    			srand(time(0));
    			e=rand()%12+1;
    			char o;
    		switch (e)
    	{
    		case 1:
    		jiafa();break;
    		case 2:
    		jianfa();break;
    		case 3:
    		chengfa();break;
    		case 4:
    		chufa();break;
    		case 5:
    		hunhe1();break;
    		case 6:
    		hunhe2();break;
    		case 7:
    		hunhe3();break;
    		case 8:
    		hunhe4();break;
    		case 9:
    		fenshujiafa();break;
    		case 10:
    		fenshujianfa();break;
    		case 11:
    		fenshuchengfa();break;
    		case 12:
    		fenshuchufa();break;
    	}
    	o=getchar();
    	if(o=='e'){
    	
    		printf("**********************************************
    ");
    		printf("the number of right answer is %d in this quiz
    ",i);
    		printf("the number of wrong answer is %d in this quiz
    
    ",j-1);
    		printf("where there is a will there is a way!
    "); 
    		break;
    }
    	}
    	 
    	}
    	 getch();
    	 return 0;  
    	
     } 
    

    github链接

    合作分工截图:

    查看本地分支

    更新并查看远程分支

    切换分支

    与团队项目同步

    同步修改



    创建请求

    发送请求

    同意请求、合并成功

    )

    合作分工截图:

    查看本地分支

    更新并查看远程分支

    切换分支

    与团队项目同步

    同步修改



    创建请求

    发送请求

    同意请求、合并成功

    合作的分工

    因为语音一起商讨思路,所以我们均分工作量,其中宏岩负责加减乘除以及混合运算部分,我负责分数以及主函数、中英文版本部分,然后他在对界面进行美化。

    合作过程的体会

    通过这次合作,语音的探讨,利用不足的知识解决问题,然后合理分工,体会到合作共赢的好处,体会到共同完成之后的喜悦,也加强了我们的代码能力,锻炼了思维,提高了团队意识。接下来的日子里会学习更多知识,拓展自己更多方面的能力,做些有趣有意义之事。

  • 相关阅读:
    C语言I博客作业04
    解决@ResponseBody注解返回的json中文乱码问题
    自定义 Helper Method
    webapi 学习1
    分布式事务TransactionOptions及设置msdtc
    了解websocket是什么
    用postman 来实现post方式返回json数据
    异步 Controller
    asp.net mvc Filter
    asp.net mvc Controller Factory
  • 原文地址:https://www.cnblogs.com/mercuialC/p/6405016.html
Copyright © 2020-2023  润新知