我新的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