所以我試圖讓可口可樂機器打印出什麼用戶選擇飲用。 基本上,我wan't用戶輸入如「可口可樂」作爲一個字符串的話,那麼我認爲轉換成char類型和使用,用if語句。試圖打印出匹配的字符變量來清點
但是當我運行我的代碼,這是行不通的。
#include <iostream>
#include <string>
#include <sstream>
using namespace std ;
int main(){
cout << "You approach the Cola Machine..." ;
cout <<"these are the different drinks it offers." << endl << endl ;
cout <<"CocaCola\nSquirt\nSprite\nWater\nHorchata" << endl << endl ;
cout <<"Type in what you would like to drink: " ;
string choice ;
char sum[300] ;
cin >> choice ;
strncpy(sum, choice.c_str(), sizeof(sum));
sum[sizeof(sum) - 1] = 0;
if(choice == choice) {
if((sum == "CocaCola" || sum == "cocacola")){cout << "you've chosen CocaCola " ;}
}
return 0 ;
}
編輯:我不小心把代替(如果)switch語句。
有什麼特別的原因C字符串參與呢? – chris
請勿使用strcpy。它的過時,它公司的C – Manu343726
我一直在尋找一種方法,使這項工作,首先我想的static_cast,但沒有運氣,我發現了一個網上論壇,使用的strcpy作爲解決方案。 –