Estoy haciendo un proyecto en el cual debemos hacer un programa de gestion de un banco, y una de las opciones que tenemos que habilitar al programa es para eliminar clientes, yo lo he habilitado para que permita buscar a los clientes por DNI o por Numero de cuenta.
El problema en este codigo, en el cual pretendo comparar la longitud de una cadena con un entero dentro de un if, el programa no lo "coge". Esto se ve en el "case 2", que es donde lo estoy intentando implementar primero (cuando funcione irá en los dos case). Es el if en el cual si se cumple, tendrá que ejecutar el cout<<"Se ha detectado un error en el formato de escritura. Escriba de nuevo: "<<endl;
Por favor, ayuda. Espero que no les resulte mucho problema por tantas variables que hay.
Código:
setClientes eliminarClientes (setClientes variosClientes ){
int menu1();
bool x=false;
int n=variosClientes.numClientes,i=0, opcion1;
char comparacionDNI[22];
char comparacionCuenta[22];
opcion1=menu1();
switch (opcion1) {
case 1:
do{
x=true;
leerCadena("Introduzca el DNI\n",comparacionDNI);
for(int i=0;i<n;i++){
if (strcmp(variosClientes.Clientes[i].DNI, comparacionDNI)==0){
cout<<"DNI valido"<<endl;
x==false;
for(int j=i;j<n;j++){
variosClientes.Clientes[j] = variosClientes.Clientes[j+1];
}break;}
else if(x==true&&i==(n-1)){
i++;
cout<<"Este DNI no existe en nuestros datos"<<endl;
x==true;
}
}}while(x==true);
break;
case 2:
do{
int t=10, p=0;
x=true;
leerCadena("Introduzca el numero de cuenta\n", comparacionCuenta);
for(int i=0;i<n;i++){
p=strlen(comparacionCuenta);
if (p!=t){
cout<<"Se ha detectado un error en el formato de escritura. Escriba de nuevo: "<<endl;
}
else if (strcmp(variosClientes.Clientes[i].numCuenta, comparacionCuenta)==0){
cout<<"DNI valido"<<endl;
x==false;
}
else if(x=true&&i==n-1){
i++;
cout<<"Este DNI no existe en nuestros datos"<<endl;
for(int j=i;j<n;j++){
variosClientes.Clientes[j] = variosClientes.Clientes[j+1];
}}}}
while(x!=false);
break;
}
cout<<"\nEl cliente ha sido eliminado del sistema";
variosClientes.numClientes--;
return variosClientes;
}