zoukankan      html  css  js  c++  java
  • 20194670自动生成四则运算题第一版报告

    一、需求分析

    数学的学习伴随着每个学生的整个学生时代,小学数学的学习尤为关键,小学数学学习的好坏直接影响到后续对于数学的学习。
    四则运算,是数学学习的基础,所以在孩子学习四则运算的阶段,家长们普遍都会给自己的孩子设计大量的习题进行练习。但由于大部分家长工作很忙,回到家还要做家务等琐事,设计四则运算的练习题以及判断孩子的运算结果则显得很费时间。所以,一款根据家长的需求,使用计算机来生成随机的四则运算习题,就帮助家长们解决了一个很大的难题。

    二、功能设计

    基本功能:
    (1)自动生成10道100以内的2个操作数的四则运算算式(+ - * /),要求运算结果也在100以内
    (2)剔除重复算式。 2 + 3 和2 + 3是重复算式,而2 + 3 和3 + 2不属于重复算式
    (3)题目数量可定制
    (4)相关参数可控制
    是否包含乘法和除法
    操作数数值范围可控(如操作数 在100以内 还是1000以内)
    操作数是否含负数    
    (5)生成的运算题存储到外部文件result.txt中

    三、设计实现

    本c语言程序一共包含四个函数。
    main():主函数,作为程序的入口。在主函数中,根据用户选择,进行调用naomal()和set()两个函数。
    normal():实现程序的基本功能,即出10道运算结果在100以内的,包含加减乘除的四则运算式。
    set():设置函数,可以对一些参数进行设置。可设置出题的总数、结果的范围、是否包含乘除法。在该函数内设置完相关参数后,调用SecKind()进行出题。
    SecKind():该函数的形参接收set()传过来的参数值,根据参数值进行出题。

    四、测试运行


    上图为程序的首页,通过输入数字选择模式


    上图为输入1之后,进入普通模式



    上图为输入2之后,进入自定义模式设置参数

    五、代码片段

    该片段为SecKind()的部分代码,主要实现的功能是,通过形参接收set()中设置的变量,此段代码为生成不含乘除法的代码。

    int SecKind(int aa,int bb,int cc)
    {
    	Sleep(2000);//延时2秒 
    	system("cls");//清屏 
    	int a=0;
    	int b=0;
    	int mode=0;//0:加 1:减 2:乘 3:除
    	int c=0;
    	int result=0;
    	int score=0;
    	int n;
    	srand((unsigned)time( NULL ) ); //初始化随机数发生器,使得每次运行生成的随机数不同
    	if(cc==0)
    	{
    		for(int i=0;i<aa;) //做n题 
    		{
    			a = rand() % 10; //生成一个0~9之间的随机数
    			b = rand() % 10; //生成一个0~9之间的随机数
    			mode = rand() % 2; //生成一个0~1之间的随机数,代表运算符
    			printf("%d", a); //打印算式
    			switch(mode) //确定运算符
    			{
    				case 0:printf("+ ");
    				result= a + b;break;
    				case 1:printf("- ");
    				result= a - b;break;
    				default:printf("somethingis wrong!
    ");break;
    			}
    			printf("%d = 
    ", b);
    	
    			if(result<=bb) 
    		  		i++;	
    		}	
    	} 
    }
    

    六、总结

    对于该程序,我根据需求描述,将程序功能分为两个大功能。即普通模式和自定义模式,对于不同的功能,写出对于的函数,以实现“模块化”的要求。

    七、PSP

    任务内容 计划时间 实际时间
    计划 10 10
    需求分析 5 10
    设计文档 10 8
    复审文档 5 10
    代码规范 3 3
    具体设计 10 10
    具体编码 15 25
    代码复审 5 5
    编译运行 2 2
    测试 5 5
    计算共工作量 2 2
    总结 5 5
  • 相关阅读:
    梦断代码读后感02
    UML大战需求与分析--阅读笔记4
    UML大战需求分析--阅读笔记3
    软件需求与分析课堂讨论一
    UML大战需求分析--阅读笔记02
    UML大战需求分析--阅读笔记01
    学习进度--大三下
    问题账户需求分析
    2016年秋季阅读计划
    个人总结
  • 原文地址:https://www.cnblogs.com/whohow/p/11522247.html
Copyright © 2011-2022 走看看