• 第三次作业


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

    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.总结:增加部分功能,加强团队合作能力,还有很多功能没有,实现还需努力学习

    合作人 范国睿  罗文豪

  • 相关阅读:
    【转】mxGraph教程-开发入门指南
    利用IPC通道进行进程间通信(C#)
    C++引用指针 & 构造函数
    MySQL配置主主及主从备份
    MySQL 主从热备份(读写分离)
    SqlServer双机热备技术实践笔记
    c#中的弱引用:WeakReference
    px、em、rem、%、vw、vh、vm这些单位的区别
    深浅clone
    JavaScript-原始值和引用值
  • 原文地址:https://www.cnblogs.com/fgr520fgr/p/4451461.html
Copyright © 2020-2023  润新知