2017-03-07 2 views
-2

Ich finde es schwierig, dies zu deklarieren.Deklaration und Initialisierung mit && in C++

Bitte sehen Sie, was ich schreibe.

int choice:>=1&&<=100 

durch die oben writting Ich möchte später im Code verwenden, die ein Benutzer Eingabe eine Auswahl von 1-100 jede ganze Zahl von (1-100), was bedeutet Willen Eingabe beginnen.

jedoch, wenn die obige Deklaration und Initialisierung writting i die erro bekommen messageL

38 15 G: \ Welcome Message.cpp [Fehler] erwartet initializer vor ':>' token

kann jemand erklären, warum ich den Fehler erhalte und wie ich die obige Deklaration und Initialisierung richtig schreibe.

+1

Ich glaube, Sie brauchen Ihren Lehrer um Hilfe zu bitten (falls zutreffend) oder ein [gutes C++ Buch] lesen (http://stackoverflow.com/questions/388242/the-definitive-c-book-guide -und-Liste). – qxz

+1

Abgesehen von den Problemen, die in den Antworten erwähnt werden, ist ':>' ein ** Digraph **; im Wesentlichen wird es durch das einzelne Zeichen ']' ersetzt. –

Antwort

1
int choice:>=1&&<=100. 

Sie "vergleichen" nichts wirklich. Wenn Sie dies tun, was Sie tun möchten, ist, Ist die Wahl größer als oder gleich 1, UND ist die Wahl kleiner als oder gleich 100. Was Ihr Code sagt, ist mehr "menschlich" und natürlich. IS Auswahl größer als oder gleich 1, UND kleiner als oder gleich eins. Aber denken Sie daran, unsere Computer ziemlich dumm sind, so dass man es genauer erklären müssen, wie so ...

choice >= 1 && choice <= 100 

Stellen Sie außerdem sicher Wahl zu erklären woanders. Wie so ...

int choice = 5; 
... 
if(choice >= 1 && choice <= 100){ 
    ... 
} 
3

Sie haben Datentypdeklarationen, Benutzereingaben und Bereichstests verwechselt. Dies sind keine magischen C++ - Anweisungen - sie sind drei verschiedene Dinge.

int choice; 
if(std::cin >> choice && choice >= 1 && choice <= 100) 
{ 
    std::cout << "Valid choice: " << choice << std::endl; 
} 
else 
{ 
    std::cout << "Invalid choice" << std::endl; 
} 
Verwandte Themen