2016-05-06 6 views
-3

だから、まずログインしてから、私は社員を選ぶでしょうが、それはいつも私に給与を与えます。私はコードワイズを台無しにしたのか、それとも私が使っているばかげたオンラインIDEなのか分かりません。まあ、誰もが知っている場合は、ここでそれは...なぜ私は従業員を言っても、これは従業員ではなく給与計算として継続していますか?


#include <iostream> 
#include <string> 
#ifndef en 
#define en std::endl 
#endif 

using namespace std; 

void login() { 
    //Basic login program 
    string correctPass = "Love"; 
    string attemptPass; 
    cout << "Please insert password" << en; 
    cin >> attemptPass; 
    if (attemptPass == correctPass) { 
     cout << "Access Granted" << en << en; 
    } else { 
     login(); 
    } 
} 

void mainMenu() { 
    void employees(); 
    void payroll(); 
    cout << en << "MAIN MENU" << en << en << "Payroll" << en << "Employees" << en << en; 
    string mainMenuOption; 
    cin >> mainMenuOption; 
    if (mainMenuOption == "Payroll" || "payroll") { 
    payroll(); } 
    else if (mainMenuOption == "Employees" || "employees") { 
    employees(); } 
    else { 
    mainMenu(); } 
} 

void payroll(){ 
    cout << en << "WELCOME TO PAYROLL" << en << "-----------------" << en << "fish" << en; 
} 

void employees(){ 
    cout << en << "WELCOME TO EMPLOYEES" << en << "-----------------" << en << "eleven" << en; 
} 

int main() { 
    login(); 
    mainMenu(); 

    return 0; 
} 

である私が教えてください台無し方法です!ありがとう!

+5

を '' ||のあなたの使い方が間違っています。 – drescherjm

+4

'mainMenuOption =="給与計算 "|| "payroll" '=>' mainMenuOption == "給与計算" || mainMenuOption == "payroll" ' – NathanOliver

+1

' int main'にする必要があります –

答えて

5

コメントに記載されています。あなたの比較は正しくはありません。

アドバイス:using namespace stdこちらを参照してください:Why is “using namespace std” in C++ considered bad practice?std::endl(flush()など)の利点が本当に必要な場合以外は、std::endlの代わりに\nを使用してパフォーマンスを向上させてください。

また、関数呼び出しには戻り値の型は含まれません。 payroll()を呼び出すには、あなただけのこれは動作するはずpayroll;なくvoid payroll();

使用:

# include <iostream> 
# include <string> 
# ifndef en 
#define en std::endl 
#endif 

void login() 
{ 
    //Basic login program 
    std::string correctPass = "Love"; 
    std::string attemptPass; 

    std::cout << "Please insert password:\n"; 
    std::cin >> attemptPass; 

    if (attemptPass == correctPass) 
     std::cout << "Access Granted\n\n"; 
    else 
     login(); 
} 

void mainMenu() 
{ 
    employees(); 
    payroll(); 

    std::cout << "\nMAIN MENU\n\nPayroll\nEmployees\n\n"; 
    std::string mainMenuOption; 
    std::cin >> mainMenuOption; 

    if (mainMenuOption == "Payroll" || mainMenuOption == "payroll") 
     payroll(); 
    else if (mainMenuOption == "Employees" || mainMenuOption == "employees") 
      employees(); 
     else 
      mainMenu(); 
} 

void payroll() 
{ 
    std::cout << "\nWELCOME TO PAYROLL\n-----------------\nfish\n"; 
} 

void employees() 
{ 
    std::cout << "\nWELCOME TO EMPLOYEES\n-----------------\neleven\n"; 
} 

int main() 
{ 
    login(); 
    mainMenu(); 

    return 0; 
} 
+0

あなたがそれをしている間にインデントを修正してください。 –

+0

あなたは関数呼び出しについて間違っています。それらは実際には普通ではない場所の前方宣言です – pm100

+0

@pm私はプロトタイプについて考えましたが、彼がそれで何を意味するのかは分かりません –

関連する問題