|
Символы кириллицы выводит некорректно. Как сделать чтобы выводился читабельный текст на русском языке? Тип приложения - не Qt, Qt Creator 4.5.0 основан на Qt 5.10.0. Win7.
|
Использование функций при программировании на C++
4.3 Возврат результата с помощью оператора return
Возврат результата из функции в вызывающую её функцию осуществляется оператором return выражение;
Работает оператор следующим образом. Вычисляется значение выражения, указанного после return, и преобразуется к типу возвращаемого функцией значения. Выполнение функции завершается, а вычисленное значение передаётся в вызывающую функцию. Любые операторы, следующие в функции за оператором return, игнорируются. Программа продолжает свою работу с оператора, следующего за оператором вызова данной функции.
Оператор return может отсутствовать в функциях типа void, если возврат происходит перед закрывающейся фигурной скобкой, и в функции main.
Также функция может содержать несколько операторов return, если это определено потребностями алгоритма. Например, в следующей программе функция equation вычисляет корни квадратного уравнения. Если
(уравнение не является квадратным), то в программу передаётся значение равное -1, если дискриминант отрицательный (уравнение не имеет действительных корней), то 1, а если положительный, то вычисляются корни уравнения и в программу передаётся 0.
#include <iostream>
#include <math.h>
using namespace std;
int equation ( float a, float b, float c, float * x1, float * x2 )
{ float D=b*b-4*a*c;
if ( a==0) return -1;
else if (D<0) return 1;
else
{
*x1=(-b+sqrt (D) ) /2/ a;
*x2=(-b-sqrt (D) ) /2/ a;
return 0;
}
}
int main ( )
{
float A, B, C, X1, X2; int P;
cout<<" Enter the coefficients of the equation :"<<endl;
cout<<"A="; cin >>A;
cout<<"B="; cin >>B;
cout<<"C="; cin >>C;
P=equation ( A, B, C, &X1, &X2);
if (P==-1) cout<<" input Error "<<endl;
else if (P==1) cout<<" No real roots "<<endl;
else cout<<" X1="<<X1<<" X2="<<X2<<endl;
return 0;
}