[C con Clase] dudas sobre progrma

fanatidark pandoras_box_789 en hotmail.com
Lun Abr 22 22:43:09 CEST 2013


anteriormente estuve preguntando como hacer varias cosas la cuestion era hacer un programa que buscara un caracter dentro de una cadena parace que ya esta pero al momento de ejecutarlo pasan ciertas cosas que no me gustan quisiera saber que puedo hacer bueno antes que nada el cdigo:

#include <iostream>
#include <cstdlib>
#include <cstdio>
#include <conio.h>

using namespace std;



int main()
{
	char mensaje[100];
	int n,s,opcion;
	char *p;
	char l;
	
	cout<<"escribe tu mensaje"<<endl;
	cin>>mensaje;
	cout<<"quieres hacer la busqueda de algun caracter?"<<endl;
	cout<<" si=0"<<"\n no=1"<< endl;
	cin>>opcion;
	switch (opcion)
	{
		case 0 :
			{
				s=0;
			while(s==0)
			{
				cout<<"que caracter quiere buscar?"<< endl;
				cin>>l;
				p=mensaje;
				n=1;
				while((n<=100)&&(*p!=l))
				{
					n++;
					p++;
				}
				if(n<=100)
				{
					cout<<"el caracter a buscar es : "<<l <<" y esta en la pocicion : "<<n<<endl;
				}
				else
				{
					cout<<"el caracter no existe"<<endl;
				}
				cout<<"quieres buscar otro caracter?"<<endl;
				cout<<" si=0"<<"\n no=1"<< endl;
				cin>>s;
			}
				
			}
	
		case 1 :
			{
				cout<<"no se iniciara la busqueda \n"<<"asta luego"<<endl;
				break;
			}
		default: {cout<<"no es valido la opcion intente de nuevo"<<endl;};	
   }
}


ahora lo que pasa es lo siguiente...

1.-cuando pongo un caracter que no esta en la cadena me dice que el caracter esta en la pocicion 66 ....

2.-a la hora de que me lanza la pregunta si quiero buscar un caracter y me da las opciones de 1 y 2 si llego a poner una letra el programa se vuelve loco y me cominza a sacar muchas lineas que no alcanzo a leer, no se supone que me debe de decir que la opcion no es valida debido a que asi dice en el swhitch?

3.-cuando pongo la oracion si pongo una frase como seria "hola como estas" tambien se vuelve loco y me pasa lo que me pasa en el 2 por q???

grax por su atencion y ojala me puedan orientar


Más información sobre la lista de distribución Cconclase