Символы кириллицы выводит некорректно. Как сделать чтобы выводился читабельный текст на русском языке? Тип приложения - не 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; }