第三次作业

在之前编写的四则运算程序基础之上做如下改进:

  1. 可以出表达式里含有负整数(负整数最小不小于-100)的题目,且负数需要带括号,用户输入的结果不用带括号。如: 2*(-4) = -8
  2. 用户答题结束以后,程序可以显示用户答题所用的时间

需求分析:

  1.增加跟多功能

  2.请采用模块化设计思想,修改之前的code,将 “计算功能” 封装起来

设计:

  1.加入随机产生负数功能

  2.加入程序所用时间

代码实现:

  suanfa.h

#define _CRT_SECURE_NO_WARNINGS
#include"stdio.h"
#include"stdlib.h"
int right=0, wrong=0 ;

void jiafa()
{
	int a, b, c;							//定义a,b,c
	a = -100 + rand() % 201;				//随机生成-100~100的数字
	b = -100 + rand() % 201;				//随机生成-100~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 = -100 + rand() % 201;				//随机生成-100~100的数字
	b = -100 + rand() % 201;				//随机生成-100~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 = -100 + rand() % 201;				//随机生成-100~100的数字
	b= -100 + rand() % 201;					//随机生成-100~100的数字
	
	if (a<0 && b>0)
		{
			printf("请回答(: (%d) * %d=", a, b);
		}
	if (a<0 && b<0)
	{
		printf("请回答: (%d) * (%d)=", a, b);
	}
	if (a>0 && b<0)
	{
		printf("请回答: %d * (%d)=", a, b);
	}	
	if (a>0 && b>0)
	{
		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 = -100 + rand() % 201;				//随机生成-100~100的数字
	b = -100 + rand() % 201;                //随机生成-100~100的数字
	printf("请回答:(%lf)/(%lf)=", a, b);
	scanf("%lf", &c);
	if (a / b != c)							//判断输入值是否正确
	{
		printf("错误
");
		wrong++;
	}
	else
	{
		printf("正确
");
		right++;
	}
}

   zhuchengxu.cpp

#define _CRT_SECURE_NO_WARNINGS
#include"stdio.h"
#include"stdlib.h"
#include "suanfa.h"
#include <time.h>
#include<string.h>
#include<iostream>
    //定义全局变量 R W 纪录对题数与错题数目

void main()                                 //主函数
{


	

		int a = clock();
		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值
		int b = clock();//到这结束
		int c = b - a;//算出来的单位是毫秒
		printf("%d毫秒
", c); //
}

程序截图:

分析与总结:

1.PSP耗时统计

2.总结:增加部分功能,加强团队合作能力,还有很多功能没有,实现还需努力学习

合作人 范国睿  罗文豪

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