[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.html>


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