软件工程第二次作业

题目:

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

一:基本要求

    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\n",a);
    printf("%d\n",b);
    printf("a+b=?\n");
	printf("请输入运算结果\n");
    scanf("%d",&m);
	if(m==a+b)
	{
		printf("恭喜你答对了\n");
		i++;
	}
	else
	{
        printf("你答案有错误\n");
		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\n",a);
    printf("%d\n",b);
    printf("a-b=?\n");
	printf("请输入运算结果\n");
    scanf("%d",&m);
	if(m==a-b)
	{
		printf("恭喜你答对了\n");
		i++;
	}
	else
	{
        printf("你答案有错误\n");
		j++;
	}
	
}
void cheng()
{
    int a,b,m;
	srand(time(NULL));
	a=1+rand()%20;
    b=1+rand()%20;
    printf("%d\n",a);
    printf("%d\n",b);
    printf("a*b=?\n");
	printf("请输入运算结果\n");
    scanf("%d",&m);
	if(m==a*b)
	{
		printf("恭喜你答对了\n");
		i++;
	}
	else
	{
        printf("你答案有错误\n");
        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\n",a);
    printf("%d\n",b);
    printf("a/b=?\n");
	printf("请输入运算结果\n");
    scanf("%d",&m);
	if(m==a/b)
	{
		printf("恭喜你答对了\n");
		i++;
	}
	else
	{
        printf("你答案有错误\n");
        j++;
	}
	
}

int main() { int m,n=0; while(1) { printf("1.加法运算\n"); printf("2.减法运算\n"); printf("3.乘法运算\n"); printf("4.除法运算\n"); printf("请选择"); scanf("%d", &m); switch(m) { case 1:jia();break; case 2:jian();break; case 3:cheng();break; case 4:chu();break; } printf("5.请重新选择\n"); printf("6.结束\n"); scanf("%d", &n); if(n==6) break; } printf("你回答题的总数%d和正确的个数%d\n",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%

 

 

 

 

 

 

 

七:分析和总结

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

 

 

 

posted @ 2015-04-09 23:07  寿克霞  阅读(163)  评论(0编辑  收藏  举报