[C con Clase] vaciar la entrada std
Silvio S. Stenta
silviostenta en hotmail.com
Vie Dic 19 05:36:43 CET 2008
Me parece que el problema es que le estas pasando a la funcion simboloValido_Sn y simboloValido_St el parametro a que es un entero que indica la posicion que stas cargando no un caracter para que vea si es Mayuscula o Minuscula, pasale como parametro Sn[a] y St[a].
Fijate que como no pasaste el codigo de las funciones simboloValido_Sn y simboloValido_St las hice yo nose si son como vos las hiciste pero funciona!!
Saludos.
Silvio
void VaciarLaEntradaSTD()
{
int a=0,num_prod=5,num_elex=5;
char Sn[5],St[5];
cout<<"Introduce símbolos de Sn"<<endl; //tienen que ser mayúsculas, lo compruebo con simboloValido_Sn(a)
while(a!=num_prod){
cin>>Sn[a];
if(simboloValido_Sn(Sn[a])){
cout<<"Sn["<<a<<"] = "<<Sn[a]<<endl;
a++;
}
else cout<<Sn[a]<<": Símbolo no vàlido"<<endl;
}
cin.ignore( cin.rdbuf()->in_avail() );
cout<<"Introduce símbolos de St"<<endl; //tienen que ser minúsculas, lo compruebo con simboloValido_St(a)
a=0;
while(a!=num_elex){
cin>>St[a];
if(simboloValido_St(St[a])){
cout<<"St["<<a<<"] = "<<St[a]<<endl;
a++;
}
else cout<<St[a]<<": Símbolo no vàlido"<<endl;
}
}
//verifica Mayuscula
int simboloValido_Sn(char x)
{
if ((x>=65)&&(x<=90))return 1;
return 0;
}
//Verifica Minusculas
int simboloValido_St(char x)
{
if ((x>=97)&&(x<=122))return 1;
return 0;
}
From: Núria Busom Figueres
Sent: Wednesday, December 17, 2008 9:43 AM
To: cconclase en listas.conclase.net
Subject: Re: [C con Clase] vaciar la entrada std
Muchas gracia por la explicación, pero me sigue sin funcionar, a ver pongo codigo:
int a=0;
cout<<"Introduce símbolos de Sn"<<endl; //tienen que ser mayúsculas, lo compruebo con simboloValido_Sn(a)
while(a!=num_prod){
cin>>Sn[a];
if(simboloValido_Sn(a)){
cout<<"Sn["<<a<<"] = "<<Sn[a]<<endl;
a++;
}
else cout<<Sn[a]<<": Símbolo no vàlido"<<endl;
}
cin.ignore( cin.rdbuf()->in_avail() );
cout<<"Introduce símbolos de St"<<endl; //tienen que ser minúsculas, lo compruebo con simboloValido_St(a)
a=0;
while(a!=num_elex){
cin>>St[a];
if(simboloValido_St(a)){
cout<<"St["<<a<<"] = "<<St[a]<<endl;
a++;
}
else cout<<St[a]<<": Símbolo no vàlido"<<endl;
}
entonces mi problema es que (por ej: declaro Sn[3] y St[2]) si cuando introducen Sn (mayúsculas), se equivocan y escriben ABCd, la 4º letra q ya no cabe en Sn y ad+ es una minuscula, me la pone en St. Lo que quiero es vaciar la entrada para q esto no pase.
Muchas gracias a todos
--------------------------------------------------------------------------------
Descárgate gratis el nuevo Windows Live Messenger
--------------------------------------------------------------------------------
_______________________________________________
Lista de correo Cconclase Cconclase en listas.conclase.net
http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net
Bajas: http://listas.conclase.net/index.php?gid=2&mnu=FAQ
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.conclase.net/pipermail/cconclase_listas.conclase.net/attachments/20081219/717d425b/attachment-0001.html>
Más información sobre la lista de distribución Cconclase