四則運算自動生成


一、題目要求#

1、能夠自動生成四則運算練習題
2、可以定制題目數量
3、用戶可以選擇運算符
4、用戶設置最大數(如十以內、百以內等)
5、用戶選擇是否有括號、是否有小數
6、用戶選擇輸出方式

二、編譯工具

CodeBlocks

三、結對伙伴

姓名 班級 代碼地址
牛斌帥 1605班 https://git.dev.tencent.com/INBSI/sizeyunsuanti.git
房旭 1604班 https://git.dev.tencent.com/dtid_85494e5bcaedfaa6/jieduibianchengsizeyunsuan.git

四、編程過程

在編程過程中我們也遇到了種種問題並進行解決

1、將括號判斷語句的位置進行了移動,解決了混合運算需要每次進行判斷括號的bug;

解決前:

解決后:

2,解決隨機數小數只是0.xx而無法生成x.xx的形式問題。

解決前:

解決后:

3、解決最大值只能為10/100的不夠靈活問題。

解決前:

   printf("設置最大數(若為0,最大數為10,若不是,最大數為100):");
   scanf("%d",&max);
   printf("是否含有小數(0不是,其他數是):");
   scanf("%d",&cent);
   printf("選擇練習運算的運算符(1為加,2為減,3為乘,4為除,5為混合運算(含括號或不含括號)):");
   scanf("%d",&symbol);
   printf("是否輸出到文件中:(0為不輸出到文件中,否則為輸出到文件中)");
   scanf("%d",&file);


   for(int i=0;i<practice_num;i++)
   {
   	fflush(stdin);  //清除文件緩沖區,文件以寫方式打開時將緩沖區內容寫入文件
   	if(cent==0)
   	{
          if(max==0)
   	   {
            a=rand()%10;  //獲得0~9的一個隨機數
            b=rand()%10+1;
            c=rand()%10;
            d=rand()%10+1;
   	   }
          if(max!=0)
   	   {
            a=rand()%100;
            b=rand()%100+1;
            c=rand()%100;
            d=rand()%100+1;
   	   }
   	}
       else
   	{
          if(max==0)
   	   {
            a=rand()%10*0.01;
            b=rand()%10+1;
            c=rand()%10*0.01;
            d=rand()%10*0.01;
   	   }
          if(max!=0)
   	   {
            a=rand()%100*0.01;
            b=rand()%100+1;
            c=rand()%100*0.01;
            d=rand()%100*0.01;
   	   }
   	}

解決后:

if(cent==0)     //判定為整數
		{
           a=rand()%max;
           b=rand()%max;
           c=rand()%max;
           d=rand()%max;
		}
        else            //小數
		{

             a=rand()/(double)(RAND_MAX/max);
             b=rand()/(double)(RAND_MAX/max);
             c=rand()/(double)(RAND_MAX/max);
             d=rand()/(double)(RAND_MAX/max);
		}

4、解決隨機數生成種子不變問題。

#include<time.h>
srand(time(NULL));

5、解決輸入無效運算符提示問題。

解決前:

解決后:

6、成功錄入文件提示更清晰。

解決前:

解決后:

五、結對感受

在這一次結對編程作業中
我主要充當領航員的作用,我的同伴充當着駕駛員的作用。
我的同伴主要是對程序進行編碼,然后由我來后期調試。
在結對編程中我發現我們能夠更加專注,並提高解決問題的效率
而且減少了錯誤的發生,要知道錯誤發現的越早,修復成本越低
更不用提無形中促進了個人知識的提高與傳遞
友誼也在不知不覺中鞏固


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM