第二次作业

题目:自动生成小学四则运算题目“软件”

需求分析

    基本功能:

      1.实现100以内的四则运算

      2.显示共对/错并且正确答案

      3.统计对/错的数量

 

设计:

1.建立4个子函数(加减乘除)

2.通过调用子函数来实现(加减乘除的功能)

3.建立主函数实施调用(选择子函数)

代码实现:

#define _CRT_SECURE_NO_WARNINGS
#include"stdio.h"
#include"stdlib.h"
int right = 0, wrong = 0;			//定义全局变量 R W 纪录对题数与错题数目
void jiafa()
{
	int a, b, c;					//定义a,b,c
	a = rand() % 100;				//随机生成0~100的数字
	b = rand() % 100;				//随机生成0~100的数字
	printf("请回答:%d+%d=", a, b);
	scanf("%d", &c);				//键盘接受值
	if (a + b != c)					//判断输入值是否正确
	{
		printf("错误
");
		wrong++;					//记录错误值+1
	}
	else
	{
		printf("正确
");
		right++;					//记录正确值+1
	}
}
void jianfa()
{
	int a, b, c;					//定义a,b,c
	a = rand() % 100;				//随机生成0~100的数字
	b = rand() % 100;				//随机生成0~100的数字
	printf("请回答:%d-%d=", a, b);
	scanf("%d", &c);
	if (a - b != c)					//判断输入值是否正确
	{
		printf("错误
");
		wrong++;
	}
	else
	{
		printf("正确
");
		right++;
	}
}
void chengfa()
{
	int a, b, c;					//定义a,b,c
	a = rand() % 100;				//随机生成0~100的数字
	b = rand() % 100;				//随机生成0~100的数字
	printf("请回答:%d*%d=", a, b);
	scanf("%d", &c);
	if (a*b != c)					//判断输入值是否正确
	{
		printf("错误
");
		wrong++;
	}
	else
	{
		printf("正确
");
		right++;
	}
}
void chufa()
{
	double a, b, c;					//定义a,b,c
	a = rand() % 100;				//随机生成0~100的数字
	b = rand() % 99 + 1;				//随机生成1~100的数字
	printf("请回答:%lf/%lf=", a, b);
	scanf("%lf", &c);
	if (a / b != c)					//判断输入值是否正确
	{
		printf("错误
");
		wrong++;
	}
	else
	{
		printf("正确
");
		right++;
	}
}


void main()									//主函数
{
	int x, con = 0;							//定义x值与CON值
	printf("C语言四则运算程序
");
	while (1)
	{
		printf("请选择算法:
1加2减3乘4除
");
		if (con == 0)scanf("%d", &x);
		switch (x)							//判断输入值 选择子函数程序
		{
		case 1:jiafa(); break;
		case 2:jianfa(); break;
		case 3:chengfa(); break;
		case 4:chufa(); break;
		}
		printf("1重做,2换算法,3退出
");
		scanf("%d", &con);
		if (con == 1)con = 1;
		if (con == 2)con = 0;
		if (con == 3)break;
	}
	printf("总题数%d,正确%d的道题,错误%d道题!
", right + wrong, right, wrong);	//结束返货 W R值

}

程序截图:

分析与总结:

1.PSP耗时统计

2.总结:这是一个的四则运算程序,通过switch (x)的使用,调用函数或者在switch (x)中编写子程序,就可以实现,计算过程中数据的类型转换使得除法运算不够准确。

软件是需要不断改进但自身能力有限,自后的学习之路会很长,还需要加强自身能力。

     

原文地址:https://www.cnblogs.com/fgr520fgr/p/4419024.html