vocales veces una txt repite repetidos que programa palabras palabra letras las dev cuente cuantas contar contador caracteres cadenas cadena archivo c++

c++ - veces - programa en c que cuente palabras



tomando entrada de una cadena palabra por palabra (3)

Acabo de empezar a aprender C ++. Solo estaba jugando y me encontré con un problema que involucraba la introducción de una palabra palabra por palabra, cada palabra separada por un espacio en blanco. Lo que quiero decir es, supongo que tengo

name place animal

como la entrada. Quiero leer la primera palabra, hacer algunas operaciones en él. Luego lea la segunda palabra, haga algunas operaciones en eso, y luego lea la siguiente palabra, etc.

Intenté almacenar toda la cadena al principio con getline como este

#include<iostream> using namespace std; int main() { string t; getline(cin,t); cout << t; //just to confirm the input is read correctly }

Pero entonces, ¿cómo realizo la operación en cada palabra y paso a la siguiente palabra?

Además, mientras buscaba en Google C ++, en muchos lugares, en lugar de usar "uso de espacio de nombres estándar", la gente prefiere escribir "estándar ::" con todo. ¿Porque eso? Creo que hacen lo mismo. Entonces, ¿por qué tomarse la molestia de escribirlo una y otra vez?


(Esto es para el beneficio de otros que pueden referirse)

Simplemente puede utilizar cin y una matriz de char . La entrada cin está delimitada por el primer espacio en blanco que encuentra.

#include<iostream> using namespace std; main() { char word[50]; cin>>word; while(word){ //Do stuff with word[] cin>>word; } }


Ponga la línea en una cadena y extraiga palabra por palabra:

#include <iostream> #include <sstream> using namespace std; int main() { string t; getline(cin,t); istringstream iss(t); string word; while(iss >> word) { /* do stuff with word */ } }

Por supuesto, puede omitir la parte de getline y leer palabra por palabra directamente desde cin .

Y aquí puede leer por qué está using namespace std considerado una mala práctica.


getline está almacenando toda la línea a la vez, lo cual no es lo que quieres. Una solución simple es tener tres variables y usar cin para obtenerlas todas. C ++ se analizará automáticamente en los espacios.

#include <iostream> using namespace std; int main() { string a, b, c; cin >> a >> b >> c; //now you have your three words return 0; }

No sé de qué "operación" en particular está hablando, así que no puedo ayudarlo allí, pero si se trata de cambiar caracteres, lea sobre cadenas e índices. La documentación de C ++ es genial. En cuanto al uso de espacio de nombres estándar; versus std :: y otras bibliotecas, ya se ha dicho mucho. Pruebe estas questions en para comenzar.