zoukankan      html  css  js  c++  java
  • 结对项目进展

    目前对代码进行了些改动,将程序进行了一些封装,优化了一点代码。

    由于之前的要求有所改动,先前是将题目从txt中读取,现在改成自动生成算式,存入txt中再进行读操作。

    void create(){

        srand((unsigned) time(NULL));
        int len;
        int operate;
        int op0,op1,op2;
        int exibrac,brac1,brac2;
        char op;
        do{
            len = rand() % 11;
        }while(len<=2);
             
        exibrac = rand() % 2;//0不存在,1存在括号
        brac1 = rand() % (len-1);
        FILE *fp = fopen("test.txt","w+");
        operate = len-1;
        op1 = rand() % 100;
        op0 = rand() % 2;
     
        if(len-operate==brac1 && exibrac == 1){
            op = '(';
            fprintf(fp , "%c" , op );
            brac2 = brac1 + 1 + rand() % (len-brac1-1);
        }
        if(op0==0){
            fprintf(fp , "%d" ,op1);
        }
        else
        {
            fprintf(fp , "%d" ,op1);
            op='|';
            fprintf(fp , "%c" ,op);
            op1 = 2 + rand() % 98;
            fprintf(fp , "%d" ,op1);
        }
        while(operate>0){
            op2=rand() % 4;
            switch(op2){
            case 0:
                op = '+';
                break;
            case 1:
                op = '-';
                break;
            case 2:
                op = '*';
                break;
            case 3:
                op = '/';
                break;
            }
            operate--;
            fprintf(fp , "%c" , op );
     
            if(len-operate==brac1 && exibrac == 1){
                op = '(';
                fprintf(fp , "%c" , op );
                brac2 = brac1 + 1 + rand() % (len-brac1-1);
            }
    //1+(2+3+4
            op1 = rand() % 100;
            op0 = rand() % 2;
            if(op0==0){
                fprintf(fp , "%d" ,op1);
            }
            else
            {
                fprintf(fp , "%d" ,op1);
                op='|';
                fprintf(fp , "%c" ,op);
                op1 = 2 + rand() % 98;
                fprintf(fp , "%d" ,op1);
            }
            if(len-operate==brac2){
                op = ')';
                fprintf(fp , "%c" , op );
            }
        }
        fclose(fp);
    }
  • 相关阅读:
    Mac下终端常用命令
    mac上完整卸载删除.简单粗暴无脑:androidstudio删除方案
    Mac版 Intellij IDEA 激活
    解决Pods Unable to find a specification for `xxxxx`问题
    java并发编程(十五)内存可见两种方式 加锁和volatile
    java并发编程(五)正确使用volatile
    java并发编程(十四)同步问题的内存可见性
    java并发编程(十三)经典问题生产者消费者问题
    java并发编程(十三)线程间通信中notifyAll造成的早期通知问题
    java并发编程(十一)线程间的通信notify通知的遗漏
  • 原文地址:https://www.cnblogs.com/13070037Yu/p/5348026.html
Copyright © 2011-2022 走看看