• 第四次作业:小学四则运算“软件”之初版


    作业要求来自于https://edu.cnblogs.com/campus/gzcc/GZCC-16SE2/homework/2186

    GitHub远程仓库的地址:https://github.com/201606120084


    一、题目要求:

    像《构建之法》的人物阿超那样,写一个能自动生成小学四则运算题目的命令行 “软件”。


    具体要求:任何编程语言都可以,命令行程序接受一个数字输入,然后输出相应数目的四则运算题目和答案。例如输入数字是 30, 那就输出 30 道题目和答案。 运算式子必须至少有两个运算符,运算数字是在 100 之内的正整数,答案不能是负数。 如:

    23 - 3 * 4 = 11

    扩展要求:

    1) 要求能出和真分数 (二分之一, 十二分之五,等)相关的练习题。

    2) 并且要求能处理用户的输入,并判断对错,打分统计。 要求能处理用户输入的真分数, 如 1/2, 5/12 等。

    初步拟定要实现的功能后,估计一下自己需要花多长时间。编程过程中记录自己实际用了多长时间。

    然后和同学们比较一下各自程序的功能、实现方法的异同等等。

    写博客纪录自己实现的过程和思路。


     二、个人软件过程耗时估计与统计表

    PSP2.1 Personal Software Process Stages Time Senior Student Time
    Planning 计划 30min 90min
    · Estimate 估计这个任务需要多少时间 3h 50h
    Development 开发 1h 2h
    · Analysis 需求分析 (包括学习新技术)

    10min

    12min
    · Design Spec 生成设计文档 0min 0min
    · Design Review 设计复审 5min 4min
    · Coding Standard 代码规范 3min 4min
    · Design 具体设计 20min 34min
    · Coding 具体编码 1h 3h
    · Code Review 代码复审 5min 3min
    · Test 测试(自我测试,修改代码,提交修改) 30min 40min
    Reporting 报告 10min 15min
    · 测试报告 0min 0min
    · 计算工作量 2min 2min
    · 并提出过程改进计划 2min 2min

     

    三、部分程序代码

    	char yunsuanfu()   //随机生成运算符函数
    	{
            int e;
            e=rand()%4+1;
    
    		switch(e){
    			case 1:return '+';
    			case 2:return '-';
    			case 3:return '/';
    			case 4:return '*';
    					}
    	}
    

      

       a=rand()%100+1;   //随机生成数字1-100
        b=rand()%100+1;    //随机生成数字1-100
        c=rand()%100+1;     //随机生成数字1-100
      char e =yunsuanfu(); part1(int a,int b,char e){ float result; switch(e){ case '+': {result=a+b;break;} case '-': { result=a-b;break;} case '*':{ aresult=a*b;break;} case '/':{ result=a/b;break;} } return result; } part2(float result,int c,char e){ float finally; switch(e){ case '+': {finally=result+c;break;} case '-': { finally=result-c;break;} case '*':{ finally=result*c;break;} case '/':{ finally=result/c;break;} } return finally; }

    四、设计与结果


     

     

    五、设计过程分析

     

    这次实验我是用C++这个软件来完成的,这个软件是我大一刚接触计算机专业用的第一个编程软件,通过这次实验复习了很多之前忘记了的旧知识,

    也学到了一些新的知识,一开始不懂+ - * / 计算的优先级算法,后面通过自己百度还有问同学就弄明白了这个算法,对浮点数(float)的应用还不是很熟练,

    一开始对计算的逻辑关系梳理地还不是很清晰,对约分(四舍五入算法)还不是很懂。

     

     

     

     

     

     

  • 相关阅读:
    如何引用webservice
    oracle TNS 无法启动 解决方案
    android 照相
    Nutch 运行错误
    XML Bitmap
    Level List
    hadoop hdfs 上传下载文件
    Layer List
    android popup
    [置顶] Clean Talk
  • 原文地址:https://www.cnblogs.com/lb2016/p/9789680.html
Copyright © 2020-2023  润新知