axyd icon

C++ errMacGyver format and ranges

axyd | PRO | 10/21/16 02:38:18 AM UTC | 0 ⭐ | 728 👁️ | Never ⏰ | []
C++ |

620 B

|

None

|

0 👍

/

0 👎

// Check for proper data input format, and ranges
void Xclass::errMacGyver(int sku, int qty, double price, int menu, int CASE) {
    auto caZe= &CASE;
    if (cin.fail()) {
        cleanCin();
        return;
    }
 
    if((*caZe)==0 && cin.good()) {
        if(sku<0 || qty<0 || price<0) *caZe=1; //Negative
        if((sku>0 && sku<10000000) || (price>0 && price<0.5)) *caZe=2;  //Too Small
        if(qty>99 || sku>99999999 || price>20000) *caZe=3;  //Too Large
        switchBlade(*caZe);
    } else if ((*caZe)!=0 && (*caZe)!=111 ) switchBlade(*caZe); //directly invoke error message
    else if((menu<1 || menu>6) && (*caZe)==111) switchBlade(*caZe); //menu choice
};

Comments