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);
    }
  • 相关阅读:
    程序化广告交易中的点击率预估
    C++(三十七) — 字符串的函数重载—案例
    C++(三十六) — 等号操作符重载、&&,||不可重载
    C++(三十五) — 运算符重载
    C++(三十四) — 友元函数、友元类
    C++(三十三) — 全局函数、成员函数的区别
    C++(三十二) — 常对象、常成员变量、常成员函数
    C++(三十一) — 静态成员变量、静态成员函数
    C++(三十) — this 指针
    C++(二十九) — new 和 delete
  • 原文地址:https://www.cnblogs.com/13070037Yu/p/5348026.html
Copyright © 2011-2022 走看看