#define _USE_MATH_DEFINES
#include <math.h>
#include <stdio.h> //включение заголовков функций ввода/вывода
#include <conio.h> //включение заголовка функции _getch()
int main(){
double x = 1.79, y, r1, r2, r3, r4;
r1 = cos(x);
r2 = pow((exp(r1) + x * x + sin(x)),.25);
r3 = (sin(M_PI * x * x) + log(x * x));
r4 = pow(r3, r1);
y = r2 * r4;
printf(" \n for x = %8.6lf y = %10.6lf \n ", x, y);
_getch();
return 0;
}
-----------------------------------------------------------------------------------------
использование в программе для значения числа π константы M_PI
#define _USE_MATH_DEFINES
#include <math.h>
#include <iostream> //включение заголовков для ввода/вывода в поток в стиле С++
using namespace std; //подключение стандартного пространства имен
int main(){
double x = 1.79, y;
y = cos(x)+ M_PI;
cout << " \n for x = ", x, " y = ", y) << endl;
system("pause");
return 0;
}
-----------------------------------------------------------------------------------------
определение значения числа π в программе
# define _USE_MATH_DEFINES
# include <cmath>
# include <iostream> //включение заголовков для ввода/вывода в поток в стиле С++
using namespace std; //подключение стандартного пространства имен
#ifndef M_PI
#define M_PI 3.14159265358979323846
#endif
int main(){
double x = 1.79, y;
y = cos(x)+ M_PI;
cout << " \n for x = ", x, " y = ", y) << endl;
system("pause");
return 0;
}
-----------------------------------------------------------------------------------------
Проверка вводимого значения переменной (задание 1.1) [7]
При вводе значения любого из целочисленных типов, превосходящего максимально допустимое значение для диапазона типа соответствующей переменной, фактически вводится неверное значение. Чтобы обнаружить ошибку, необходимо контролировать вводимые данные.
В данном примере оператор цикла требует повторного ввода данных до тех пор, пока не будут введены значения из диапазона от 1 до 20:
int r;
Do
{
cout << "input 1 <= r <=20" << endl;
cin >> r;
} while (r < 1 || r > 20);
-----------------------------------------------------------------------------------------
В следующем примере в цикле проверяется, чтобы вводимые данные были положительными и отличными от 13:
int r;
Do
{
cout << "input r >0, r!=13: " <<endl;
cin >> r;
} while (r < 0 || r == 13);
-----------------------------------------------------------------------------------------
В этом примере с помощью цикла while реализована проверка до 10 попыток ввода числа 25 в качестве значения для переменной rez:
int i=1, rez=0;
while (i++ <= 10 && rez!= 25)
{
cout << "input rez=25"<<endl;
cin >> rez;
}
-----------------------------------------------------------------------------------------
проверка вводимого значения на принадлежность диапазону значений типа unsigned char
Контроль правильности ввода значения можно реализовать, например, таким образом:
//проверка ввода значения из диапазона значений типа unsigned char
#include <LIMITS.H> //для UCHAR_MAX
unsigned char uch;
unsigned int uchar; //более широкий тип чем unsigned int
do {
cout << "input unsigned char:" << endl;
cin. clear (); //очистка флагов состояния потока ввода
cin. sync (); //очистка потока ввода
/* cin.sync()работает не на всех компиляторах, можно
заменитьна cin. ignore (cin. rdbuf ()-> in _ avail ());
также очистка потока ввода */
cin >> uchar;
} while(uchar < 0 || uchar > UCHAR _ MAX);
//диапазон значений типа unsigned char
uch = uchar;
cout << "ok " << uch << endl;
-----------------------------------------------------------------------------------------






