zoukankan      html  css  js  c++  java
  • 《构建之法》第二次作业

    一、题目

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

    二、需求分析

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

    三、   基本需求

    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%

  • 相关阅读:
    5.21 CSS样式表练习
    5.20 c#验证码练习
    5.20 邮箱注册,及网页嵌套,知识点复习
    5.19 网页注册练习
    5.19练习标签及其 定义
    5.16 兔子生兔子,日期时间练习
    5.15 复习;共5题
    5.11 集合 与 特殊集合
    5.11 集合与特殊集合
    WinForm1
  • 原文地址:https://www.cnblogs.com/zhangying123/p/4399787.html
Copyright © 2011-2022 走看看