• 四则运算


    一、作业信息

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

    二、作业要求

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

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

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

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

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

    三、代码提交与运行截图

    #include <stdio.h>
    #include <stdlib.h>
    #include <math.h>
    int mark=0;//初始化总分数
    

    整数的加减乘除运算

    void zhengshu_jia()//整数加法
    {
        int x,y,result1=0,result;
    	x=rand()%200;
    	y=rand()%200;
    	result=x+y;
    	printf("请输入%d+%d的结果:",x,y);
    	scanf("%d,&result1");
    	if(result==result1){
    	printf("结果正确,加一分
    ");
    	mark++;
    	}
    	else{
    	printf("结果错误,减一分
    ");
    	mark--;
    	}
    
    }
    
    
    void zhengshu_jian()//整数减法
    { 
    	int x,y,result1,result;
    	x=rand()%200;
    	y=rand()%200;
    	result=x-y;
    	printf("请输入%d-%d的结果:",x,y);
    	scanf("%d",&result1);
    	if(result-result1==0){
    	printf("结果正确,加一分
    ");
    	mark++;
    	}
    	else{
    	printf("结果错误,减一分
    ");
    	mark--;
    	}
    
    
    }
    
    void zhengshu_cheng()//整数乘法
    {
    	int x,y,result1,result;
    	x=rand()%200;
    	y=rand()%200;
    	result=x*y;
    	printf("请输入%d*%d的结果:",x,y);
    	scanf("%d",&result1);
    	if(result==result1){
    	printf("结果正确,加一分
    ");
    	mark++;
    	}
    	else{
    	printf("结果错误,减一分
    ");
    	mark--;
    	}
    
    
    
    
    }
    
    void zhengshu_chu()//整数除法
    {
        int x,y,result1,result;
    	x=rand()%200;
    	y=rand()%200;
    	result=x/y;
    	printf("请输入%d/%d的结果:",x,y);
    	scanf("%d",&result1);
    	if(result==result1){
    	printf("结果正确,加一分
    ");
    	mark++;
    	}
    	else{
    	printf("结果错误,减一分
    ");
    	mark--;
    	}
    
    }
    
    

    分数的加减乘除运算

    void fenshu_jia()//分数加法
    {
    int x1,x2,y1,y2,s,t,end;
    char z;
    x1=rand()%100;
    x2=rand()%100;
    y1=x1+rand()%100+1;
    y2=x2+rand()%100+1;
    end=(x1*y2+x2*y1)/(y1*y2);
    printf("请输入%d/%d+%d/%d的结果:",x1,y1,x2,y2);
    scanf("%d%c%d",&s,&z,&t);
    if((x1*y2+x2*y1)==s&&(y1*y2)==t){
    printf("结果正确,加一分
    ");
    mark++;
    }
    else{printf("结果错误,减一分
    ");
    mark--;
    }
    }
    
    void fenshu_jian()//分数减法
    {
    int x1,x2,y1,y2,s,t,end;
    char z;//代表分数中的/,end代表最终结果
    x1=rand()%100;
    x2=rand()%100;
    y1=x1+rand()%100+1;
    y2=x2+rand()%100+1;
    end=(x1*y2-x2*y1)/(y1*y2);
    printf("请输入%d/%d-%d/%d的结果:",x1,y1,x2,y2);
    scanf("%d%c%d",&s,&z,&t);
    if((x1*y2-x2*y1)==s&&(y1*y2)==t){
    printf("结果正确,加一分
    ");
    mark++;
    }
    else{printf("结果错误,减一分
    ");
    mark--;
    }
    }
    
    void fenshu_cheng()//分数乘法
    {
    int x1,x2,y1,y2,s,t,end;
    char z;
    x1=rand()%100;
    x2=rand()%100;
    y1=x1+rand()%100+1;
    y2=x2+rand()%100+1;
    end=(x1*x2)/(y1*y2);
    printf("请输入%d/%d * %d/%d的结果:",x1,y1,x2,y2);
    scanf("%d%c%d",&s,&z,&t);
    if((x1*x2)==s&&(y1*y2)==t){
    printf("结果正确,加一分
    ");
    mark++;
    }
    else{printf("结果错误,减一分
    ");
    mark--;
    }
    }
    
    void fenshu_chu()//分数除法
    {
    int x1,x2,y1,y2,s,t,end;
    char z;
    x1=rand()%100;
    x2=rand()%100;
    y1=x1+rand()%100+1;
    y2=x2+rand()%100+1;//随机取值
    end=((x1*y2)/(x2*y1));
    printf("请输入%d/%d / %d/%d的结果:",x1,y1,x2,y2);
    scanf("%d%c%d",&s,&z,&t);
    if((x1*y2+x2*y1)==s&&(y1*y2)==t){
    printf("结果正确,加一分
    ");
    mark++;
    }
    else{printf("结果错误,减一分
    ");
    mark--;
    }
    }
    
    
    void main()//主函数
    {
    int choose;
    printf("**********整数与分数的四则运算法则**********
    ");
    printf("1.整数的加减乘除运算
    ");
    printf("2.分数的加减乘除运算
    ");
    printf("请选择:");
    scanf("%d",&choose);
    switch(choose)
    {
    	int choose1;
    	int	choose2;
    	case 1:
    		printf("
    整数运算
    ");
    		printf("
    1.加法2.减法3.乘法4.除法
    ");
    		scanf("%d",&choose1);
    		switch(choose1)//选择运算类型
    		{
    		case 1:
    		     zhengshu_jia();
    			 break;
    		case 2:
    			zhengshu_jian();
    			break;
    		case 3:
    			zhengshu_cheng();
    			break;
    		case 4:
    			zhengshu_chu();
    			break;
    
    		}
    		break;
    	case 2:
    		printf("
    分数运算
    ");
    		printf("
    1.加法2.减法3.乘法4.除法
    ");
    		scanf("%d",&choose2);
    		switch(choose2)
    		{
    		case 1:
    		    fenshu_jia();
    			 break;
    		case 2:
    			fenshu_jian();
    			break;
    		case 3:
    			fenshu_cheng();
    			break;
    		case 4:
    			fenshu_chu();
    			break;
    		}
    		break;
    }
    }
    

    整数与分数加法截图:

    整数与分数减法截图:

    整数与分数乘法截图:

    整数与分数除法截图:

    主菜单截图:

    四、个人小结

    第一次使用markdown,和word感觉差别还是很大,需要自己添加特殊符号,主要对标题与代码进行了优化,要比不优化好看许多。

    (psp表格)

    psp2.1 任务内容 计划完成需要的时间(min) 实际完成需要的时间(min)
    Planning 计划 40 50
    Estimate 估计这个任务需要多少时间,并规划大致工作步骤 15 10
    Development 开发 200 250
    Analysis 需求分析(包括学习新技术) 30 25
    Design Spec 生成设计文档 30 20
    Design Review 设计复审 10 15
    Coding Standard 代码规范 20 20
    Design 具体设计 30 32
    Coding 具体编码 40 45
    Code Review 代码复审 5 10
    Test 测试(自我测试,修改代码,提交修改) 40 45
    Reporting 报告 15 25
    Test Report 测试报告 10 15
    Size Measurement 计算工作量 5 10
    Postmortem & Process Improvement Plan 事后总结,并提出过程改进计划 15 12
  • 相关阅读:
    使用QQ邮箱发送邮件,QQ邮箱的smtp设置
    Linux常用命令
    Pycharm批量查找替换功能
    HTML/CSS学习笔记
    什么样的人适合做自动化测试
    如何测试一个WEB的输入框?
    我收集的学习网站
    SQL查询练习(一)
    linux消息队列应用编程
    linux共享内存简单介绍以及编码演示
  • 原文地址:https://www.cnblogs.com/dnmd/p/13944428.html
Copyright © 2020-2023  润新知