• 第二次作业《四则运算》


     题目:

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

    一:基本要求

        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耗时统计

    七:事后分析和总结

        首先看到题目,具体该怎么写,我几乎不明白。通过老师的讲解以及看书上的第二章《构建之法》:个人技术和流程,才了解题目。接着代码的实现通过查阅资料和老师,同学的交流才完成了本次作业。通过本次实验大概理解了设计是指说明软件的实现思路,理论上要求照此可以编码。需求分析是指产生软件规格说明书,需要确定用户对软件的需求,不涉及具体的实现方法。代码的实现就是编写出代码,并能正确的运行。

  • 相关阅读:
    在centos7 ubuntu15.04 上通过bosh-lite 搭建单机环境cloudfoundry
    Linux里如何查找文件内容
    StarUML2 建模工具全平台破解及license验证简要分析
    深入理解 Neutron -- OpenStack 网络实现(4):网络名字空间
    深入理解 Neutron -- OpenStack 网络实现(3):VXLAN 模式
    深入理解 Neutron -- OpenStack 网络实现(2):VLAN 模式
    深入理解 Neutron -- OpenStack 网络实现(1):GRE 模式
    linux 设置pip 镜像 Pip Warning:–trusted-host 问题解决方案
    C# IO流的操作(一)
    C# 序列化、反序列化
  • 原文地址:https://www.cnblogs.com/122zy/p/4401027.html
Copyright © 2020-2023  润新知