Wstawiłeś pętle w złym miejscu:
#include <iostream>
#include <cmath>
using namespace std;
int main()
{
int p;
int w;
int d;
cout << "podaj liczbe przypadkow";
do
{
cout << "podaj liczbe naturalna od 1 do 10";
cin >> d;
} while (d >= 1 && d <= 10);
for (int i = d; i>1; i--)
{
cout << "podaj 2 liczby ktore chcesz podniesc do potegi: ";
cin >> p >> w;
cout << pow(p, w);
}
}
Ponadto pętla działa tak długo jak warunek d >= 1 && d <= 10 jest prawdziwy. Wydaje mi się, że chcesz przerwać pętla gdy podana będzie liczba z zakresu 1 do 10 - jeżeli tak to zmień warunek.