• 软件工程第二次作业


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

    - 需求分析

    针对小学生练习的需要,设计一个自测系统,要求该系统能随机产生两个数和运算符,当输入答案是,能自动判断对错,并给出提示,退出系统时,统计对、错的题数。

    - 设计

    用C语言实现小学生自测系统的加、减、乘、除四则运算

    - 代码实现

     1 #include <stdio.h>
     2 #include <time.h>
     3 #include <stdlib.h>
     4 void main(){
     5  int a,b,c,d;
     6  int right=0,wrong=0;
     7  while(1){
     8   srand(time(NULL));    
     9   d=a=rand()%100;    
    10   b=(rand()%a+a)%100;
    11   if(a%4==1&&a<b)
    12    c=a,a=b,b=c;
    13   if(b==0&&a%4==3)b=rand()%10+1;
    14   if(a%4==3&&a%b!=0)
    15   {
    16    srand(time(0));     
    17    a=b*(rand()%a);
    18   }  
    19   switch(d%4)
    20   {
    21   case 0:printf("%d + %d = ",a,b);
    22    break;
    23   case 1:printf("%d - %d = ",a,b);
    24    break;
    25   case 2:printf("%d × %d = ",a,b);
    26    break;
    27   case 3:printf("%d ÷ %d = ",a,b);
    28    break;
    29   }  
    30   scanf("%d",&c);
    31   switch(d%4)
    32   {
    33   case 0:
    34    if(c==a+b)
    35    {
    36     printf("回答正确
    ");
    37     right++;
    38    }
    39    else
    40    {
    41     printf("回答错误
    ");
    42     wrong++;
    43    }
    44    break;
    45   case 1:
    46    if(c==a-b)
    47    {
    48     printf("回答正确
    ");
    49     right++;
    50    }
    51    else
    52    {
    53     printf("回答错误
    ");
    54     wrong++;
    55    }
    56    break;
    57   case 2:
    58    if(c==a*b)
    59    {
    60     printf("回答正确
    ");
    61     right++;
    62    }
    63    else
    64    {
    65     printf("回答错误
    ");
    66     wrong++;
    67    }
    68    break;
    69   case 3:
    70    if(c==a/b)
    71    {
    72     printf("回答正确
    ");
    73     right++;
    74    }
    75    else 
    76    {
    77     printf("回答错误
    ");
    78     wrong++;
    79    }
    80    break;
    81   }
    82   printf("按任意键继续,0退出!
    ");
    83   fflush(stdin);
    84   if(getchar()=='0')
    85    break; 
    86  }
    87  printf("你答对了%d道题,答错%d道题
    ",right,wrong);
    88 }

    - 测试

           步 骤           

          耗   时                百分比(%)   
        需求分析

               5   

    26.3
         设计            4 21
        代码实现            8 42.1
        测试            1 5.3
      分析和总结            1 5.3

    事后分析和总结

    我觉得编写程序是很大的问题,主要是对编程语言不熟悉,也不知道该如何去编写。

  • 相关阅读:
    web安全:防止浏览器记住或自动填写用户名和密码(表单)的解决方案
    Sql CLR创建一个简单的表值函数
    html中实现某区域内右键自定义菜单
    HTML5单页框架View.js介绍
    Java使用apache的开源数据处理框架commons-dbutils完成查询结果集的各种处理输出(8种方式)
    【EAS】【BOS】如果使用BOS开发工具连接远程应用服务进行调试
    VSFTPD 550 Delete operation failed.
    两款不错的js甘特图控件
    我的node-webkit笔记
    node-webkit,nwjs 系统托盘【Tray】实践
  • 原文地址:https://www.cnblogs.com/lizhuanyan/p/4415426.html
Copyright © 2020-2023  润新知