У меня есть задание, в котором я нахожу стоимость доставки товара на основе входных данных из файла.Один из разделов просит меня прекратить работу программы, если в текстовом файле присутствует «Недопустимый символ»
Ожидаемый вывод:
*************** File Read Error ***************
==> Reading of one or more package
==> parameters failed!!
==> Terminating program!!!
***********************************************`
Мой вывод:
--------------------------------------------------
The package attributes are:
Package type .................bulk
Total length .................45 inches
Weight .......................2111390112 pound(s)
--------------------------------------------------
The package rate factors are:
Package Base Rate ............4.75 dollars
Length Factor Used ...........2.5
Weight Factor Used ...........4.5
--------------------------------------------------
Вот мой код:
if (typeid(length) != typeid(int) || typeid(width) != typeid(int) || typeid(height) != typeid(int) || typeid(weight) != typeid(int)) // tests the type of these variables
{
cout << string(15,'*') << " File Read Error " << string(15,'*') << endl;
cout << "==> Reading of one or more package" << endl;
cout << "==> parameters failed!!" << endl;
cout << "==> Terminating program!!!" << endl;
cout << string(47,'*') << endl << endl;
return 1;
}
Вот текстовый файл:
// invalid character in height, width, length or weight
bulk
20
25
A15
25
По сути, программа должна завершиться, когда увидит A15, потому что она имеет символ и ожидает только целое число.