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;
}
}