四则运算自动生成程序

这个作业属于哪个课程 https://edu.cnblogs.com/campus/ahgc/AHPU-se-JSJ18/
这个作业要求在哪里 https://edu.cnblogs.com/campus/ahgc/AHPU-se-JSJ18/homework/11377
这个作业的目标 学会工程化方法变成及markdown使用方法
学号 3180701329
二.题目要求

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

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

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

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

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

三.代码提交

  1. 源程序
#include<stdio.h>
#include<time.h>
#include<stdlib.h>
void main()
{
    int c,e,f;
    int x,right=0,wrong=0,score=0;
    while(1)
    {
		printf("请输入你要选择的操作:0.加法 1.减法 2.乘法 3.除法
");
		scanf("%d",&x);
		 srand((int)time(0));
		 c=rand()%100;
		 e=rand()%100;
        switch(x)
        {
        case 0:
            printf("%d + %d =",c,e);
            break;
        case 1:
            printf("%d - %d =",c,e);
            break;
        case 2:
            printf("%d * %d =",c,e);
            break;
        case 3:
            printf("%d ÷ %d =",c,e);
            break;
        }
		printf("请输入你的答案:
");
		scanf("%d",&f);
        switch(x)
        {
        case 0:
            if(f==c+e)
            {
                printf("计算正确!
");right++;score++;
            }
            else
            {
                printf("计算错误!正确答案是 %d 
",c+e);wrong++;
            }
            break;
        case 1:
            if(f==c-e)
            {
                printf("计算正确!
");right++;score++;
            }
            else
            {
                printf("计算错误!正确答案是 %d 
",c-e);wrong++;
            }
            break;
        case 2:
            if(f==c*e)
            {
                printf("计算正确!
");right++;score++;
            }
            else
            {
                printf("计算错误!正确答案是 %d 
",c*e);wrong++;
            }
            break;
        case 3:
            if(f==c/e)
            {
                printf("计算正确!
");right++;score++;
            }
            else
            {
                printf("计算错误!正确答案是 %d 
",c/e);wrong++;
            }
            break;
        }
        printf("按任意键继续,q则退出!
");
        fflush(stdin);
        if(getchar()=='q')
            break;
    }
    printf("共答对%d道题,共答错%d道题,得分为%d 
",right,wrong,score);
}
  1. 运行截图



四.个人小结

1)psp表:

psp2.1 任务内容 计划完成所需的时间(min) 实际完成所需的时间(min)
Planning 计划 30 30
Estmate 估计这个任务需要多少时间,并规划大致工作步骤 120 200
Development 开发 20 20
Analysis 需求分析(包括学习新技术) 15 15
Design Spec 生成设计文档 20 20
Design review 设计审查 5 10
Coding Standard 代码规范 15 5
Design 具体设计 20 20
Coding 具体代码 30 25
Code Review 代码复查 10 15
Test 测试(自我测试,修改代码,提交修改) 5 5
Reporting 报告 10 10
Test Report 测试报告 10 10
Size Measurement 计算工作量 5 5
Postmortem & Process Improvement Plan 事后总结,并提出过程改进计划 10 10

2)心得体会:
通过这次作业学会了工程化方法变成及markdown使用方法。
在这次作业中整数的四则运算较简单,真分数的四则运算则较难,由于此次任务时间较短,因此此次作业我并没有完成真分数的四则运算部分,后面我会继续完成这部分任务。

原文地址:https://www.cnblogs.com/zhangkai1/p/13928803.html