zoukankan      html  css  js  c++  java
  • 第三次作业:个人项目-小学四则运算“软件”之初版

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

    我的github远程仓库的地址:https://github.com/LinsenLiang/Aika

    一、题目要求:

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

     扩展要求:

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

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

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

    PSP2.1 Personal Software Process Stages Time Senior Student Time
    Planning 计划 4 6
    · Estimate 估计这个任务需要多少时间 4 6
    Development 开发 10 13
    · Analysis 需求分析 (包括学习新技术) 1 1
    · Design Review 设计复审 1 1
    · Coding Standard 代码规范 1 1
    · Design 具体设计 1 1
    · Coding 具体编码 4 6
    · Code Review 代码复审 1 1
    · Test 测试(自我测试,修改代码,提交修改) 1 2

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

    三、实现

     1 #include<stdio.h>
     2 #include<time.h>
     3 #include<stdlib.h>
     4 
     5 int testNum;              //题目个数
     6 int num1,num2,num3;       //四则运算的三个数值
     7 int result;               //四则运算正确答案
     8 int userAnswer;           //用户答案
     9 int score = 0;            //用户回答正确个数
    10 int operator1,operator2;  //运算符
    11 
    12 void inputTestNum();       //获取题目个数
    13 void test();               //题目
    14 void Answer(int result);   //获取用户答案
    15 void randomNumber();       //随机产生1~99的整数
    16 void randomOperator();     //随机产生1~4的整数
    17 void resultCheck(int ret); //判断产生答案是否是负数
    18 int main()
    19 {
    20     inputTestNum();
    21     printf("
    ");
    22     test();
    23     printf("正确率:%d%%",score*100/testNum);
    24 }

    四、实现过程中的问题

    1.式子运算结果不能为负数(这和判断方法有关,预计是把所有情况分开判断,后来发现不能解决某些情况的判断,只能通过result结果判断正负,导致很多时候循环很难结束,得不到合适的运算式子)

    比如:两个运算符均为减号时,由于三个数都是0~100间的随机整数,num2+num3的值很容易比num1大,然后重新生成三个随机数,判断结果是否为负数,一直循环,直到生成的随机数的差满足不为负数的条件。

    2.代码优化程度不够,打不到预计的效果。

    五、运行结果

  • 相关阅读:
    xmpp1
    综合
    CSS进阶(一)width & height
    CSS进阶(二)content
    TypeScript 学习笔记-JSDoc
    TypeScript学习笔记-声明合并
    TypeScript 学习笔记-模块
    TypeScript学习笔记-高级类型
    TypeScript学习笔记-类型兼容性
    TypeScript学习笔记-枚举
  • 原文地址:https://www.cnblogs.com/LinsenLiang/p/9764899.html
Copyright © 2011-2022 走看看