2016-11-18 75 views
-2
char carInsuranceCode; 

string getCarInsuranceCode; 

string CarInsuranceInformation::getCarInsuranceCode(char carInsuranceCode) 
{ 
    switch(carInsuranceCode) 
    { 
     case '1': cout << "AllState"; 
     case '2': cout << "Geico"; 
     case '3': cout << "StateFarm"; 
     case '4': cout << "E-Insureance"; 
     default: cout << "Other"; 
     break;       
    } 

} 

void CarInsuranceInformation::printCarInsuranceInformation(void) 
{ 
    cout << "- - - - CAR INSURANCE INFORMATION - - - "  << endl; 
    cout << "Insurance Code: "<< getCarInsuranceCode()  << endl; 
} 

這是在頭文件中完成的,並且不會輸入到printCarInsuranceInformation中。據說char不想在switch語句中轉換爲字符串。該分配必須將字符輸入轉換爲指定的字符串。開關語句不將字符輸入轉換爲字符串輸出

謝謝。

+1

只是擡頭!當前的代碼會有[case fall-through](http://stackoverflow.com/questions/8146106/does-case-switch-work-like-this)。 – Obicere

+0

@Obicere是的,它需要cout。例如,如果用戶要輸入1作爲他們的carInsuranceCode,輸出應該說: – HelpMePlease123

+0

- - - 汽車保險信息 - - - – HelpMePlease123

回答

1

getCarInsuranceCode可以實現的方式有兩種:

1)它可以返回保險人,並調用它的代碼將負責輸出它。

2)它可以輸出保險人,並且調用它的代碼不應該嘗試輸出它。

看來你做了一半的另一半 - 這是行不通的。

也許這就是你想要的東西,使用選項1:

string CarInsuranceInformation::getCarInsuranceCode(char carInsuranceCode) 
{ 
    switch(carInsuranceCode) 
     { 
     case '1': return "AllState"; 
     case '2': return "Geico"; 
     case '3': return "StateFarm"; 
     case '4': return "E-Insureance"; 
     default: return "Other"; 
     } 
} 
+0

我需要的只是輸入(1,2, 3或4)並輸出保險人。雖然,它不會將字符轉換爲字符串。我怎樣才能做到這一點? – HelpMePlease123

+0

@ HelpMePlease123我在我的答案中解釋了兩種方法。你看到你需要從這兩種方式中選擇一種嗎?你看到你在上面粘貼的代碼中沒有這樣做嗎? –

+0

@DavidSchwarts 1)它可能會退回保險公司,並且調用它的代碼將負責輸出它。 < - 那麼我怎麼能夠實現這一個呢? – HelpMePlease123

0

從你給什麼,這個代碼不應該編譯。

  1. 正如@大衛施瓦茨說,return代替cout是必要的。

  2. 您致電getCarInsuranceCode()沒有任何說法。

相關問題