2013-04-24 118 views
0

我有一個這樣的枚舉器,你從一個結構體中讀取enum {PASSING,FAILING} 它的意思是顯示失敗或者通過..但是,我得到了(狀態Failing0)(狀態PASSING1)作爲最終輸出, ...任何人都知道爲什麼1和0顯示出來?關於該怎麼做的任何提示?從結構讀取枚舉器顯示?

if(info[i].average <70) 
{ 
info[i].status = FAILING; 
} 
else 
{ 
info[i].status = PASSING; 
} 
switch(info[i].status) 
{ 
case FAILING: cout << "Status FAILING";// <<endl; 
break; 
case PASSING: cout << "Status PASSING";// <<endl; 

} 
cout << info[i].status <<endl; 
+2

因爲你打印此行'的cout <<信息[I] .STATUS << ENDL;' – billz 2013-04-24 23:59:57

+0

因爲我打印出該行的任何我如何打印失敗或傳遞? – user2316289 2013-04-25 00:56:36

回答

0

製作地圖:

#include <string> 
#include <map> 

enum TheEnumType { PASSING, FAILING }; 

std::map<TheEnumType, std::string> enum_names = { { PASSING, "Passing" }, 
                { FAILING, "Failing" } }; 

std::cout << enum_names[info[i].status]; 
+0

thx克雷克今天學到了新東西 – user2316289 2013-04-25 01:48:58