How to capture strings or char inputs using atoi/atof if your range is 0 becuse my programs continue if the input is a char or string due to that the string or char is read or equal to zero.. Code: #include <stdio.h> #include <conio.h> #include <math.h> #include <stdlib.h> #include <string.h> int a(double sales,double sepcost) { double NRV; NRV=sales-sepcost; printf("The Net Realizable Value is: %.3lf\n",NRV); } int main() { double sales,sepcost; char error[128]; do{ system("cls"); printf("Please input your Sales Value: \n"); scanf("%s",&error); sales=atof(error); printf("Please input your Separable Cost: \n"); scanf("%s",&error); sepcost=atof(error); if(sales<0){ system("cls"); printf("Invalid input for Sales, Please try again!!\n"); system("pause"); } if(sepcost<0){ system("cls"); printf("Invalid input for Seperabe Cost, Please try again!!\n"); system("pause"); } }while(sales<0||sepcost<0); a(sales,sepcost); getch(); }
http://c-faq.com/~scs/cclass/asgn.beg/PS4.html http://www.cplusplus.com/reference/clibrary/cstdlib/atof/
in c++ you can do this Code: #include <iostream> #include <conio.h> int a(double sales,double sepcost){ double NRV; NRV=sales-sepcost; printf("The Net Realizable Value is: %.3lf\n",NRV); } int main() { double sales,sepcost; char error[128]; do{ system("cls"); printf("Please input your Sales Value: \n"); std::cin>>sales; if (std::cin.fail()){ std::cin.clear(); std::cin.ignore(std::numeric_limits<int>::max(),'\n'); sales=-1; } if(sales<0){ system("cls"); printf("Invalid input for Sales, Please try again!!\n"); system("pause"); }else{ printf("Please input your Separable Cost: \n"); std::cin>>sepcost; if (std::cin.fail()){ std::cin.clear(); std::cin.ignore(std::numeric_limits<int>::max(),'\n'); sepcost=-1; } if(sepcost<0){ system("cls"); printf("Invalid input for Seperabe Cost, Please try again!!\n"); system("pause"); } } }while(sales<0||sepcost<0); a(sales,sepcost); getch(); }