Curso completo de linguagem C++
Gameprog - Escola de programação de jogos digitais
Contato: gameprog.br@gmail.com
track04.html
04.Entrada de dados via objeto cin
// test_cin.cpp
#include <iostream>
#include <string>
using namespace std;
int main() {
int x, y, z;
float nsorte;
char spc = 32;
string snome = "";
char scor[255];
system("color f0"); system("title test_cin.cpp");
cout << "\n\t Qual seu jogo favorito? ";
getline (cin, snome);
// Digite x,y,z com um espaço entre cada um deles
cout << "\t Digite [x, y, z] = ";
cin >> x >> y >> z;
cout << "\t Digite seu nro da sorte: ";
cin >> nsorte;
cout << "\t Digite sua cor favorita: ";
cin >> scor;
cout << "\n\n";
cout << "\t Game: " << snome << "\n";
cout << "\t 3D Position: [" << x << spc << y << spc << z << "]\n";
cout << "\t Favourite color: " << scor << "\n";
cout << "\t Favourite number: " << nsorte << "\n\n";
system("pause");
} // endmain
// Digite x,y,z com um espaço entre cada um deles
cout << "\t Digite [x, y, z] = ";
cin >> x >> y >> z;
Aqui neste bloco nós capturamos 3 inteiros do teclado: x, y, z. Note que o espaço
separa e delimita o conteúdo das variáveis.
cout <<"\t Digite sua cor favorita: ";
cin >> scor;
Aqui nesta linha nós capturamos do teclado a cor favorita do usuário: amarelo ouro.
Note que, como cin usa o espaço para separar e delimitar o conteúdo das variáveis,
a sub string "ouro" foi perdida. Se houvesse um outro cin na sequência do programa,
a variável seqüente teria sido preenchida pela palavra "ouro". Para capturar uma
linha completa você deve usar getline().
cout << "\n\t Qual seu jogo favorito? ";
getline (cin, snome);
Neste bloco usamos getline() para ler uma linha inteira incluindo os espaços.
A função getline() recebe um objeto cin e a variável que vai receber os
dados.
Perceba que cin, assim como cout, reconhece automaticamente os tipos de dados
fundamentais. Capturamos do teclado o tipo int, float e string sem precisar
especificar o tipo de dado.
(*) Os objetos cin e cout tem a sintaxe muito consistente. Posteriormente vc vai
usá-los para ler e gravar dados em arquivos.