• 软件工程第二次作业


    题目:

    请编写一个能自动生成小学四则运算题目的 “软件”。 让程序能接受用户输入答案,并判定对错。 最后给出总共 对/错 的数量。

    需求分析:

    • 基本功能

      基本功能点1:实现小学四则运算;

      基本功能点2:该程序能接受用户输入答案,并判断对错;

            基本功能点3:给出总共对/错的数量。

    设计

    • 设计点1:用C语言编程环境实现程序代码的编写;
    • 设计点2:随机产生两个数,分别用1,2,3,4表示计算加法,减法,乘法,除法,通过计算判断出计算的正确与否,并统计出正确与错误的个数。

    代码实现

     1 #include<stdio.h>
     2 #include <stdlib.h>                                                    
     3 #include <time.h>                                                    
     4 
     5 int main()
     6 {
     7     int x,y,all=0,r=0,e=0,result;
     8     char z;
     9     int m,n;
    10     printf("欢迎来到小学计算器测试!
    ");
    11     printf("请输入1到4其中一个数字(1表示加法,2表示减法,3表示乘法,4表示除法),当输入为q时,结束测试:
    ");             
    12     scanf("%d",&m);
    13        srand( (unsigned)time( NULL ) );            
    14        while ((z=getchar())!='q')               
    15        {
    16            all++;
    17            x=rand()%50;y=rand()%50;
    18            if(m==1)
    19            {
    20                printf("%d+%d=",x,y);            
    21                scanf("%d",&z);
    22                printf("
    ");
    23                if (x+y==z) r++;
    24                else
    25                    e++;
    26            }
    27            else if(m==2)
    28            {                                      
    29                printf("%d-%d=",x,y);
    30                scanf("%d",&z);
    31                if (x-y==z) r++;
    32                else
    33                    e++;  
    34            }
    35            else if(m==3)
    36            {                                    
    37                printf("%d*%d=",x,y);
    38                scanf("%d",&z);
    39                if (x*y==z) r++;
    40                else
    41                    e++;
    42            }
    43            else if(m==4)
    44            {                             
    45                printf("%d/%d=",x,y);
    46                scanf("%d",&z);
    47                if (x/y==z) r++;
    48                else
    49                    e++;   
    50            }
    51            else                                                        
    52                printf("输入有误!
    ");
    53            result=100*r/all;                                          
    54        }
    55        printf("您的成绩为:%d
    ",result);
    56        printf("您一共完了%d道题目,正确的有%d题,错误的有%d题
    ",all,r,e);
    57        if(result>=60){
    58            printf("成绩还不错,别骄傲哦!
    ");
    59        }
    60        else{
    61            printf("成绩有待提高,加油,别灰心哦!
    ");
    62        }
    63        return 0;       
    64 }

    程序截图

    加法:

    减法:

    乘法:

    除法:

    分析与总结

    PSP耗时:

    PSP Personal Software Process Stage Time(h) Time(%)
    ●Design ●具体设计 10 20
    ●Coding ●具体编码 20 40
    ●Code Review ●代码复审 5 10
    ●Test ●测试(自测,修改代码) 10 20

    ●Postmortem & Process

    Improvement Plan

    ●事后总结,并提出过程改进计划 5 10

     

    总结:

    1.编程是一个积累的过程,只要认真去思考,总会有解决问题的方法;

    2.该程序的设计需要符合题目的要求,满足小学四则运算。

     

                   

  • 相关阅读:
    关于cnblogs 的KJC模板个性化定制
    2004手机游戏年终点评
    原创作品:手机泡泡堂 1.0 下载
    KillZone2杀戮地带2 超清晰展示
    常用编码工具类,支持base64,md5,des,crc32
    缩小数据库日志的工具源码
    制作了一个WMI 查询分析工具
    常用排序工具类:标准【正序、倒序】排序算法‘冒泡排序,选择排序,快速排序’
    用C#设计一个驱动备份的程序代码
    今天家里停电……
  • 原文地址:https://www.cnblogs.com/hy1314520/p/4412570.html
Copyright © 2020-2023  润新知