Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: socram7 en 13 Junio 2013, 01:10 am



Título: Validaciones 2 digitos en c++
Publicado por: socram7 en 13 Junio 2013, 01:10 am
Hola nuevamente el siguiente codigo realiza una derivada ya logre validar los signos para que no introduzcan letras, numeros y signos que no sean "+" "-", sin embargo en la siguiente  parte del codigo esta valido para que no me reciba numeros a menos que sean los digitos del 0 al 9, sin embargo necesito que se puedan ingresar numeros que contengan 2 digitos como por ejemplo: 11, 12, 13, 14, 15, 16, 17....... hasta el 99, si me dieran la idea de como hacerlo me ayudarían de gran manera:
Código
  1.    do {
  2.    gotoxy (7,6);cout<<"                                              ";
  3.    gotoxy(7,6);cout<<"\t\Ingrese el grado de la ecuaci\xA2n: ";
  4. cin>>n1;
  5.                   } while (n1<48|| n1>58);
  6. n=n1-48;
  7.  



Este es el código completo de mi programa:
Código
  1. #include <iostream>
  2. #include <conio>
  3. #include <stdlib>
  4. #include <windows>
  5. using namespace std;
  6. int main ()
  7. {
  8. clrscr();
  9. system ("color 4F");
  10. int numero[100],total[100],i,n;
  11. char sign[100], numero1[100], n1;
  12.  
  13.  
  14.    do {
  15.    gotoxy (7,6);cout<<"                                              ";
  16.    gotoxy(7,6);cout<<"\t\Ingrese el grado de la ecuaci\xA2n: ";
  17. cin>>n1;
  18.                   } while (n1<48|| n1>58);
  19. n=n1-48;
  20.                   {
  21. for(i=0;i<n;i++)  {
  22. {
  23.  
  24. do{
  25.             gotoxy(7,7); cout<<"                                             ";
  26.             gotoxy(7,7);cout<<"\t\tIngrese el signo del "<<" x"<<"^"<<(i+1)<<": ";
  27. cin>>sign[i];
  28.                 }while((sign[i]!='+')&&(sign[i]!='-'));  }
  29.                    do {
  30.                    gotoxy(7,8); cout<<"                                                            ";
  31. gotoxy(7,8);cout<<"\t\tIngrese el coeficiente numerico"<<" x"<<"^"<<(i+1)<<": ";
  32. cin>>numero1[i];
  33.                    } while (numero1[i]<48|| numero1[i]>58);
  34.  
  35.                       }
  36.  
  37. cout<<endl;
  38.   cout<<endl;
  39.  cout<<"\t\tLa ecuaci\xA2n a derivar es:"<<endl;
  40.  cout<<endl;
  41.  cout<<endl;
  42. for(i=0;i<n;i++)  {
  43. numero[i]=numero1[i]-48;}
  44. for(i=0;i<n;i++)  {
  45.     cout<<sign[i]<<numero[i]<<"x^"<<(i+1); }
  46.  
  47.  for(i=0;i<n;i++)  {
  48.  total[i]=numero[i]*(i+1);
  49.  }
  50.   cout<<endl;
  51.   cout<<endl;
  52.  cout<<"\t\tLos n\xA3meros son:"<<endl;
  53.  cout<<endl;
  54.  cout<<endl;
  55. for(i=0;i<n;i++){
  56.  
  57.  cout<<sign[i]<<total[i]<<"x^"<<(i);  }
  58.  
  59.  cout<<endl;
  60.  getch();
  61.      }
  62.  }
  63.  

Desde ya muchas gracias  ;-) ;-) ;-) ;-)


Título: Re: Validaciones 2 digitos en c++
Publicado por: Danyfirex en 13 Junio 2013, 08:06 am
Creo que podrías hacer algo así


Código
  1. (!(num<0 || num>99))

así compruebas que este entre esos rangos

saludos


Título: Re: Validaciones 2 digitos en c++
Publicado por: socram7 en 13 Junio 2013, 22:52 pm
Creo que podrías hacer algo así


Código
  1. (!(num<0 || num>99))

así compruebas que este entre esos rangos

saludos


gracias por tu respuesta pero de esa forma me marca error en esta parte:

Código
  1.  }while((sign[i]!='+')&&(sign[i]!='-'));

alguna idea :S


Título: Re: Validaciones 2 digitos en c++
Publicado por: pacoperico en 13 Junio 2013, 23:24 pm

gracias por tu respuesta pero de esa forma me marca error en esta parte:

Código
  1.  }while((sign[i]!='+')&&(sign[i]!='-'));

alguna idea :S


Lo unico anormal que veo es el ; al final de la linea con lo que ese ciclo while no tendria ningun enunciado que ejecutar. Por lo demas, la construccion de la condicion del ciclo while parece totalmente valida.