SoloCodigo

Programación General => C/C++ => Mensaje iniciado por: yerotos en Jueves 5 de Febrero de 2004, 21:15

Título: Ayuda Urgentisima!! Programa Sencillo
Publicado por: yerotos en Jueves 5 de Febrero de 2004, 21:15
Perdonen mi ignorancia pero este es mi problema:
Soy un novato en esto. Tengo que hacer un programa en el que solo puedo introducir los numeros 0,1,2,3,4,5,6, y 7 para continuar, y si meto otra cosa que no sea eso me bloquea el programa(una letra, el 8. 9 etc...).
Alguien me lo podría mandar?
Lo necesito ya.
POR FAVOR
Título: Re: Ayuda Urgentisima!! Programa Sencillo
Publicado por: Alba en Jueves 5 de Febrero de 2004, 22:53
bueno, una respuesta un poco fácil pero creo que efectiva sería usando "if", es decir:

 if ( (num = 1) || (num =2) || (num = 3) ||( num =4)...... (num=8) ) {

    // continuar con tu programa

}
// sino es igual salta la ejecución


Yo no tengo demasiado idea pero creo que funcionaría.
Título: Re: Ayuda Urgentisima!! Programa Sencillo
Publicado por: Alba en Jueves 5 de Febrero de 2004, 23:09
creo que se me ha ocurrido un ejemplo más sencillo, lo escribo en C++:


#include <iostream.h>

void main(){

  int num;
  cout << "introduce un numero: " << endl;
  cin >> num;

  if (num >= 0 || num <=7) {

   // continua con tu programa

  }

// si es diferente a cualquier numero entre 0 y 7 no continua con el programa
Título: Re: Ayuda Urgentisima!! Programa Sencillo
Publicado por: CiRRuS en Jueves 5 de Febrero de 2004, 23:20
Lo mismo en C:

Código: Text
  1.  
  2. #include &#60;stdio.h&#62;
  3.  
  4. int main() {
  5.    int a;
  6.  
  7.    scanf(&#34;%d&#34;, &a);
  8.    if (a &#62;= 0 || a &#60;= 7 {
  9.       /* Hacer lo que quieras */
  10.    }
  11. }
  12.  
  13.  
Título: Re: Ayuda Urgentisima!! Programa Sencillo
Publicado por: mabrev en Viernes 6 de Febrero de 2004, 08:31
Hola:

  Por lo que he entendido yo, lo que estás buscando es un bucle en el que permanezcas hasta que se pulse el número adecuado, no??  Eso sería así:
Código: Text
  1.  
  2. #include &#60;stdio.h&#62;
  3.  
  4. int main()
  5.   {
  6.   int tecla;
  7.  
  8.   scanf(&#34;%d&#34;, &tecla);
  9.   while (tecla&#60;0 || tecla&#62;7
  10.     scanf(&#34;%d&#34;, &tecla);
  11.  
  12.   //Aquí se llega cuando se pulsa una de las teclas que quieres
  13.   //Así que puedes continuar con lo que haga el programa
  14.  
  15.   }
  16.  
  17.  

Espero que te sirva.

Saludos
Título: Re: Ayuda Urgentisima!! Programa Sencillo
Publicado por: JoRDi-18 en Martes 10 de Febrero de 2004, 00:05
Mucho me temo que la condición:

if (num >= 0 || num <=7)

no es correcta, ya que si introduces el -1 la condición se verifica, y esto no debería de ser así.
Estaría bien de este modo:

while (0 <= num <= 7){
  // hacer algo
}

// Cuando sale del bucle while, se finaliza el programa.

También se puede hacer con el if...

if (0 <= num <= 7){
  // hacer algo
}else{
  // mostrar mensaje de error, finalizar el programa, etc.
}


Un saludo!