四则运算

一、作业信息

这个作业属于哪个课程 https://edu.cnblogs.com/campus/ahgc/AHPU-se-JSJ18
这个作业要求在哪里 https://edu.cnblogs.com/campus/ahgc/AHPU-se-JSJ18/homework/11377
这个作业的目标 能对需求进行分析并实现;编码格式规范;学习博客撰写
学号 3180701315

二、作业要求

写一个能自动生成小学四则运算题目的程序,然后在此基础上扩展:

1)除了整数以外,还要支持真分数的四则运算,例如:1/6+1/8=7/24

2)程序要求能处理用户的输入,判断对错,累积分数

3)程序支持可以由用户自行选择加、减、乘、除运算

4)使用-n参数控制生成题目的个数,例如Myapp.exe -n 10,将生成10个题目

三、代码部分

3.1整数的四则运算

3.1.1整数加法

void z_add()
{
	int a,b;
	int result,result1;

		a=rand1(0);
	    b=rand1(0);
		result=a+b;
		printf("%d+%d=  ",a,b);
		printf("请输入你的正确答案:");
		scanf("%d",&result1);
		if(result==result1)
		{
			printf("结果比较正确!总得分+1");
			
			zongdefen++;
		}
		else
		{
			printf("结果比较错误!总得分-1 ");
			zongdefen--;
			
		}

}

3.1.2整数减法

void z_sub()
{
	int a,b;
	int result,result1;

		a=rand1(0);
	    b=rand1(0);
		result=a-b;
		printf("%d-%d=  ",a,b);
		printf("请输入你的正确答案:");
		scanf("%d",&result1);
		if(result==result1)
		{
			printf("结果比较正确!总得分+1");
	
			zongdefen++;
		}
		else
		{
			printf("结果比较错误!总得分-1 ");
			zongdefen--;
			
		}

}

3.1.3整数乘法

void z_mul()
{
	int a,b;
	int result,result1;

		a=rand1(0);
	    b=rand1(0);
		result=a*b;
		printf("%d*%d=  ",a,b);
		printf("请输入你的正确答案:");
		scanf("%d",&result1);
		if(result==result1)
		{
			printf("结果比较正确!总得分+1");
			
			zongdefen++;
		}
		else
		{
			printf("结果比较错误!总得分-1 ");
			zongdefen--;
			
		}

}

3.1.4整数除法

void z_div()
{
	int a,b;
	int result,result1;

		a=rand1(0);
	    b=rand1(2);
		result=a/b;
		printf("%d / %d=  ",a,b);
		printf("请输入你的正确答案:");
		scanf("%d",&result1);
		if(result==result1)
		{
			printf("结果比较正确!总得分+1");

			zongdefen++;
		}
		else
		{
			printf("结果比较错误!总得分-1 ");
			zongdefen--;
	
		}

}

3.2真分数四则运算

3.2.1分数加法

void F_add()
{
	int a,b,c,d;
	int result,result1;

		a=rand1(0);
	    b=rand1(1);
		c=rand1(0);
	    d=rand1(1);
		result=a/b+c/d;
		printf("%d/%d + %d/%d=  ",a,b,c,d);
		printf("请输入你的正确答案:");
		scanf("%d",&result1);
		if(result==result1)
		{
			printf("结果比较正确!总得分+1");
	
			zongdefen++;
		}
		else
		{
			printf("结果比较错误!总得分-1 ");
			zongdefen--;
	
		}

}

3.2.2分数减法

void F_sub()
{
	int a,b,c,d;
	int result,result1;
		a=rand1(0);
	    b=rand1(1);
		c=rand1(0);
	    d=rand1(1);
		result=(a*d-b*c)/(b*d);
		printf("%d/%d - %d/%d=  ",a,b,c,d);
		printf("请输入你的正确答案:");
		scanf("%d",&result1);
		if(result==result1)
		{
			printf("结果比较正确!总得分+1");	
			zongdefen++;
		}
		else
		{
			printf("结果比较错误!总得分-1 ");
			zongdefen--;		
		}
}

3.2.3分数乘法

void F_mul()
{
	int a,b,c,d;
	int result,result1;
		a=rand1(0);
	    b=rand1(1);
		c=rand1(0);
	    d=rand1(1);
		result=(a*c)/(b*d);
		printf("%d/%d * %d/%d=  ",a,b,c,d);
		printf("请输入你的正确答案:");
		scanf("%d",&result1);
		if(result==result1)
		{
			printf("结果比较正确!总得分+1\n");
			zongdefen++;
		}
		else
		{
			printf("结果比较错误!总得分-1\n ");
			zongdefen--;
		}
}

3.2.4分数除法

void F_div()
{
	int a,b,c,d,n,m;
	float result,result1;
		a=rand1(1);
	    b=rand1(1);
		c=rand1(1);
	    d=rand1(1);
		n=a*d;
		m=b*c;
		result=n/m;
		printf("%d/%d / %d/%d=  ",a,b,c,d);
		printf("请输入你的正确答案:");
		scanf("%d",&result1);
		if(result==result1)
		{
			printf("结果比较正确!总得分+1 \n");
	
			zongdefen++;
		}
		else
		{
			printf("结果比较错误!总得分-1 \n");
			zongdefen--;
		}
}

3.3其他函数

3.3.1主函数

void main()
{
	int y;
    printf("生成题数:");
    scanf("%d",&N);

	while(N!=0)
	{
		printf("1.整数运算  2.分数运算\n");
		printf("请按1--2键选择运算");
		scanf("%d",&y);
		switch(y)
		{
		case 1:
			z_count();
			break;
		case 2:
			f_count();
			break;
		}
		N--;
	}
    printf("\n您的最终得分为%d\n",zongdefen);
}

3.3.2随机取值函数

iint rand1(int b)
{
	int a;
	a=rand()%100+b;
	return a;
}

四、运行截图

4.1加法

整数加法

真分数加法

4.2减法

整数减法

真分数减法

4.3乘法

整数乘法

真分数乘法

4.4除法

整数除法

真分数除法

五、个人小结

psp表格

psp2.1 任务内容 计划完成需要的时间(min) 实际完成需要的时间(min)
Planning 计划 30 25
Estimate 估计这个任务需要多少时间,并规划大致工作步骤 10 5
Development 开发 120 148
Analysis 需求分析(包括学习新技术) 20 15
Design Spec 生成设计文档 20 20
Design Review 设计复审 15 10
Coding Standard 代码规范 10 10
Design 具体设计 20 20
Coding 具体编码 40 45
Code Review 代码复审 9 10
Test 测试(自我测试,修改代码,提交修改) 40 45
Reporting 报告 10 20
Test Report 测试报告 5 5
Size Measurement 计算工作量 10 10
Postmortem & Process Improvement Plan 事后总结,并提出过程改进计划 10 10
posted @ 2020-11-08 19:57  li小老虎  阅读(150)  评论(0编辑  收藏  举报