我新的C++,并在大学课程学习它,我们刚刚启动的功能,这是我与他们打交道的第一实验室。我在switch语句中一直收到每个case的这个错误,我不知道如何纠正它。错误:参数太少运作
error: too few arguments to function 'void addFraction(int, int, int, int)'
#include <iostream>
#include <cstdlib>
using namespace std;
void clearScreen();
void printMenu();
void getFraction(int&, int&);
void addFraction(int, int, int, int);
void subFraction(int, int, int, int);
void mulFraction(int, int, int, int);
void divFraction(int, int, int, int);
//void reducFraction(int &, int &);
int main()
{
clearScreen();
printMenu();
return 0;
}
//Function clears the screen
void clearScreen()
{
cout << string(50, '\n');
}
//Function prints a menu to the screen
void printMenu()
{
int menu;
cout << "Fraction Calculator\n";
cout << "\n";
cout << "1. Add Fraction\n";
cout << "2. Subtract Fraction\n";
cout << "3. Multiply Fraction\n";
cout << "4. Divide Fraction\n";
cout << "5. Quit\n";
cout << ":";
cin >> menu;
//Switch statement that drive the menu
switch (menu)
{
case '1': addFraction();
break;
case '2': subFraction();
break;
case '3': mulFraction();
break;
case '4': divFraction();
break;
case '5': exit(0);
break;
default: {
cout << endl << "Invalid choice\n" << endl;
printMenu();
}
}
}
void addFraction(int f1n, int f1d, int f2n, int f2d)
{
clearScreen();
getFraction(f1n, f1d);
getFraction(f2n, f2d);
int fan, fad;
fan = (f1n * f2d) + (f2n * f1d);
fad = (f1d * f2d);
//reducFraction();
cout << fan << endl << "---" << endl << fad;
}
void subFraction(int f1n, int f1d, int f2n, int f2d)
{
clearScreen();
getFraction(f1n, f1d);
getFraction(f2n, f2d);
int fan, fad;
fan = (f1n * f2d) - (f2n * f1d);
fad = (f1d * f2d);
//reducFraction();
cout << fan << endl << "---" << endl << fad;
}
void mulFraction(int f1n, int f1d, int f2n, int f2d)
{
clearScreen();
getFraction(f1n, f1d);
getFraction(f2n, f2d);
int fan, fad;
fan = (f1n * f2n);
fad = (f1d * f2d);
//reducFraction();
cout << fan << endl << "---" << endl << fad;
}
void divFraction(int f1n, int f1d, int f2n, int f2d)
{
clearScreen();
getFraction(f1n, f1d);
getFraction(f2n, f2d);
int fan, fad;
fan = (f1n * f2d);
fad = (f2n * f1d);
//reducFraction();
cout << fan << endl << "---" << endl << fad;
}
void getFraction(int& numerator, int& denominator)
{
cout << "Please enter a numerator: ";
cin >> numerator;
cout << "Please enter a denominator: ";
cin >> denominator;
while(denominator == 0)
{
cout << "Invalid denominator! Enter a new one: ";
cin >> denominator;
}
clearScreen();
}
要调用的所有功能,而不给他们任何数字上 – user7
工作在你的switch语句尝试调用的函数,而无需指定四个参数的函数需要:即你只需要调用'addFraction();'。你需要获得一些值作为参数传递...也许从键盘/'std :: cin',或硬编码的东西开始.... –
我可以做什么像'addFraction(0,0,0,0)'? – dbs1crew