Foros del Web » Programación para mayores de 30 ;) » C/C++ »

como ponerle una condicion a cin>>

Estas en el tema de como ponerle una condicion a cin>> en el foro de C/C++ en Foros del Web. como ponerle una condicion a cin>> ejemplo el programa solo debe aceptar de 1 a 20 numeros si es mayor o menor entonces debe volver ...
  #1 (permalink)  
Antiguo 10/05/2010, 12:53
Avatar de soy_nicanor  
Fecha de Ingreso: mayo-2010
Mensajes: 374
Antigüedad: 14 años
Puntos: 3
como ponerle una condicion a cin>>

como ponerle una condicion a cin>>
ejemplo
el programa solo debe aceptar de 1 a 20 numeros
si es mayor o menor entonces debe volver a ingresar al numero asta que ingrese un numero corecta
bueno aqui tengo el codigo que acepta 5 variables como lo puedo poner la condicion

#include<iostream.h>
int main()
{
int a[5],b,i,j;
cout<<"Ingese nueros para ordenar:"<<endl;
for(i=0;i<5;i++)
{
cout<<i+1<<") ";
cin>>a[i];
}
return 0;
}
  #2 (permalink)  
Antiguo 10/05/2010, 13:18
Avatar de gvite666  
Fecha de Ingreso: abril-2010
Mensajes: 65
Antigüedad: 14 años, 1 mes
Puntos: 4
Respuesta: como ponerle una condicion a cin>>

no se si te entendi bien lo que quieres hacer es ingresar numeros mayores que 1 y menores que 20, si es asi podrias hacer esto
for(i=0;i<5;i++)
{
cout<<"ingrese numeros paa ordenar";
cin>>a[i];
//condiciona que si es menor a 1 "o" que si es mayor a 20 debe
// decrementar 1 a i para que vuelva al for e i valga lo que vialia antes de ingresar el numero
//anterior.
if(a[i]<1||a[i]>20)
i--;
}
  #3 (permalink)  
Antiguo 10/05/2010, 13:27
Avatar de soy_nicanor  
Fecha de Ingreso: mayo-2010
Mensajes: 374
Antigüedad: 14 años
Puntos: 3
Respuesta: como ponerle una condicion a cin>>

si digamos el variable ingresado es mas de 20 entonces que vuelva a ingresar el variable has ta que ingrese el numero menor que 20

Aqui ya lo ise pero el programa muere si ingresa de nuevo un numero mayor que 20

Código C++:
Ver original
  1. #include<iostream.h>
  2. int main()
  3. {  
  4.     int a[5],b,i,j;
  5.     cout<<"Ingese nueros para ordenar:"<<endl;
  6.     for(i=0;i<5;i++)
  7.     {
  8.         cout<<i+1<<") ";
  9.         cin>>a[i];
  10.         if(a[i]>20)
  11.         {
  12.         cout<<i+1<<") ";
  13.         cin>>a[i];
  14.         }
  15.     }
  16.     return 0;
  17. }
  #4 (permalink)  
Antiguo 10/05/2010, 13:43
Avatar de gvite666  
Fecha de Ingreso: abril-2010
Mensajes: 65
Antigüedad: 14 años, 1 mes
Puntos: 4
Respuesta: como ponerle una condicion a cin>>

por eso solo has lo que te dije
Código C++:
Ver original
  1. #include<iostream.h>
  2. int main()
  3. {      
  4.            int a[5],b,i,j;    
  5.           cout<<"Ingese nueros para ordenar:"<<endl;    
  6.            for(i=0;i<5;i++)  
  7.           {        
  8.                     cout<<i+1<<") ";        
  9.                     cin>>a[i];        
  10.                     if(a[i]>20)
  11.                     {        
  12.                               i--;
  13.                     }    
  14.           }    
  15.           return 0;
  16. }
  #5 (permalink)  
Antiguo 10/05/2010, 13:52
Avatar de soy_nicanor  
Fecha de Ingreso: mayo-2010
Mensajes: 374
Antigüedad: 14 años
Puntos: 3
Respuesta: como ponerle una condicion a cin>>

Gracias gvite666 disculpa mi ignorancia pero que significa

i--

como se llama o que ase por que --
  #6 (permalink)  
Antiguo 10/05/2010, 15:10
Avatar de darkasecas  
Fecha de Ingreso: marzo-2005
Ubicación: SantaCata, NL, Mexico
Mensajes: 1.553
Antigüedad: 19 años, 2 meses
Puntos: 77
Respuesta: como ponerle una condicion a cin>>

-- es el operador decremental (no recuerdo si ese es el nombre -.-) pero sirve para decrementar el valor de la variable en 1, i-- es equivalente a i=i-1.
Se podria decir que es el contrario de ++
  #7 (permalink)  
Antiguo 11/05/2010, 15:34
 
Fecha de Ingreso: enero-2008
Mensajes: 229
Antigüedad: 16 años, 3 meses
Puntos: 1
Respuesta: como ponerle una condicion a cin>>

otra forma sería la siguiente

for(i=0;i<5;)
{
cout<<i+1<<") ";
cin>>a[i];
if(abs(a[i])<=20)
i++;
}

o

for(i=0;i<5;)
{
cout<<i+1<<") ";
cin>>a[i];
if(a[i]>=1 && a[i]<=20)
i++;
}

para utilizar la primera debes incluir el archivo de cabecera stdlib.h
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 10:11.