Jak zatrzymać petlę jeżeli wynik przekroczył zakres typu?
#include <iostream>
#include <climits> //std::numeric_limits
#include <algorithm> //
using namespace std;
auto main() -> int
{
unsigned short limit = std::numeric_limits<unsigned short>::max();
cout << "unsigned short max\t= " << limit << "\n";
cout << "SHORT MAX\t\t= " << USHRT_MAX << "\n\n";
unsigned short a{65531}, suma{0};
for(unsigned short i = 1; i < 10; ++i)
{
suma = a + i;
cout << a << " + " << i << " = " << suma << "\n";
if(suma > limit) break;
}
(suma > limit) ? (cout << "\nSuma przekroczyla zakres " << suma) : (cout << "\nSuma sekwencji wynosi = : " << suma);
return 0;
}