日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

软件工程个人作业03

發布時間:2025/6/17 编程问答 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 软件工程个人作业03 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

設計思想:

利用結果判斷,若錯誤則輸出“錯誤!”

正確則輸出“正確!”同時進行計數!

程序源代碼:

?

#include<iostream> #include<ctime> #include<cstdlib> using namespace std; void Out(int x,int x0,int y,int y0,int z,int z0,int &i,int j,int n,int m0,int &j0){switch(z0){//判斷整數或分數case 0:{int answer,answer0;switch(z){//運算法則判斷case 0:{answer=x+y;if(j==2){if(answer>=0){cout<<n<<" ("<<x<<")"<<" + "<<"("<<y<<")"<<" =";cin>>answer0;if(answer==answer0){cout<<" 正確!"<<endl;j0++;}else{cout<<" 錯誤!"<<endl;}}else{i--;}}else{cout<<n<<" ("<<x<<")"<<" + "<<"("<<y<<")"<<" =";cin>>answer0;if(answer==answer0){cout<<" 正確!"<<endl;j0++;}else{cout<<" 錯誤!"<<endl;}}break;}case 1:{answer=x-y;if(j==2){if(answer>=0){cout<<n<<" ("<<x<<")"<<" - "<<"("<<y<<")"<<" =";cin>>answer0;if(answer==answer0){cout<<" 正確!"<<endl;j0++;}else{cout<<" 錯誤!"<<endl;}}else{i--;}}else{cout<<n<<" ("<<x<<")"<<" - "<<"("<<y<<")"<<" =";cin>>answer0;if(answer==answer0){cout<<" 正確!"<<endl;j0++;}else{cout<<" 錯誤!"<<endl;}}break;}case 2:{answer=x*y;cout<<n<<" ("<<x<<")"<<" * "<<"("<<y<<")"<<" =";cin>>answer0;if(answer==answer0){cout<<" 正確!"<<endl;j0++;}else{cout<<" 錯誤!"<<endl;}break;}case 3:if(y!=0){//防止出現除數為零的情況if(m0==2){if(x%y==0)//余數判斷(該操作可能會降低除法概率,,) {answer=x/y;cout<<n<<" ("<<x<<")"<<" / "<<"("<<y<<")"<<" =";cin>>answer0;if(answer==answer0){cout<<" 正確!"<<endl;j0++;}else{cout<<" 錯誤!"<<endl;}}elsei--;}if(m0==1){cout<<n<<" ("<<x<<")"<<" / "<<"("<<y<<")"<<" =";}}elsei--;break;}break;}case 1:{char answer0[8];char answer[8];int mu,zi,q;if(x0!=0&&y0!=0){switch(z){//運算法則判斷case 0:{mu=x0*y0;zi=x*y0+y*x0;if(mu>zi){for(q=zi;q>1;q--){if(mu%q==0&&zi%q==0){mu=mu/q;zi=zi/q;}}}else{for(q=mu;q>1;q--){if(mu%q==0&&zi%q==0){mu=mu/q;zi=zi/q;}}}sprintf(answer,"%d/%d",zi,mu);cout<<n<<" ("<<x<<"/"<<x0<<")"<<" + "<<"("<<y<<"/"<<y0<<")"<<" =";cin>>answer0;if(strcmp(answer,answer0)==0){cout<<" 正確!"<<endl;j0++;}else{cout<<" 錯誤!"<<endl;}break;}case 1:{mu=x0*y0;zi=x*y0-y*x0;for(q=zi;q>1;q--){if(mu%q==0&&zi%q==0){mu=mu/q;zi=zi/q;}}sprintf(answer,"%d/%d",zi,mu);cout<<n<<" ("<<x<<"/"<<x0<<")"<<" - "<<"("<<y<<"/"<<y0<<")"<<" =";cin>>answer0;if(strcmp(answer,answer0)==0){cout<<" 正確!"<<endl;j0++;}else{cout<<" 錯誤!"<<endl;}break;}case 2:{mu=x0*y0;zi=x*y;for(q=zi;q>1;q--){if(mu%q==0&&zi%q==0){mu=mu/q;zi=zi/q;}}sprintf(answer,"%d/%d",zi,mu);cout<<n<<" ("<<x<<"/"<<x0<<")"<<" * "<<"("<<y<<"/"<<y0<<")"<<" =";cin>>answer0;if(strcmp(answer,answer0)==0){cout<<" 正確!"<<endl;j0++;}else{cout<<" 錯誤!"<<endl;}break;}case 3:{if(y!=0)//防止出現除數為零的情況 {mu=x0*y;zi=x*y0;if(mu>zi){for(q=zi;q>1;q--){if(mu%q==0&&zi%q==0){mu=mu/q;zi=zi/q;}}}else{for(q=mu;q>1;q--){if(mu%q==0&&zi%q==0){mu=mu/q;zi=zi/q;}}}sprintf(answer,"%d/%d",zi,mu);cout<<n<<" ("<<x<<"/"<<x0<<")"<<" / "<<"("<<y<<"/"<<y0<<")"<<" =";cin>>answer0;if(strcmp(answer,answer0)==0){cout<<" 正確!"<<endl;(j0)++;}else{cout<<" 錯誤!"<<endl;}}elsei--;break;}}}elsei--;break;}} } void Judje(int &x,int &x0)//保證真分數以及最簡分數 {int m,i1;if(x>x0){//保證x<x0即保證為真分數m=x;x=x0;x0=m;}for(i1=x0;i1>1;i1--){//保證為最簡分數if(x%i1==0&&x0%i1==0){x=x/i1;x0=x0/i1;}} } void main(){int x,x0,y,y0,z,z0,j,n,n0,m,m0=0;//定義變量int num,max,min;int j0=0;cout<<"請輸入隨機數范圍(先最小值,后最大值)"<<endl;cin>>min;cin>>max;cout<<"請輸入加減是否有負數:1、有;2、沒有"<<endl;cin>>j;cout<<"請輸入是否要有乘除法:1、有;2、沒有"<<endl;cin>>m;if(m==1){cout<<"請輸入除法是否有余數(分數不做區別):1、有;2、沒有"<<endl;cin>>m0;}cout<<"請輸入需要打印的題目數量(大于等于1):"<<endl;cin>>num;int *a=new int[num*5];//定義數組存儲運算srand(time(0));//定義時間種子int i=0;if(min<0&&j==2)min=0;x = rand()%(max-min+1)+min;//產生隨機數x0 = rand()%(max-min+1)+min;y = rand()%(max-min+1)+min;y0 = rand()%(max-min+1)+min;if(m==1)z = rand()%(3-0+1)+0;if(m==2)z = rand()%(1-0+1)+0;z0 = rand()%(1-0+1)+0;//用于判斷整數運算與分數運算} Judje(x,x0);Judje(y,y0);cout<<"序號"<<endl;n=1;Out(x,x0,y,y0,z,z0,i,j,n,m0,j0);a[0]=x;a[1]=x0;a[2]=y;a[3]=y0;a[4]=z;for(i=1;i<num;i++)//利用FOR循環進行剩余輸出 {n=i+1;n0=i*5;x = rand()%(max-min+1)+min;//產生隨機數x0 = rand()%(max-min+1)+min;y = rand()%(max-min+1)+min;y0 = rand()%(max-min+1)+min;if(m==1)z = rand()%(3-0+1)+0;//運算符if(m==2)z = rand()%(1-0+1)+0;z0 = rand()%(1-0+1)+0;//用于判斷整數運算與分數運算} Judje(x,x0);Judje(y,y0);a[n0]=x;a[n0+1]=x0;a[n0+2]=y;a[n0+3]=y0;a[n0+4]=z;if(x!=x0&&y!=y0&&x0!=1&&y0!=1){//防止出現在x=x0時輸出依舊為x/x0格式以及分母為一的情況if(a[n0]!=a[n0-5]||a[n0]!=a[n0-4]||a[n0]!=a[i-3]||a[n0]!=a[n0-2]||a[n0]!=a[n0-1])//題目避免重復 {Out(x,x0,y,y0,z,z0,i,j,n,m0,j0);}}elsei--;}cout<<"共答對"<<j0<<"道題目!"<<endl;delete []a; }

?

運行結果截圖:

周活動總結表

尚曉朋 ? ?2016/3/26

?聽課代碼讀書總計
星期一100min42行構建之法第3章三小時20分鐘
星期二????
星期三?45行?兩個小時
星期四????
星期五?30行?兩個小時
星期六???五個小時30分鐘
總計100min??12小時50分鐘

時間記錄日志

日期開始時間結束時間活動備注
3.21

8:00

19:25

9:50

21:05

聽課

寫代碼

上課

寫代碼,理思路

3.2319:1521:15寫代碼刪代碼兩個小時
3.2519:3521:30寫代碼,改錯兩個小時
3.26

14:20

19:00

17:25

21:30

寫程序五個小時30分鐘

缺陷記錄日志

日期編號類型引入階段排除階段修復時間修復缺陷
3.211?編碼編譯30分鐘?
修改了課上沒做好的部分并完成了課堂測試
3.262?編碼編譯一直被這個問題卡住?
對分數運算結果判定時出現錯誤!

附錄:

關于多位數的運算,實現了多位數計算以及對結果的判斷,但是無法移植到原程序中。

源代碼:

#include<iostream> #include<ctime> #include<cstdlib> using namespace std; void Duo(int min,int max,int &answer) {int a,b;a=rand()%(max-min+1)+min;b=rand()%(3-0+1)+0;switch(b){case 0:{answer=answer+a;cout<<"+"<<a<<")";break;}case 1:{answer=answer-a;cout<<"-"<<a<<")";break;}case 2:{answer=answer*a;cout<<"*"<<a<<")";break;}case 3:{answer=answer/a;cout<<"/"<<a<<")";break;}}} void main() {int answer;int min,max;srand(time(0));//定義時間種子cout<<"輸入范圍下界與范圍上界:"<<endl;cin>>min>>max;int x,w;x=rand()%(max-min+1)+min;answer=x;w=rand()%(10-1+1)+1;for(int i=1;i<=w;i++){cout<<"(";}cout<<x;for(int i=1;i<=w;i++){Duo(min,max,answer);}cout<<"="<<answer<<endl; }

(2016.3.27)

?

轉載于:https://www.cnblogs.com/dawn-sky/p/5323172.html

總結

以上是生活随笔為你收集整理的软件工程个人作业03的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。