The following code example is taken from the book
The C++ Standard Library - A Tutorial and Reference, 2nd Edition
by Nicolai M. Josuttis, Addison Wesley Longman, 2012
Copyright © 2012 by Pearson Education, Inc. and Nicolai M. Josuttis
#include <iostream>
#include <complex>
#include <cstdlib>
#include <limits>
#include <cstdio>
using namespace std;
int main()
{
complex<long double> c1, c2;
while (cin.peek() != EOF) {
// read first complex number
cout << "complex number c1: ";
cin >> c1;
if (!cin) {
cerr << "input error" << endl;
return EXIT_FAILURE;
}
// read second complex number
cout << "complex number c2: ";
cin >> c2;
if (!cin) {
cerr << "input error" << endl;
return EXIT_FAILURE;
}
if (c1 == c2) {
cout << "c1 and c2 are equal !" << endl;
}
cout << "c1 raised to the c2: " << pow(c1,c2)
<< endl << endl;
// skip rest of line
cin.ignore(numeric_limits<int>::max(),'\n');
}
}