zoukankan      html  css  js  c++  java
  • 计算机软件工程作业2

    作业要求

    https://edu.cnblogs.com/campus/jssf/infor_computation17-31/homework/10402

    作业正文

    代码

    #include <stdio.h>
    
    #include <ctype.h>
    
    #include <time.h>
    
    #include <stdlib.h>
    
    #include <windows.h>
    
    #define IDNO_LENGTH 6
    
    #define CALC_KIND 4
    
     
    
    char getSignal();
    
    int getResult(int,int,char);
    
    void takeTest();
    
    void falsePrint(int);
    
    void correctPrint(int);
    
     
    
    //main函数
    
    void main()
    
    {
    
        while(1)
    
        {
    
            takeTest();
    
        }
    
         
    
    }
    
     
    
    //获取随机运算符
    
    char getSignal()
    
    {
    
        char signal[CALC_KIND]={'+','-','*','/'};
    
        srand((unsigned)time(NULL));
    
        return signal[rand()%4];
    
    }
    
     
    
    //获取随机数
    
    int random(double start, double end)
    
    {
    
        return (int)(start+(end-start)*rand()/(RAND_MAX+ 1.0));
    
    }
    
     
    
    //运算
    
    int getResult(int num1,int num2,char signal)
    
    {
    
        int res;
    
        switch(signal)
    
        {
    
        case '+':
    
            res=num1+num2;break;
    
        case '-':
    
            res=num1-num2;break;
    
        case '*':
    
            res=num1*num2;break;
    
        case '/':
    
            res=num1/num2;break;
    
        default:
    
            res=0;
    
            printf("运算符不符合规则
    ");
    
        }
    
        return res;
    
    }
    
     
    
    //列出题目
    
    void takeTest()
    
    {
    
        int giveRes;
    
        int num1;
    
        int num2;
    
        char signal;
    
        int printFlag;
    
     
    
        srand((unsigned)time(NULL));
    
        signal=getSignal();
    
        num1=random(0,100);
    
        num2=random(1,100);
    
     
    
        if(signal=='-')
    
        {
    
            if(num1<num2)
    
            {
    
                int temp;
    
                temp=num1;
    
                num1=num2;
    
                num2=temp;
    
            }
    
        }
    
     
    
        if(signal=='/')
    
        {
    
            if(num2==0)
    
            {
    
                int temp;
    
                temp=num1;
    
                num1=num2;
    
                num2=temp;
    
            }
    
        }
    
     
    
        printf("%d%c%d=",num1,signal,num2);
    
        scanf("%d",&giveRes);
    
        fflush(stdin);
    
     
    
        if(getResult(num1,num2,signal)==giveRes)
    
        {
    
            printFlag=random(1,5);
    
            correctPrint(printFlag);
    
        }
    
        else
    
        {
    
            printFlag=random(1,4);
    
            falsePrint(printFlag);
    
            printf("正确答案:%d
    ",getResult(num1,num2,signal));
    
        }
    
    }
    
     
    
    //回答正确打印信息
    
    void correctPrint(int num)
    
    {
    
        switch(num)
    
        {
    
        case 1:
    
            printf("You're right!
    ");break;
    
        case 2:
    
            printf("It's OK!
    ");break;
    
        case 3:
    
            printf("Correct!
    ");break;
    
        case 4:
    
            printf("Perfect!
    ");break;
    
        case 5:
    
            printf("Good!
    ");break;
    
        default:
    
            printf("Powerful!
    ");break;
    
        }
    
    }
    
     
    
    //回答错误打印信息
    
    void falsePrint(int num)
    
    {
    
        switch(num)
    
        {
    
        case 1:
    
            printf("You're lost!");break;
    
        case 2:
    
            printf("Failure!");break;
    
        case 3:
    
            printf("Come on!");break;
    
        case 4:
    
            printf("It's wrong!");break;
    
        default:
    
            printf("Incorrect!");break;
    
        }
    
    }
    

    运行结果

    image

    总结

    代码完成有困难,只能完成部分功能,代码内容部分参考百度学习。

    码云链接

    https://gitee.com/chenyue666/MyGit/blob/master/源.cpp

  • 相关阅读:
    PAT1007
    PAT1005
    PAT1002
    PAT1003
    PAT1016
    PAT 1018
    PAT1009
    pat 1037
    解决Git合并分支发生的冲突
    站和队列的基本使用
  • 原文地址:https://www.cnblogs.com/chenyue666/p/12366343.html
Copyright © 2011-2022 走看看