• 《构建之法》第二次作业


    一、题目

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

    二、需求分析

        本程序适合小学生,锻炼自己的运算能力。练习的软件。

    三、   基本需求

    1、  显示题目数量

    2、  逐个自动显示题目

    3、  用户可以逐题解答

    4、  显示答题对错

    5、统计对错数量 

    四、代码实现

    #include <stdio.h>

    #include <time.h>

    #include <stdlib.h>

    void main()

        int a,b,c,d;

        int total1=0,total2=0; 

        while(true) 

       {    

          srand(time(NULL));

            d=a=rand()%100;

            b=(rand()%a+a)%100;

            if(a%4==1&&a<b)

            c=a,a=b,b=c;

            if(b==0&&a%4==3)

            b=rand()%10+1;

            if(a%4==3&&a%b!=0)

          {

            srand(time(0)); 

                a=b*(rand()%a);

          } 

            switch(d%4)

          {   

                case 0:

               {

                  printf("%d + %d = ",a,b);

                  break;

               }

                case 1:

               {

                  printf("%d - %d = ",a,b);

                  break;

               }

                case 2:

               {

                  printf("%d × %d = ",a,b);

                  break;

               }

                case 3:

               {

                  printf("%d ÷ %d = ",a,b);

                   break;

               }

          } 

          scanf("%d",&c);

            switch(d%4)

          { 

          case 0:

            {

               if(c==a+b)

               {

                  printf("正确 ");

                        total1++;

               }

               else

               {

                  printf("错误 ");total2++;

               }

               break;

            }

          case 1:

            {

               if(c==a-b)

               {

                    printf("正确 ");

                         total1++;

               }

                    else

               {

                         printf("错误 ");

                        total2++;

               }

                   break; 

            }

           case 2:

             {

                if(c==a*b)

              {

                printf("正确 ");

                     total1++;

              }

                  else

              {

                   printf("错误 ");

                   total2++;

              }

                 break;

             }

          case 3:

            {

              if(c==a/b)

             {

                printf("正确 ");

                     total1++;

             }

                 else

             {

                     printf("错误 ");

                     total2++;

             }

                 break;

                 printf("按任意键继续,Q退出! ");

                fflush(stdin); 

                 if(getchar()=='Q')

                break;

            }  

          }

          printf("你答对了%d道题,答错%d道题 ",total1,total2);

       }

    }

    五、程序运行截图

     

     

    六、分析和总结

    本题目,主要是设计这块比较重要,我充分感觉到一个程序不止是编程,其实设计分析更重要。

    七、PSP统计表格

    Personal Software Process Stages

    耗时

    耗时百分比

    需求分析

     12

     15.38%

    设计

     18

     23.08%

    代码实现

     27

     34.62%

    测试

     3

     3.85%

    分析总结

     18

     23.07%

  • 相关阅读:
    javascript Math.random()随机数函数
    asp.net 前台获取后台c#代码信息
    关于C#网站一般处理程序(ashx)中session的问题
    怎样才能在一般处理文件中创建新的Session和访问已经存在的Session?
    使用SqlParameter向数据库中插入数据
    C#串口编程学习简单实例
    认识nodejs
    01.Javascript中的接口Interface [转载]
    动态添加脚本,并触发回调函数 初步实现按需加载
    JS正则表达式 收藏
  • 原文地址:https://www.cnblogs.com/zhangying123/p/4399787.html
Copyright © 2020-2023  润新知