请问大佬们,C++出现函数嵌套问题怎么处理

要求做一个计算ax^2+bx+c=0的程序,程序做出来可以运行,但是我设计的报错环节总有问题,报完错下面的过程仍会照常输出,我希望它报完错就停止运行。老师给我的解释是出现了函数嵌套的问题,但是初学我看不出问题,请
大佬指教。

#include
#include
using namespace std;
void caluate();
int main(){
double a,b,c;
cout<<"calcuate ax^2+bx+c=0"< cout>a;
cout<<"the number of 'b' is"<>b;
cout<<"the number of 'c' is"<>c;
double x,y,z,h,l,m;
m=b*b-4*a*c;
if(m<0) cout<<"This question unanswered !"<<endl;
else void calcuate();

void calcuate();
{
x=sqrt(m); /*计算更号下b^2-4ac*/
y=(-b+x); z=(-b-x); /*计算步骤*/
h=y/2*a; l=z/2*a;
cout<<"The result is:"<<endl;
cout<<"X1= "<<h<<endl;
cout<<"X2= "<<l<<endl;
}
system("pause");
return 0;
}

虽然用函数多此一举,但是你非要用得这么写

问题解决的话,请点下采纳

#include <iostream>
#include <stdlib.h>
#include <math.h>
using namespace std;

void calcuate(double a, double b, double c, double x, double y, double z, double h, double l, double m);

int main(){
    double a,b,c;
    cout<<"calcuate ax^2+bx+c=0"<< endl;
    cin>>a;
    cout<<"the number of 'b' is"<< endl;
    cin>>b;
    cout<<"the number of 'c' is"<< endl;
    cin>>c;
    double x,y,z,h,l,m;
    m=b*b-4*a*c;
    if(m<0) cout<<"This question unanswered !"<<endl;
    else calcuate(a,b,c,x,y,z,h,l,m);
    system("pause");
    return 0;
}
void calcuate(double a, double b, double c, double x, double y, double z, double h, double l, double m)
{
    x=sqrt(m); /*计算根号下b^2-4ac*/
    y=(-b+x); z=(-b-x); /*计算步骤*/
    h=y/2*a; l=z/2*a;
    cout<<"The result is:"<<endl;
    cout<<"X1= "<<h<<endl;
    cout<<"X2= "<<l<<endl;
}