Ну, если я правильно понял условия, это выглядит как-то так (можно и проще, но куда же без индусского кода?

)
#include <iostream>
#include <cmath>
using namespace std;
int main() {
float x, z1, z2;
int menu = 0;
while(true) { // вечный цикл
// это можно пропустить, но я однажды увидел и захотел попробовать...
cout << "Меню: " << endl;
cout << "1 - ввод данных для расчёта " << endl;
cout << "0 - выход" << endl;
cin >> menu; // получаем пункт
if(menu==0) { // тут выход
cout << "Бай-бай!" << endl;
break; // просто завершаем цикл досрочно!
}
else if(menu==1) { // или считаем
cout << "Введите число Х: "; cin >> x;
// Далее считаем формулы
z1 = 1.0 - 0.25 * sin(2*x)*sin(2*x) + cos(2*x)*cos(2*x); // Ваша первая формула
z2 = cos(x) * cos(x) * (1.0 + cos(x)*cos(x)); // Ваша вторая формала
// сравниваем и выводим
if(z1 == z2)
cout << "Результаты идентичны (" << z1 << " и " << z2 << ")" << endl;
else
cout << "Результаты отличаются (" << z1 << " и " << z2 << ")" << endl;
}
else { // или это ошибка
cout << "Указанные данные не корректны. Пожалуйста, попробуйте снова." << endl;
}
}
return 0;
}
Вся суть в этой задаче - правильно оформить формулы:
z1 = 1.0 - 0.25 * sin(2*x)*sin(2*x) + cos(2*x)*cos(2*x); // Ваша первая формула
z2 = cos(x) * cos(x) * (1.0 + cos(x)*cos(x)); // Ваша вторая формала
Например, где написано "Разработчик Н.Коротун", это выглядит так:
z1 = ( x*x + 2*x - 3 + (x+1) * sqrtf(x*x - 9) ) / ( x*x + 2*x - 3 + (x-1) * sqrtf(x*x - 9) );
z2 = sqrtf( (x+3) / (x-3) );
Другими словами, учитесь переводить формулы в понятный компилятору вид, а именно расставлять скобки.

Пользователь решил продолжить мысль 21 Мая 2012, 15:48:02:
Если есть такое желание, можете посмотреть
отсюда раздел "Алгоритмизация и основы программирования". Особенно, B6, 7 и 14.
