2013-04-17 109 views
-2

我在這裏做了一些搜索,但我還沒找到解決方案。如果它在外面,我提前道歉。我是科羅拉多技術大學的一名學生,學習C++的入門C++,以前沒有編程經驗。在C++中爲變量賦值文本

我試圖建立一個程序,它應該顯示文本。 Visual Studio不斷踢它與構建錯誤。在查看構建筆記之後,我確定錯誤是嘗試將文本分配給一個變量。以下是我迄今爲止:

char my_name; 
char my_major; 
int my_zip; 
char my_address; 
char my_phone; 
char my_city_state; 

cin >> "What is your name? " >> my_name; 
cin >> "What is your street address, without city, state & ZIP? " >> my_street; 
cin >> "What is the City and state that you live in? " >> my_city_state; 
cin >> "What is the ZIP code? " >> my_zip; 
cin >> "What is your phone number? " >> my_phone; 
cin >> "What is your major? " >> my_major; 

我曾試圖直接分配,像這樣:

my_name="C++ User"; 

但在其它常見問題在這裏尋找,我意識到這是不可能的。

我如何能夠直接分配,就像我最初想要做的那樣,或者允許輸入被分配?

注意:基本代碼行是從RAPTOR輸出中獲取的,我已經能夠使用它,只是不在Visual Studio中。

在此先感謝您的幫助,如果有答案,我很抱歉,但在看了15分鐘後,我一直沒能在這裏找到它。

+2

購買一本書,男人。即使在真正不好的書中,這些東西也會被覆蓋。 – user93353

+1

查找'std :: string'。 –

+0

[std :: string](http://en.cppreference.com/w/cpp/string/basic_string)([tutorial](http://www.cprogramming.com/tutorial/string.html)) – Synxis

回答

4

my_name是單char,而你正在嘗試將分配給它一個字符串(即一個陣列char S)。

我建議在這裏使用std::string。例如:

#include <string> // Header required for std::string 

// ... 

std::string my_name = "C++ User"; 

再說了,你should't使用operator >>用繩子在右邊的文字。相反,這樣做的:

cin >> "What is your name? " >> my_name; 

你應該這樣做:

std::cout << "What is your name? "; // Print a message to the standard output 
std::cin >> my_name; // Read a string from the standard input 
+0

謝謝Andy,這幫助我解決了我的錯誤! –

+0

@MikeBrinkley:我很高興它有幫助:)如果它解決了你的問題,請考慮標記答案已被接受(或你可能喜歡的任何其他答案) –

+0

也許增加一些關於他錯誤地使用'cin'使答案完成? – JBentley

1

您應該使用的std :: string獲取來自用戶的std ::法院字符串輸入到顯示用戶信息和std: :cin獲取用戶輸入。

事情是這樣的,你還需要#包括

std::string name; 

std::cout<<"What is your name "<<std::endl; 
std::cin >> name;