• 软件工程第二次作业


    题目:

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

    一:基本要求

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

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

        3:练习时,用户从键盘输入结果,正确和错误均有提示,按6,显示总题数和正确数。

     二:需求分析

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

    三:设计

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

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

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

    #include<stdio.h>
    #include<stdlib.h>
    #include<time.h>
    int i=0,j=0;
    
    void jia()
    {
        int a,b,m;
    	srand(time(NULL));
    	a=1+rand()%100;
        b=1+rand()%100;
        printf("%d
    ",a);
        printf("%d
    ",b);
        printf("a+b=?
    ");
    	printf("请输入运算结果
    ");
        scanf("%d",&m);
    	if(m==a+b)
    	{
    		printf("恭喜你答对了
    ");
    		i++;
    	}
    	else
    	{
            printf("你答案有错误
    ");
    		j++;
    	}
    	
    }
    
    void jian()
    {
        int a,b,m;
    	srand(time(NULL));
    	a=1+rand()%100;
        b=1+rand()%100;
    	if(a<b)
    	{
    		int t=0;
    		t=a;a=b;b=t;
    	}
        printf("%d
    ",a);
        printf("%d
    ",b);
        printf("a-b=?
    ");
    	printf("请输入运算结果
    ");
        scanf("%d",&m);
    	if(m==a-b)
    	{
    		printf("恭喜你答对了
    ");
    		i++;
    	}
    	else
    	{
            printf("你答案有错误
    ");
    		j++;
    	}
    	
    }
    void cheng()
    {
        int a,b,m;
    	srand(time(NULL));
    	a=1+rand()%20;
        b=1+rand()%20;
        printf("%d
    ",a);
        printf("%d
    ",b);
        printf("a*b=?
    ");
    	printf("请输入运算结果
    ");
        scanf("%d",&m);
    	if(m==a*b)
    	{
    		printf("恭喜你答对了
    ");
    		i++;
    	}
    	else
    	{
            printf("你答案有错误
    ");
            j++;
    	}
    	
    }
    void chu()
    {
        int a,b,m;
    	srand(time(NULL));
        a=1+rand()%100;
        b=1+rand()%100;
    	if(b==0)
    	{
    		b=1+rand()%100;
    	}
    	if(a<b)
    	{
           	int t=0;
    		t=a;a=b;b=t;
    	}
        while(a%b!=0)
    	{
    		a=1+rand()%100;
            b=1+rand()%100;
    	}
        printf("%d
    ",a);
        printf("%d
    ",b);
        printf("a/b=?
    ");
    	printf("请输入运算结果
    ");
        scanf("%d",&m);
    	if(m==a/b)
    	{
    		printf("恭喜你答对了
    ");
    		i++;
    	}
    	else
    	{
            printf("你答案有错误
    ");
            j++;
    	}
    	
    }
    
    int main() { int m,n=0; while(1) { printf("1.加法运算 "); printf("2.减法运算 "); printf("3.乘法运算 "); printf("4.除法运算 "); printf("请选择"); scanf("%d", &m); switch(m) { case 1:jia();break; case 2:jian();break; case 3:cheng();break; case 4:chu();break; } printf("5.请重新选择 "); printf("6.结束 "); scanf("%d", &n); if(n==6) break; } printf("你回答题的总数%d和正确的个数%d ",i+j,i); return 0; }
     
     
     
     
     
     

    五:系统测试

    (1)加法运算界面,包括做的总体书和正确数

     
    (2)减法运算界面
     
     
    (3)乘法运算界面
     
    (4)除法运算
    六:psp耗时统计
     
    序号 psp 耗时 百分比(%)
    1 需求分析 18 23%
    2 设计 20 25.6
    3 代码实现 30 38.5%
    4 测试 5 6.4%
    5 分析和总结 5 6.4%

    七:分析和总结

       首先看到题目,具体该怎么写,我几乎不明白。通过问老师和同学,才了解题目。同学的交流才能完成

  • 相关阅读:
    MT【48】分式连加形式下求不等式解集的区间长度
    MT【47】求一道分式的最值
    MT【46】不动点,稳定点几何直观
    MT【45】抛物线外一点作抛物线的切线(尺规作图题)
    MT【44】抛物线不常见性质3
    MT【43】抛物线不常见性质2.
    MT【42】抛物线不常见性质1.
    MT【41】利用不等式妙消参数
    MT【40】一道联赛二试题
    MT【39】构造二次函数证明
  • 原文地址:https://www.cnblogs.com/shoukexia/p/4412931.html
Copyright © 2020-2023  润新知