• 小学四则运算


    - 题目:

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

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

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

    一:基本要求

        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!
    ");
            error++;
        }else{
            t++;
            printf("Good!
    ");
        } }
        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!
    ");
           error++;//错误自加
         } else{
            t++;
           printf("Good!
    ");
        }}
        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!
    ");
           error++;//错误自加
         }else{
             t++;
           printf("Good!
    ");
        }}
    
        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!
    ");
           error++;//错误自加
        }else{
            t++;
           printf("Good!
    ");
        } 
      
    }
        
        void main()
      {
     int   shuru=0;
     char x;
    
        printf("请输入:加(1)  减 (2) 乘(3)  除(4):
    ");
        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("请输入数字选择:
    1.继续
    2.结束
    "); 
    
      scanf("%d",&shuru); 
    
     if(shuru==1) shuru=1;
    
     if(shuru==2) break; 
    
     }
      printf("%d个错误!
    ",error);//输出错误数
      printf("正确个数为 %d
    ",t);
     printf("答题数为 %d
    ",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耗时统记(计算工作量),最后我们可以改进。

     

     

     
     
  • 相关阅读:
    [设计模式]之二:策略模式
    [设计模式]之一:简单工厂模式
    [iOS] WSHorizontalPickerView 图片水平滚动封装
    [闲谈] 有经验的程序员用Google用得多么?
    Flutter 布局(四)- Baseline、FractionallySizedBox、IntrinsicHeight、IntrinsicWidth详解
    Flutter 布局(二)- Padding、Align、Center详解
    Flutter 布局(一)- Container详解
    Flutter 布局详解
    Flutter Plugin开发流程
    现有项目中集成Flutter
  • 原文地址:https://www.cnblogs.com/xumingyan/p/4423332.html
Copyright © 2020-2023  润新知