두 분수를 더하거나 뺄 때 더하기 및 빼기 함수의 결과를 표시하려고합니다. 그러나 두 분수를 입력 할 때마다 결과가 표시되지 않습니다. 그냥 "계속하려면 아무 키나 누르십시오"행으로 바로갑니다. 나는 누군가가 저를 해결책에 인도 할 수 있는지 궁금 해서요. 나를 위해 일하는 것이 반드시 필요한 것은 아니지만 몇 가지 힌트가 큰 도움이 될 것입니다. 나는 내 코드를보고, 인터넷을 사용하여 리소스를 찾고, C++ 책을보고 약간의 도움을 얻어 언젠가 이것을 알아 내려고 노력 해왔다. 나는 디스플레이 기능에서 뭔가 잘못하고 있다고 확신한다. 시간 내 주셔서 감사합니다.표시 기능에 더하기 및 빼기 함수의 출력을 표시하려고합니다.
#include <iostream>
using namespace std;
void info();
void input (int ,int ,int ,int ,int , int,char, char);
int add (int,int,int,int,int,int,char,char);
int subtract(int,int,int,int,int,int,char, char);
void display();
int main()
{ int num1,den1,num2,den2,num_result, den_result;
char fraction_char;
char operation;
info();
input (num1,den1,num2,den2,num_result,den_result,fraction_char, operation);
add (num1,den1,num2,den2,num_result,den_result,fraction_char, operation);
subtract(num1,den1,num2,den2,num_result,den_result,fraction_char,operation);
display();
return 0;
}
void info()
{ cout<<"Please follow instructions carefully."<<endl;
cout<<"Enter your operation like 1/2 + 1/4"<<endl;
cout<<"You must enter a valid operation."<<endl;
cout<<"Enter % operator to stop the program (0/1 % 0/1)"<<endl;
}
void input (int num1,int den1,int num2,int den2,int num_result, int den_result,char fraction_char, char operation)
{ cout<<"Please enter your operation."<<endl;
cin>>num1>>fraction_char>>den1>>num2>>fraction_char>>den2;
}
int add (int num1,int den1,int num2,int den2,int num_result,int den_result,char fraction_char, char operation)
{ int addition_answer;
if(operation== '+')
{ num_result = (num1*den2) + (num2*den1);
den_result = den1*den2;
addition_answer = num_result/den_result;
}
return addition_answer;
}
int subtract(int num1,int den1,int num2,int den2,int num_result,int den_result, char fraction_char, char operation)
{ int subtraction_answer;
if (operation == '-')
{ num_result = (num1*den2) - (num2*den1);
den_result = den1*den2;
subtraction_answer= num_result/den_result;
}
return subtraction_answer;
}
void display()
{
int num1,den1,num2,den2,num_result,den_result,fraction_char,operation;
int fraction_added = add (num1,den1,num2,den2,num_result,den_result,fraction_char,operation);
int fraction_subtracted = subtract(num1,den1,num2,den2,num_result,den_result,fraction_char,operation);
if (operation== fraction_added)
{
cout<<"Your answer is: "<<add;
}
else if (operation== fraction_subtracted)
{
cout<<"You answer is: "<<subtract;
}
add(num1,den1,num2,den2,num_result,den_result,fraction_char,operation);
subtract(num1,den1,num2,den2,num_result,den_result,fraction_char,operation);
}
디스플레이에 초기화하지 않고 조작을 사용 중입니다. 또한 왜 어쨌든 디스플레이에서 계산을하려고합니까? display()에는 매개 변수가 필요합니다. – drescherjm
답장을 보내 주셔서 감사합니다. 알아 냈습니다. :) –