zoukankan      html  css  js  c++  java
  • 作业四 简单四则运算

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

    github地址:https://github.com/heathenchen/text


    一、题目要求:

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

    扩展要求:

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

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


    二,设计思路:

    工具:visual c++

    语言:C语言

    思路:创建3个随机数和两个随机的运算符(在包含两个运算符的情况下)。比较用户输入的答案和计算出的答案是否相同,用两个变量去记录它答对or答错。用pf函数(用于显示函数信息)来输出相关信息


     

    三 主要代码


    
    
      x=rand()%100+1;  
        y=rand()%100+1;
        z=rand()%100+1;
        s=Operator();    
        s1=Operator();
        if(s=='-'||s=='/'){
            while(x<y){
        x=rand()%100+1;     
        y=rand()%100+1;
            }
     }

    printf(" %d :%d%c%d%c%d=",i+1,a,b,c,z);
    scanf("%f",&result);
    answer=operation(a,b,s);
    if(s=='-'||s=='/'){             //校对函数
    while(answer<c||answer<c){
    z=rand()%100+1;
    }
    }
    pf(answer,result,z,c);

    //产生运算符
    operation(int x,int y,char suiji){float answer;
        switch(suiji){
        case '+': {answer=(float)x+(float)y;break;}
        case '-': {    answer=(float)x-(float)y;break;}
        case '*':{    answer=(float)x*(float)y;break;}
        case '/':{    answer=(float)x/(float)y;break;}
        }
        return answer;
    
    }
    
    

    四 结果显示


    五 主要问题

    对于C语言已经生疏,对c语言函数的生命周期和作用于忘记了很多,要通过相关资料才能记得。一开始测试的时候,无论开始多少次,其产生的随机数的结果都是一样的,通过查阅相关资料,发现了是没有把伪随机数变为真随机数,通过函数srand( (unsigned)time( NULL ) );用系统时间来初始化,即使用 time函数来获得系统时间,它的返回值为从 00:00:00 GMT, January 1, 1970 到现在所持续的秒数,然后将time_t型数据转化为(unsigned)型再传给srand函数,即: srand((unsigned) time(&t));。代码命名方面想通过标准的方式去命名代码,但很多英文单词通过翻译表达不了这个变量/常量它所表答的意思,所以还是用了x,y,z等,小数化为分数,我查阅了但没有找到相关资料,希望能够提供相关的资料或demo给我。开始前脑中过了一遍,觉得逻辑方面很简单,但实施起来缺又很多问题,有不少工序也没有做,下面表中时间为0的。


    六 时间表(单位为min)

    PSP 2.1 Personal Software Process Stages Time Senior Student Time
    Planning 计划 5 20
     Estimate 估计这个任务要多少时间 120  
    Development 开发 70 80
    Analysis 需求分析(包括学习新技术) 5 15
     Design Spec 生成设计文档 0 0
     Design Review 设计复审 0 0
     Coding Standard 代码规范 5 15
    Design 具体设计 40 30
    ·Coding 具体编译 40 50
     Code Review 代码复审 0 0
    Test 测试(自我测试,修改代码,提交修改) 20 15
    Reporting 报告 20 15
      测试报告 0 0
      计算工作量 5 5
      并提出过程计划 0 0

     


     

  • 相关阅读:
    2014-11-24 作业
    数据库查询基本部分
    SQL备份还原,分离附加
    SQL基础2
    SQL基础,与数据类型;
    if语句解一元二次方程~
    用C语言计算圆的面积~!!!!!!!
    C语言基础
    数据导出和TreeView
    MDI窗体容器和权限设置
  • 原文地址:https://www.cnblogs.com/cjx666/p/9788850.html
Copyright © 2011-2022 走看看