#include "valid.h"
#include <iostream>

//a macro which takes arguments!
#define IN_RANGE(x,min,max) (x>=min && x<=max)

using namespace std;


int
getInt(int min, int max) {
 int result;

 do {
   cin >> result;
   if(!IN_RANGE(result, min, max)) {
     cout << "Please enter a value between " << min << " and " << max << endl;
   }
 } while(!IN_RANGE(result, min, max));

 return result;
}


double
getDouble(double min, double max) {
 double result;

 do {
   cin >> result;
   if(!IN_RANGE(result, min, max)) {
     cout << "Please enter a value between " << min << " and " << max << endl;
   }
 } while(!IN_RANGE(result, min, max));

 return result;
}


char
getChar(char min, char max) {
 char result;

 do {
   cin >> result;
   if(!IN_RANGE(result, min, max)) {
     cout << "Please enter a value between " << min << " and " << max << endl;
   }
 } while(!IN_RANGE(result, min, max));

 return result;
}