Proponuję takie rozwiązanie.. mniej motania i kod bardziej zrozumiały : )
#include <iostream> #include <cmath> using namespace std; int main() { //Tutaj było int.. zmieniłem (na float), gdyż sprawdzanie czy liczba jest całkowita dla liczby, //która zawsze będzie całkowita nie ma sensu. float ile; cout << "Podaj ile chcesz trapezow: "; cin >> ile; //Funkcja trunc(x) zwraca liczbę x bez części ułamkowej. Zawarta jest w <cmath>. //Dla ile=10.5.. Jeżeli 10.5-10!=0 to pętla się wykona inaczej będzie 0 czyli false i pętla się zakończy. while (ile-trunc(ile)) { cout << endl << "Podales liczbe niecalkowita, podaj jeszcze raz"<< endl; cout << "Liczba: "; cin >> ile; } }