2011-08-25 5 views
0

도와 주실 수 있습니까? 나는 한 시간이 넘도록 머리를 숙이고 일하기가 어렵다. 이 C++에 내가 조금 학습 봤는데하지만, 난 여전히 새로운 해요 ... 나는 연금을위한 수학 방정식을 풀 수있는 간단한 프로그램을 만들기 위해 콘솔 응용 프로그램을 작성하는 데 어려움을 겪고 있습니다.

int main() 
{ 
double rate, amount,time, S; 

    cout << "Insert the time of the super: "; 
    cin >> time; 

    cout << "Insert the rate (as a decimal, eg 1% AKA 101% = 1.01): "; 
    cin >> rate; 

    cout << "Insert the amount $: "; 
    cin >> amount; 

    S =("amount * (rate^time - 1)", pow(rate,time)); 
    cin >> S; 

    cout << "The total amount is: " << "S /(rate - 1)" << endl; 

    system("PAUSE"); 
    return 0; 
} 

내가 컴파일 오류가 해달라고하지만 난

답변

4

그것에서 답을 얻을 수 없다 당신이 입력 당신을 위해 다른 번호를 기다리고 라인

cin >> S; 

다시 그것에 할당 한 후 쉼표 연산자 불확실성과 pow의 결과 S를 설정하고 있기 때문에 당신은 "결과를 얻을 수 없다."

두 가지 주요 문제점이 있습니다. 여기에 변경된 부분에 대한 의견과 함께 업데이트 된 코드 :

int main() 
{ 
    double rate, amount,time, S; 

    cout << "Insert the time of the super: "; 
    cin >> time; 

    cout << "Insert the rate (as a decimal, eg 1% AKA 101% = 1.01): "; 
    cin >> rate; 

    cout << "Insert the amount $: "; 
    cin >> amount; 

    S = amount * pow(rate, time - 1); // take away the quotes and don't make pow seperate 

    cout << "The total amount is: " << (S /(rate - 1)) << endl; // do the calculation and output it 

    system("PAUSE"); 
    return 0; 
} 

따옴표 "like this" 내부 상황이 너무 "4 * 4" 문자열하지만 4 * 4 (따옴표가없는 참조)가 않습니다이며, 문자열 리터럴 기억 수 16를 산출 곱셈 .

+0

나는 pow (rate, time - 1) 대신에 pow (rate, time - 1)로 그룹화되어 있다고 생각합니다 - 1. 그래도. – templatetypedef

+0

@ 템플리트 예. 네가 맞다고 생각해. 그런 식으로 보일거야. –

0

나는 당신이 그것을하고있는 방식으로 값을 할당해야한다고 생각하지 않는다. S는 double로 선언되고 처음에는 문자열을 집어 넣고 있습니다. 결과를 출력 할 때 계산을 따옴표로 묶습니다. 당신은 간단하게 < < S/(속도 -1);// 따옴표 또는 따옴표없이 단순히 문자열을 출력합니다

+0

그는 문자열을 할당하지 않았으며,'pow'가 double을 반환하고 쉼표 연산자가 첫 번째 표현식을 "버리기"때문에 double을 할당했습니다. –

+0

@seth Carnegie 정정을 보내 주셔서 감사합니다! – Icarus

관련 문제