2014-04-07 7 views
0

for 루프를 사용하여 사용자가 값을 입력하는 클래스 용 프로그램을 작성했으며 루프 카운터, 입력 한 쇼 번호가있는 테이블을 제공합니다 , 및 제품. 각 열에있는 모든 10 개의 숫자의 합계를 각 끝에 표시하도록 노력하고 있습니다. 각 열을 합산하고 그 아래에 표시하는 방법이 다소 혼란 스럽습니다. 어떤 도움이 좋을 것입니다! Visual Studio Express 2012를 사용하고 있습니다.를 사용하여 기존 출력의 3 열 합계를 얻는 방법 <iomanip>

#include <iostream> 
#include <iomanip> 
using namespace std; 

int main() 
{ 

int input; 

cout << "Enter Value: "; 
cin >> input; 
cout << "Loop Counter" << setw(20) << "Number Entered" << setw(14) << "Product" << endl; 

for(int counter = 1; counter <= 10; counter++) 

{ 
    int product = input * counter; 

    if (product < 10 && counter != 10) 
     cout << setw(6) << counter << setw(17) << input << setw(17) << product << endl; 
    else if (product > 10 && counter != 10) 
     cout << setw(6) << counter << setw(17) << input << setw(18) << product << endl; 
    else 
     cout << setw(7) << counter << setw(16) << input << setw(18) << product << endl; 
} 
cout<<setfill('_')<<setw(45)<<"_"<<endl; 
} 
+0

을하고 표시된 것보다 다른 어떤 일 : – FoggyDay

+0

호출 [여기] (http://ideone.com/EHWjx7) 너 기대하니? –

+0

@FoggyDay'printf()'가 필요 없습니다 ... –

답변

0

별도의 변수로 열 값을 합산해야합니다. 다음과 같이 코드를 변경 : "()의 printf를"난 그냥 사용하는 것, 솔직히

#include <iostream> 
#include <iomanip> 
using namespace std; 

int main() { 

    int input = 0; 

    cout << "Enter Value: "; 
    cin >> input; 
    cout << "Loop Counter" << setw(20) << "Number Entered" << setw(14) << "Product" << endl; 

    int counterSum = 0; 
    int inputSum = 0; 
    int productSum = 0; 
    for(int counter = 1; counter <= 10; counter++) { 
     int product = input * counter; 

     if (product < 10 && counter != 10) 
      cout << setw(6) << counter << setw(17) << input << setw(17) << product << endl; 
     else if (product > 10 && counter != 10) 
      cout << setw(6) << counter << setw(17) << input << setw(18) << product << endl; 
     else 
      cout << setw(7) << counter << setw(16) << input << setw(18) << product << endl; 
     counterSum += counter; 
     inputSum += input; 
     productSum += product; 
    } 
    cout<<setfill('_')<<setw(45)<<"_"<<endl; 
    cout << setfill(' ') << setw(7) << counterSum << setw(16) << inputSum << setw(18) << productSum << endl; 
}