• 小学四则运算


    - 题目:

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

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

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

    一:基本要求

        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耗时统记(计算工作量),最后我们可以改进。

     

     

     
     
  • 相关阅读:
    (引)spring学习笔记1.什么是控制反转
    Arduino 各种模块篇 步进电机 step motor 舵机 servo 直流电机 总复习
    Raspberry Pi Wireless Adaptor
    Pyramid 使用总结1
    Arduino 各种模块篇 人体红外感应模块 proximity sensor
    Pyramid 使用总结2
    Webcam Streaming Desktop Recording on Linux for ubuntu or its destros
    Arduino 各种模块篇 步进电机 step motor( 不用库,不用shield, 纯)
    Arduino 各种模块篇 motor shield 电机扩展板(舵机、直流电机、步进电机party)
    转载 stepper motors
  • 原文地址:https://www.cnblogs.com/xumingyan/p/4423332.html
Copyright © 2020-2023  润新知