zoukankan      html  css  js  c++  java
  • 作业四 个人项目-小学四则运算 “软件”

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

    我的github远程仓库的地址:https://github.com/Makkyyy/Yunsuan


    一、题目要求

    像《构建之法》的人物阿超那样,写一个能自动生成小学四则运算题目的命令行 “软件”。
    具体要求:任何编程语言都可以,命令行程序接受一个数字输入,然后输出相应数目的四则运算题目和答案。例如输入数字是 30, 那就输出 30 道题目和答案。 运算式子必须至少有两个运算符,运算数字是在 100 之内的正整数,答案不能是负数。 如:23 - 3 * 4 = 11


    二、扩展要求

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

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


    三、构思设计

    开发工具:Code::Blocks

    编程语言:C语言

    主要分为三大板块:

    (1)主函数(包括分数计算)

    (2)运算模块(随机数和随机运算符号->产生随机算式)

    (3)计算模块(加减乘除)


    四、主要代码

    srand((unsigned)time(NULL));//传入一个空指针
        do{
            a=rand()%100;//按照题目要求产生100以内的随机数
            b=rand()%100;//按照题目要求产生100以内的随机数
            c=rand()%100;//0和1是加减,2和3是乘除
            p=rand()%4;//四个运算符随机
            d=rand()%4;//四个运算符随机
            if(p>1){
                y=(float)a;
                z=(float)b;
                x=jisuan(p,y,z);//求出前半段问题的答案 比如3 + 1 + 2 中的:3+ 1
                y=x;
                z=(float)c;
                x=jisuan(d,y,z);//求出前半段问题答案加上后半段问题的答案
            }
    q1=fuhao(p);
        q2=fuhao(d);
        printf("%d %c %d %c %d = ",a,q1,b,q2,c);//输出题目
        scanf("%f",&answer1);

    五、结果展示


     六、遇到的问题和体会

     遇到的问题:不知道怎么弄产生随机符号。

     解决方法:自己上网找了些资料,找到了解决方案之后,虽然能成功实现了,但是还是不是特别能理解,就找到了同学帮忙解释,最后终于能自己理解了。

     体会:很久没用c打代码了,最近都是在用java,但是比起java,我觉得c语言我理解得比它透彻,而且java现在还在学阶段,所以选择了用c来写。但也由于很久没写,有些很基础的都忘记了,看来平时要另外找时间复习一下。


     七、时间统计

    PSP2.1 Personal Software Process Stages Time Senior Student Time
    Planning 计划 8 6
    · Estimate 估计这个任务需要多少时间 12 10
    Development 开发 90 85
    · Analysis 需求分析 (包括学习新技术) 8 10
    · Design Spec 生成设计文档 0 0
    · Design Review 设计复审 3 5
    · Coding Standard 代码规范 4 3
    · Design 具体设计 10 13
    · Coding 具体编码 35 30
    · Code Review 代码复审 10 9
    · Test 测试(自我测试,修改代码,提交修改) 15 30
    Reporting 报告 9 6
    · 测试报告 0 0
    · 计算工作量 5 2
    · 并提出过程改进计划 0 0

  • 相关阅读:
    Android上的远程调试
    使用Chrome DevTools的Timeline和Profiles提高Web应用程序的性能
    用Chrome开发者工具做JavaScript性能分析
    查看html元素绑定的事件与方法的利器
    Chrome的JS调试工具
    作为Web开发人员,我为什么喜欢Google Chrome浏览器
    构造方法
    方法的带参
    OOP类和对象
    循环结构进阶
  • 原文地址:https://www.cnblogs.com/makky1116/p/9775783.html
Copyright © 2011-2022 走看看