小学四则运算

 

- 题目:

请编写一个能自动生成小学四则运算题目的 “软件”。

让程序能接受用户输入答案,并判定对错。

最后给出总共 对/错 的数量。

一:基本要求

    1:题型选择界面设计,选择加、减、乘、除运算。

    2:系统随机产生十以内的两个数进行运算。

    3:练习时,用户从键盘取结果,正确和错误均有提示,按2,显示错误数、正确数和总数。

 二:需求分析

     编写小学四则运算测试系统,要求完成两位数的加,减,乘,除四则运算。能根据用户的输入来选择运算种类,用户输入答案后可以判断正误,做完一次测试后,用户可以决定是否继续进行下一次运算。

三:设计

    1:定义变量其中t,i,a,b,c,error其中t表示答对的题数,error表示答错的题数,i表示一共答题数,a,b表示随机产生的数,c表示接收从键盘输入的运算结果。

    2:分别定义加,减,乘,除子函数,错误和正确都有提示。

    3:主函数用switch来实现用户的输入来选择运算种类,并输出答题的数目和正确的题数。

四:代码实现

#include<stdio.h>
#include<stdlib.h>
#include<time.h>



    int i,a,b,c,error,t;

    void jia() 
    {
    srand(time(NULL));
    a=rand()%10;
    b=rand()%10;
    printf("%d+%d=",a,b);
    scanf("%d",&c);//取结果
    i++;
    if(c!=a+b)//答案错误
    {
        printf("Error!\n");
        error++;
    }else{
        t++;
        printf("Good!\n");
    } }
    void jian() 
    {
    srand(time(NULL));
    a=rand()%10;
    b=rand()%10;
    printf("%d-%d=",a,b);//出题
    scanf("%d",&c);//取结果
    i++;
    if(c!=a-b)
     {
       printf("Error!\n");
       error++;//错误自加
     } else{
        t++;
       printf("Good!\n");
    }}
    void cheng() 
    {
    srand(time(NULL));
    a=rand()%10;
    b=rand()%10;
     printf("%d*%d=",a,b);//出题
     scanf("%d",&c);//取结果
     i++;
     if(c!=a*b)
     {
       printf("Error!\n");
       error++;//错误自加
     }else{
         t++;
       printf("Good!\n");
    }}

    void chu() 
    {
    srand(time(NULL));
    a=rand()%10;
    b=rand()%10;
    printf("%d/%d=",a,b);//出题
    scanf("%d",&c);//取结果
    i++;
   if(b==0)
  
  printf("除式无意义");
    if(c!=a/b)
    {
       printf("Error!\n");
       error++;//错误自加
    }else{
        t++;
       printf("Good!\n");
    } 
  
}
    
    void main()
  {
 int   shuru=0;
 char x;

    printf("请输入:加(1)  减 (2) 乘(3)  除(4):\n");
    if(shuru==0) 
    scanf("%c",&x);  
    while (1)

 { 

   switch(x) 

   { 

   case '1': jia();break;

   case '2': jian();break; 

   case '3': cheng();break;

   case '4': chu();break;
   default : printf("输入错误,请重新输入"); 
    }
   printf("请输入数字选择:\n1.继续\n2.结束\n"); 

  scanf("%d",&shuru); 

 if(shuru==1) shuru=1;

 if(shuru==2) break; 

 }
  printf("%d个错误!\n",error);//输出错误数
  printf("正确个数为 %d\n",t);
 printf("答题数为 %d\n",i);
}
    
    
 

 

 

 

五:系统测试

1.加法

 

2.减法

 

3.乘法

 

4.除法

 

 

六:PSP耗时统记

序号 PSP 耗时h 比例%
1 需求分析 5 8.77
2 设计 7 12.28
3 代码 22 38.60
4 测试 12 21.05
5 分析和总结 11

19.30

 

 

 

 

 

 

 

 

 

 

 

七:分析和总结

 通过这次作业,我们可以知道要做好一个软件,首先,我们要做需求分析,如果可行,我们才能做设计,而且代码写好了我们也还要测试,然后我们要做PSP耗时统记(计算工作量),最后我们可以改进。

 

 

 

 

 

 
 
 
 
 
posted @ 2015-04-13 21:29  徐明艳  阅读(271)  评论(0编辑  收藏  举报