Ver Mensaje Individual
  #2 (permalink)  
Antiguo 14/05/2013, 15:20
Avatar de razpeitia
razpeitia
Moderador
 
Fecha de Ingreso: marzo-2005
Ubicación: Monterrey, México
Mensajes: 7.321
Antigüedad: 19 años, 1 mes
Puntos: 1360
Respuesta: ¿Cómo hago para que solo me acepte numeros positivos?

Aquí te dejo una función que termina solamente si lo que tecleaste fue un numero.

Adaptalo para que limites los rangos. O crea otra función en base a eso para limitar los rangos.

Código C++:
Ver original
  1. #include <iostream>
  2. #include <sstream>
  3.  
  4. int get_number() {
  5.     std::string str;
  6.     int num;
  7.     std::istringstream iss;
  8.     do {
  9.         iss.clear();
  10.         std::getline(std::cin, str);
  11.         iss.str(str);
  12.         iss >> num >> std::ws;
  13.     } while(iss.fail() && !iss.eof());
  14.     return num;
  15. }
  16.  
  17. int main () {
  18.   char line[15];
  19.   int num;
  20.  
  21.   std::cout << "Enter a number between 0 and 100" << std::endl;
  22.   num = get_number();
  23.   return 0;
  24. }