Einsteigerhandbuch zur Verwendung der CIN-Funktion in C++

C++ ist eine leistungsstarke, komplexe Programmiersprache, die sich besonders gut zur Lösung anspruchsvoller Probleme eignet. Es verfügt möglicherweise nicht über die elegante Einfachheit, die High-Level-Programmiersprachen wie Java und PHP genießen, ist aber ein unverzichtbares Werkzeug für die Entwicklung von Betriebssystemen, Softwaretreibern, generalisierbaren Webservern und eingebetteten Systemen.

Als ausgereifte, leistungsbasierte Programmiersprache kann sie nahezu überall ausgeführt werden und profitiert von einer großen Entwicklergemeinschaft. Es ist die Sprache der Wahl bei der Erstellung großer kommerzieller Anwendungen – riesiger Systeme, die auf schnelle und effiziente Leistung ausgelegt sind.

Bevor sich C++-Programmierer mit diesen Systemen befassen, müssen sie sich gründlich mit einigen der Hauptfunktionen der Sprache vertraut machen. CIN (ausgesprochen sehen in) Ist einer von ihnen.

CIN kombiniert mit COUT (hinaussehen) unter der Standardüberschrift um Programmen die Ein- und Ausgabe von Daten zu ermöglichen. Benutzen CIN Und COUT Sich mit der Funktionsweise von C++ vertraut zu machen, ist ein wichtiger Schritt für jeden zukünftigen Programmierer.

Um dieses Tutorial nutzen zu können, müssen Sie Microsoft Visual Studio für Windows oder XCode für OS X verwenden. Dies sind die Compiler, die Sie zum Ausführen der folgenden C++-Codebeispiele verwenden werden.

Schnelle Navigation
Schreiben von einfachem Code mit CIN in C++Schreiben von Code mit CIN.getline in C++Was ist der Unterschied zwischen CIN.get und CIN.getline?Eine weitere CIN-Funktion: CIN.IgnoreEinführung in Strings und Stringstream

Schreiben von einfachem Code mit CIN in C++

Laptop-Bildschirm mit dem Beispiel von CIN,

Wenn Ihr Code-Compiler sieht CINC++ erwartet, eine zu sehen Eingang. Normalerweise ist die Computertastatur die beste Möglichkeit, Werte in ein C++-Programm einzugeben. Dies kann sich bei fortgeschritteneren Anwendungsfällen ändern, aber für die Zwecke dieses Handbuchs ist die Tastatur alles, was Sie benötigen.

Eines der einfachsten überhaupt CIN Funktionen weisen einer Ganzzahl einen numerischen Wert zu. Die meisten C++-Studenten werden irgendwann in ihren Einführungskursen ein Programm wie dieses schreiben und kompilieren:

#include
Namensraum verwenden std;

int main()
{
int x;

cout <<"Geben Sie eine Zahl ein"; //fordert den Benutzer auf, einen Wert einzugeben
cin >> x; //weist diesen Wert der Variablen x zu
cout << endl << "Sie haben eingegeben: " << endl;
cout << x << endl; //Zeigt den Wert von x wie zugewiesen an

0 zurückgeben;
}

Das Wichtigste, was Sie über diesen einfachen C++-Codeausschnitt wissen sollten, ist, was danach passiert int main(). Der Code, der sagt int x definiert die Variable X damit Sie es später verwenden können. In diesem Fall verwenden Sie es, um die Benutzereingaben des Programms zu definieren X.

Das werden Sie merken CIN Nimmt die Benutzereingabe direkt auf und weist sie der Variablen zu, ohne sie zu interpretieren oder zu qualifizieren. Der Extraktionsoperator >> weist das Programm an, die folgenden Nicht-Leerzeichen zu lesen. Wenn Sie Benutzereingaben sinnvoller und für Menschen lesbarer behandeln möchten, müssen Sie verwenden CIN.get Und CIN.getline.

Schreiben von Code mit CIN.getline in C++

Hier ist ein einfaches Programm, das die Memberfunktion verwendet, um die Variable the zu definieren CIN soll bekommen:

#include
Namensraum verwenden std;

int main()
{
Char-Name[20]Adresse[20];
cout << "Name: ";
cin.getline(name, 20);

cout << "Adresse:";
cin.getline(address, 20);
cout << endl << "Sie haben eingegeben" << endl;
cout << "Name = " << name << endl;
cout << "Address = " << Adresse << endl;

0 zurückgeben;
}

In diesem Fall definiert das Programm die Benutzereingabe als Teil einer Mitgliedsfunktion, definiert durch Char-Name[20] Und Adresse[20]. Wenn jemand dieses Programm startet, wird der Benutzer in der Befehlszeile aufgefordert, einen Namen und dann eine Adresse einzugeben. Anschließend werden der eingegebene Name und die eingegebene Adresse angezeigt.

Die Möglichkeit, Eingaben als Mitgliedsfunktionen zu definieren, ermöglicht Ihnen die Verwendung cin.get Und cin.getline um Benutzereingaben als Teile einer Funktion zu behandeln. Dies ist eine einfache und unkomplizierte Möglichkeit, Eingaben von einem Benutzer einzuholen und diese dann durch Programmierung zu manipulieren.

Was ist der Unterschied zwischen CIN.get und CIN.getline?

CIN.get und CIN.getline auf sehr ähnliche Weise. Beide interpretieren Eingabedaten als Teil der definierten Memberfunktion. Es gibt jedoch einen subtilen Unterschied in der Art und Weise, wie die einzelnen Funktionen funktionieren.

  • CIN.get enthält Leerzeichen. Dazu können Trennzeichen und Zeilenumbrüche wie das gehören Eintreten/Zurück Taste.
  • CIN.getline beschränkt seine Funktion auf die betreffende Zeile. Dadurch wird das Abschlusszeichen der Zeile entfernt, sodass Sie eine saubere Zeile erhalten, die Sie dann im Programm weiter bearbeiten können.

Da die meisten Leute erwarten, die Eingabe durch Drücken zu beenden Eintreten/Zurücksollten Programmieranfänger verwenden CIN.getline für Benutzereingaben. Die einzige Zeit, die Sie nutzen möchten CIN.get Dies ist der Fall, wenn Sie Abschlusszeichen einschließen möchten oder wenn Sie ein spezifischeres Mittel verwenden möchten, um zu identifizieren, welchen Teil der Benutzereingabe das Programm verwenden wird.

Wenn Sie beispielsweise eine Mitgliedsfunktion mit definieren Zeichenzeile[25] und dann verwenden cin.get( line, 25 )beendet Ihr Programm alles, was über das 24. Zeichen hinausgeht, das der Benutzer eingibt.

CIN.get Und CIN.getline existieren, um Programmierern die Qualifizierung von Benutzereingaben zu ermöglichen. Wenn Sie ein Programm erstellen, das direkt von aufruft CINbesteht die Gefahr, dass das Programm jedes Mal abstürzt, wenn der Benutzer einen kleinen Fehler macht. Das ist schlechtes Programmverhalten – die Leute erwarten, dass Programme vorhersehbar funktionieren, unabhängig von den Eingaben, die sie ihnen geben.

Eine weitere CIN-Funktion: CIN.Ignore

Wenn Sie eine bestimmte Anzahl von Zeichen aus einer Benutzereingabe extrahieren und Leerzeichen in den Inhalt einfügen möchten, können Sie Folgendes verwenden CIN.ignorieren um dies zu tun. Diese Funktion sieht so aus:

cin.ignore( int nCount = 1, int delim = EOF );

Wo nCount bezieht sich auf die Anzahl der zu extrahierenden Zeichen und delim definiert, was das Trennzeichen ist. Das Standardtrennzeichen ist EOF, was für „Ende der Datei“ steht. Hier ist ein Beispiel für die Verwendung CIN.ignorieren in einem einfachen Programm:

// istream::ignore-Beispiel

#include

int main ()

{

char zuerst, zuletzt;

std::cout << „Bitte geben Sie Ihren Vornamen gefolgt von Ihrem Nachnamen ein:“;

first = std::cin.get(); // Holen Sie sich ein Zeichen

std::cin.ignore(256,“); // ignorieren bis Leerzeichen

last = std::cin.get(); // Holen Sie sich ein Zeichen

std::cout << "Ihre Initialen sind " << first << last << '\n';

0 zurückgeben;

}

Dieses Programm fragt den Benutzer nach einem vollständigen Vor- und Nachnamen in einem Leerzeichen und definiert dann zwei Variablen basierend darauf, wo der Benutzer ein Leerzeichen einfügt. Der Text vor dem Leerzeichen ist der Vorname und der Text nach dem Leerzeichen ist der Nachname.

Einführung in Strings und Stringstream

Wenn du kombinieren Stringstreams mit CINkönnen C++-Compiler Zeichenfolgen genauso behandeln wie die anderen grundlegenden Datentypen, mit denen Sie normalerweise arbeiten.

Dies erfordert die Verwendung von CIN.getline. Wenn du benutzt CIN.getweisen die Leerzeichen, die ein Benutzer zwischen Wörtern einfügt, das Programm an, die Eingabe zu beenden – Sie erhalten immer nur ein einzelnes Wort und keine Phrase oder einen Satz.

Um Strings verwenden zu können, müssen Sie den String-Stream-Standardheader einschließen und dann den definieren CIN Eingabe mit (mystr). Betrachten Sie dieses Beispiel:

// Cin mit Strings
#include
#include
verwenden Namensraum std;

int hauptsächlich ()
{
string mystr;
cout << „Wie heißt du?“;
getline (cin, mystr);
cout << "Hallo " << mystr << ".\n";
cout << „Was ist deine Lieblingssportmannschaft?“;
getline (cin, mystr);
cout << "Ich mag " << mystr << " auch!\n";

zurückkehren 0;
}

In diesem Beispiel begrüßt das Programm den Benutzer mit seinem Namen und sagt dann, dass es dieselbe Sportmannschaft mag, die der Benutzer definiert hat. In beiden Fällen verwendet das Programm dieselbe Variable, um auf die Eingabevariablen zu verweisen.

Beim zweiten Aufruf des String-Bezeichners (mystr), verwendet das Programm einfach die aktuellste Eingabezeichenfolge. Wenn du benutzt

Wenn Sie den Standard-Header verwenden können Sie a definieren Stringstream so, dass eine Benutzereingabezeichenfolge als Stream behandelt wird. Dadurch können Sie Extraktions- oder Einfügungsvorgänge mit Zeichenfolgen genauso durchführen wie mit CIN Und COUT.

Der Stringstream ist genau das, wonach es sich anhört. Es handelt sich um einen Strom von Benutzereingabezeichenfolgen, der erstellt wird, indem das Programm angewiesen wird, die vorherige Eingabe zu verwerfen und durch eine neue zu ersetzen.

Dieses Verhalten ermöglicht es Ihnen, Programme zu schreiben, die Eingaben organisierter und weniger umständlich verarbeiten, als jede einzelne Variable zu identifizieren, die ein Benutzer möglicherweise eingibt. Betrachten Sie dieses Beispiel:

// Stringstreams

#include

#include

#include

verwenden Namensraum std;

int main ()

{

string mystr;

Float-Preis=0;

int Menge=0;

cout << "Preis eingeben:";

getline (cin,mystr);

stringstream(mystr) >> Preis;

cout << "Menge eingeben:";

getline (cin,mystr);

stringstream(mystr) >> Menge;

cout << "Gesamtpreis: " << Preis*Menge << endl;

0 zurückgeben;

}

Dieses Programm ruft numerische Werte direkt aus Benutzereingaben ab und multipliziert sie. Anstatt zu verwenden CIN direkt, es nutzt getline um Benutzereingabepreise zu manipulieren und sie als Variablen zu behandeln, definiert als Preis Und Menge.

Ohne Stringstream Funktionalität würde das Schreiben eines einfachen Programms wie dieses erfordern, jede Eingabe-Ganzzahl einzeln als zu definieren X oder j und dann das Programm anweisen, jedes einzelne Element im Besonderen zu manipulieren. Dies kann unhandlich werden, wenn in einem komplexen Programm eine große Anzahl von Ganzzahlen verarbeitet wird.

Dadurch kann der Programmierer den Prozess des Einholens von Benutzereingaben vom Prozess der Interpretation dieser Eingaben als Daten trennen. Auf diese Weise erhält der Benutzer die Erfahrung, die er oder sie erwartet, während der Programmierer eine größere Kontrolle darüber hat, wie das Programm Daten gemäß seinen Algorithmen manipuliert und umwandelt.

Kommentar verfassen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Nach oben scrollen