zoukankan      html  css  js  c++  java
  • 第二次作业——小学生四则运算

    题目

    • 请编写一个能自动生成小学四则运算题目的 “软件”。
    • 让程序能接受用户输入答案,并判定对错。
    • 最后给出总共 对/错 的数量。

    需求分析:

    ●基本功能

    ●实现100以内的加法

    ●实现100以内的减法

    ●实现100以内的乘法

    ●实现100以内的除法

    ●累计答对题目的个数,并做出相关的评价

     

    设计:

    ●首先选择是否进入测试状态,若选择进入测试,则随机产生100以内的加减乘除的思则运算的题目

    ● 用Switch选择语句来选择做什么运算(0表示加法运算,1表示减法,2表示除法运算,3表示乘法)以及根据答对的题目个数做出相关的评价

     

    ●代码实现

    #include <iostream> 
    #include <ctime> 
    using namespace std; 
    int main() 
    { 
        int a,b,c,R=0,x,z,i,y,k; 
        srand(time(NULL)); 
        cout<<"**************************
    "; 
        cout<<"欢迎进入小学四则运算测试系统
    "; 
        cout<<" 1.进入测试 
    "; 
        cout<<" 2.退出程序 
    "; 
        cout<<"**************************
    "; 
        cin>>z; 
        if (z==1) 
        { 
            cout<<"测试开始!
    "; 
            for(i=1;i<11;i++) 
            { 
                a=rand()%100; 
                b=rand()%100; 
                x=rand()%4; 
                k=rand()%10; 
                switch(x) 
                { 
                case 0: 
                    { 
                        y=a+b; 
                        cout<<"请看题:	"; 
                        cout<<a<<"+"<<b<<"="; 
                        cin>>c; 
                        if (y==c) 
                        { 
                            R+=1; 
                            cout<<"答对了,累计答对题数为"<<R<<"
    "; 
                        } 
                        else cout<<"答错了,继续努力!
    "; 
                        break; 
                    } 
                case 1: 
                    { 
                        if (b>a) 
                        { 
                            z=a; 
                            a=b; 
                            b=z; 
                        } 
                        y=a-b; 
                        cout<<"请看题:	"; 
                        cout<<a<<"-"<<b<<"="; 
                        cin>>c; 
                        if (y==c) 
                        { 
                            R+=1; 
                            cout<<"答对了,累计答对题数为"<<R<<"
    "; 
                        } 
                        else cout<<"答错了,继续努力!
    "; 
                        break; 
                case 2: 
                    {  
                        if (a>10) 
                        { 
                            a=a/10; 
                        } 
                        if (b>10) 
                        { 
                            b=b/10; 
                        } 
                        y=a*b; 
                        cout<<"请看题:	"; 
                        cout<<a<<"*"<<b<<"="; 
                        cin>>c; 
                        if (y==c) 
                        { 
                            R+=1; 
                            cout<<"答对了,累计答对题数为"<<R<<"
    "; 
                        } 
                        else cout<<"答错了,继续努力!
    "; 
                        break; 
                    } 
                case 3: 
                    {  
                        if (b>10) 
                        { 
                            b=b/10; 
                        } 
                        if (!(a%b==0)) 
                        { 
                            a=b*k; 
                        } 
                        y=a/b; 
                        cout<<"请看题:	"; 
                        cout<<a<<"/"<<b<<"="; 
                        cin>>c; 
                        if (y==c) 
                        { 
                            R+=1; 
                            cout<<"答对了,累计答对题数为"<<R<<"
    "; 
                        } 
                        else cout<<"答错了,继续努力!
    ";
                        break; 
                    } 
                    } 
                } 
            } 
        } 
        else 
        { 
            cout<<"测试已完成,谢谢您的参与
    "; 
            return 0; 
        } 
        switch(R) 
        { 
        case 10: cout<<"真是个天才!
    ";break; 
        case 9: cout<<"真聪明!
    ";break; 
        case 8: cout<<"还不错!
    ";break; 
        case 7: cout<<"多多加油!
    ";break; 
        case 6: cout<<"刚及格,还得多练习!
    ";break; 
        case 5: 
        case 4: 
        case 3: 
        case 2: 
        case 1: 
        case 0: cout<<"不及格!
    ";break; 
        } 
        
        return 0; 
    } 

    运行效果图

    ●选择1进入测试界面的运行效果图

    ●选择2退出程序的运行效果图

    分析与总结:

    ●PSP耗时   

    PSP

    Personal Software Process Stage

    Time(h)

    Time(%)

    Design

    具体设计

    14

    25.9

    Coding

    具体编码

    17

    31.5

             Code Review

    代码复审

    9

    16.7

    Test

    测试

    8

    14.8

    Postmortem & Process

    Improvement Plan

    事后总结,并提出过程改进计划

    6

    11.1

    ●总结:

        首先想法很重要,有了一定的想法再去实现。遇到问题多向老师,同学请教。多反思,和总结。这样才会设计出更好的程序!

  • 相关阅读:
    js插件ztree使用
    asp.net错误页和asp.net mvc错误页设置
    C#实现Excel的导入导出
    ios开发UI篇—使用纯代码自定义UItableviewcell实现一个简单的微博界面布局
    iOS开发UI篇—UITabBarController简单介绍
    iOS开发UI篇—字典转模型
    iOS开发UI篇—从代码的逐步优化看MVC
    iOS开发UI篇—九宫格坐标计算
    iOS开发UI篇—transframe属性(形变)
    iOS开发UI篇—懒加载
  • 原文地址:https://www.cnblogs.com/TaurusChenLi/p/4414271.html
Copyright © 2011-2022 走看看