Foros del Web » Programación para mayores de 30 ;) » C/C++ »

Verificar si un string contiene una letra en especifico.

Estas en el tema de Verificar si un string contiene una letra en especifico. en el foro de C/C++ en Foros del Web. Hola, estoy tratando de saber si un string contiene ciertas letras. hasta ahorita esto es lo que tengo. Código: #include <iostream> #include <string> using namespace ...
  #1 (permalink)  
Antiguo 02/10/2010, 20:29
Avatar de alonsoandres  
Fecha de Ingreso: enero-2004
Ubicación: Matamoros, Tamaulipas
Mensajes: 305
Antigüedad: 20 años, 11 meses
Puntos: 3
Verificar si un string contiene una letra en especifico.

Hola,

estoy tratando de saber si un string contiene ciertas letras. hasta ahorita esto es lo que tengo.

Código:
#include <iostream>
#include <string>
using namespace std;

int main() {
	
	string temperature;
	int nospace;
	
	cout << "Please enter a temperature: ";
	
	getline( cin, temperature);
		
	for(int i = 0; i < temperature.size(); i++)
		if(temperature[i] == 'C' || temperature[i] == 'F' || temperature[i] == 'c' || temperature[i] == 'f')
		{
			if(temperature[i] =='C' || temperature[i] == 'c')
			   {
				   //Actions if temperature is in celcius.
				   cout << "Temp is in Celsius" << endl;
			   }
			else 
			{
				//Actions if temperature is in farenheit.<#statements#>
				cout << "Temp is in Farenheit" << endl;
			}

			
		}
	
	//cout << temperature << endl;
	
	
	
	
	return 0;
}
Estoy tratando de verificar si el usuario incluyo las letras C, c, F, f, en un string que seria una combinacion de numeros y letras. Por ejemplo: 123 C.

Hasta el momento estoy comparando character por character, lo cual para mi no es una solucion eficaz. si me podrian ayudar se los agradeceria mucho. Gracias.
  #2 (permalink)  
Antiguo 02/10/2010, 21:14
 
Fecha de Ingreso: enero-2008
Mensajes: 229
Antigüedad: 16 años, 10 meses
Puntos: 1
Respuesta: Verificar si un string contiene una letra en especifico.

aquí puedes encotrar la respuesta

http://www.cplusplus.com/reference/string/string/
  #3 (permalink)  
Antiguo 03/10/2010, 12:48
 
Fecha de Ingreso: septiembre-2010
Ubicación: http://nomenrecordo.blogspot.com/
Mensajes: 111
Antigüedad: 14 años, 2 meses
Puntos: 1
Respuesta: Verificar si un string contiene una letra en especifico.

Yo miraría el último carácter de la cadena:

if(temperature[temperature.size()] == 'C'

así te quitas el for y solo te hace falta dos if de nada.
  #4 (permalink)  
Antiguo 03/10/2010, 13:31
Avatar de alonsoandres  
Fecha de Ingreso: enero-2004
Ubicación: Matamoros, Tamaulipas
Mensajes: 305
Antigüedad: 20 años, 11 meses
Puntos: 3
Respuesta: Verificar si un string contiene una letra en especifico.

Cita:
Iniciado por PHPau Ver Mensaje
Yo miraría el último carácter de la cadena:

if(temperature[temperature.size()] == 'C'

así te quitas el for y solo te hace falta dos if de nada.
Muchas gracias.. nada mas una cosa... ahora como hago para nada mas agarrar los numeros del string??? para poder trabajar con ellos...
  #5 (permalink)  
Antiguo 03/10/2010, 14:36
 
Fecha de Ingreso: enero-2008
Mensajes: 229
Antigüedad: 16 años, 10 meses
Puntos: 1
Respuesta: Verificar si un string contiene una letra en especifico.

la solucion de PHPau, esta bien aunq tiene un error: el inidice de un string va de 0 a n-1, donde n es el numero de caracteres del string.

Por otra parte para tomar solo los numeros, puedes hacerlo asi

int numero = atoi(temperatura.c_str());

Para mas informacion de atoi puedes consultar la pagina q te recomende
  #6 (permalink)  
Antiguo 03/10/2010, 19:13
 
Fecha de Ingreso: enero-2008
Ubicación: Oruro
Mensajes: 50
Antigüedad: 16 años, 11 meses
Puntos: 0
Respuesta: Verificar si un string contiene una letra en especifico.

como el string supongo sera algo asi
13C
para sacar solo los digitos seria algo asi
#include<iostream>
#include<cctype>
#include <string>
using namespace std;
int main(){
string a,b;
int num;
getline(cin,a);
for(int i=0;i<a.size();i++){
if(!isdigit(a[i])){
b=a.substr(0,i);//esto si no quieres perder el string original
num=atoi(b.c_str());
}
}
cout<<num<<endl;
return 0;
}
saludos ^^.

Etiquetas: especifico, letra, string, verificar
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 10:48.