2017-02-04 105 views
0

我正在學習C++,第一個學期的學生,C++:問題與循環師

我試圖劃分2個陣列中環和存儲其在第三陣列結果,這不是working.All除了師等操作工作以下是我的代碼

#include<iostream> 
using namespace std; 
int main(){ 
int arr[6]={10,20,30,40,50,06}; 
int arr2[6]={10,20,20,30,40,50}; 
int input; 
cout<<"please enter 1 for addition.... "<<endl; 
cout<<"please enter 2 for subtraction.... "<<endl; 

cout<<"please enter 3 for multiplication.... "<<endl; 
cout<<"please enter 4 for division.... "<<endl; 
cout<<"please enter 5 for %age...."<<endl; 
cin>>input; 
float arr3[6]; 

int i,j,k,l,m; 

switch(input){ 
case 1: 
for(i=0;i<6;i++){ 

arr3[i]=arr[i]+arr2[i] ; 
    cout<<arr3[i]<<endl; 

} 
break; 
case 2: 
for(j=0;j<6;j++){ 
    arr3[j]=arr[j]-arr2[j]; 
    cout<<arr3[j]<<endl; 

    } 
    break; 
case 3: 
for(k=0;k<6;k++){ 
    arr3[k]=arr[k]*arr2[k]; 
    cout<<arr3[k]<<endl; 

} 
break; 
case 4: 
for(l=0;l<6;l++){ 
    arr3[l]=arr[l]/arr2[l]; 
    cout<<arr3[l]<<endl; 

} 
break; 
case 5: 
for(m=0;m<6;m++){ 
    arr3[m]=arr[m]/(arr[m]+arr2[m]); 
    cout<<arr3[m]<<endl; 

} 
break; 
} 

} 

的分頻輸出:

1 
1 
1 
1 
1 
0 

我累了設置其數據類型作爲dobule和浮動兩種,但它不是工作需要你的幫助,請。

回答

0

您需要在分割之前先對操作數進行投射,否則將使用整數除法,該除法的小數點被削掉。用C風格的轉換,它看起來像:

arr3[l]= (double)arr[l]/(double)arr2[l]; 

注意,C++有自己鑄造的語法,但它已經一段時間,因爲我用他們,不記得他們完全是。我認爲它看起來像:

arr3[l] = static_cast<double>(arr[l]) 
     /static_cast<double>(arr2[l]); 
+0

非常感謝你....我得到了我的答案。 –