zoukankan      html  css  js  c++  java
  • 软件工程(第二次作业)

    一、题目

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

    二、需求分析

       1、此软件可选择所需的四则运算符号,即加、减、乘、除。

       2、对于用户选择的运算符号可自动生成两个随机数的整数想x,y。

       3、该软件可通过用户手动输入运算结果,判断用户答案的对错。

       4、对于用户答案的正确与否可进行统计对错数量。

    三、设计

        对于小学生做题数量及正确和错误题数可进行统计,帮助用户统计答题数。

    四、代码

    #include "stdio.h"
    #include"windows.h"
    int right=0,wrong=0;
    void jia(){ 
        int x,y,z;  
        x=rand()%100; 
        y=rand()%100;
        printf("请输入您的答案:%d+%d=",x,y); 
        scanf("%d",&z);
        if(x+y!=z)
        {
            printf("回答错误!
    ");
            wrong++;
        }
        else 
        {
            printf("回答正确!
    ");
            right++;
        }
     }
    void jian(){
        int x,y,z; 
        x=rand()%100;  
        y=rand()%100; 
        printf("请输入您的答案:%d-%d=",x,y); 
        scanf("%d",&z); 
        if(x-y!=z)
        {
            printf("回答错误!
    ");wrong++;
        } 
        else
        {
            printf("回答正确!
    ");
            right++;
        }
     }
    void cheng(){
        int x,y,z; 
        x=rand()%100; 
        y=rand()%100; 
        printf("请输入您的答案:%d*%d=",x,y);
        scanf("%d",&z);
        if(x*y!=z)
        {
            printf("回答错误!
    ");
            wrong++;
        } 
        else
        {
            printf("回答正确!
    ");
            right++;
        }
     }
    void chu(){
        int x,y,z;
        x=rand()%100;  
        y=rand()%100+1;
        printf("请输入您的答案:%d/%d=",x,y); 
        scanf("%d",&z); 
        if(x/y!=z)
        {
            printf("回答错误!
    ");
            wrong++;
        }
        else
        {
            printf("回答正确!
    ");
            right++;
        }
    }
    
    void main(){
        int choise,sum=0;
        printf("
    
    		欢迎来到我的C语言四则运算程序系统!
    "); 
        system("pause"); 
        system("cls");
        while(1)   { 
            printf("
    
    			请选择计算符号:
    加法(输入1)	减法(输入2)	乘法(输入3)	除法(输入4)
    ");
            if(sum==0)scanf("%d",&choise); 
            switch(choise)    { 
            case 1: jia();break;
            case 2:jian();break;    
            case 3:cheng();break; 
            case 4:chu();break; 
            }   
            printf("请您选择:	继续(输入1)	重新(输入2)	退出(输入3)
    ");
            scanf("%d",&sum);  
            if(sum==1)sum=1;  
            if(sum==2)sum=0;   
            if(sum==3)break; 
        }  
        printf("您一共做了%d道题,正确%d道,错误%d道!
    ",right+wrong,right,wrong); 
        system("pause");
    }

    五、运行代码截图

    六、psp计时

    七、总结

        对于本次作业,我还存在一些问题,例如,对于写代码还不是很熟炼,加上对psp计时也不是很了解。不过此次作业给我的最大收获是对软件工程这门课有了一点点兴趣。

  • 相关阅读:
    void型指针转换。
    MSSQL数据库中记录生日与输入的年龄,进行比对
    [转][C#]内置的 DateTime 用法
    Asp.Net 文件操作基类(读取,删除,批量拷贝,删除,写入,获取文件夹大小,文件属性,遍历目录)
    点击Repeater中的按钮,获取Repeater中TextBox中的值
    [转]UrlReWriter 使用经验小结收藏
    C#中实现VB.net中ReDim功能
    在存储过程中循环表中的记录集
    ADO.net取存储过程的返回值以及存储过程中Return和OUTPUT的区别
    部分FCKeditor常用JS函数
  • 原文地址:https://www.cnblogs.com/zze-ysj-zdl-zdj-jiaren/p/4426357.html
Copyright © 2011-2022 走看看