无法编写,主要是四个函数

编写程序,键盘输入 x 值,按下面表达式约束输出 y 值,要求
对应 x 的四段定义域编写四个函数,针对键盘输入的 x 值在主程序中
调用函数求出 y 值。结果输出到屏幕查看。还有一个图,打不出来
y=2x平方+3sinx x>6
y=根号下x+2 0<x<=6
y=3x立方 -3<x<=0
y=cosx+5 x<-3

#include<bits/stdc++.h>
using namespace std;
int x;
int s(int a){
    return 2*a*a+3*sin(a);
}
int sq(int a){
    return sqrt(a+2);
}
int tri(int a){
    return 3*a*a*a;
}
int c(int a){
    return cos(a)+5;
}
int judge(int a){
    if(a>6) return s(a);
    else if(0<a&&a<=6) return sq(a);
    else if(-3<a&&a<=0) return tri(a);
    else if(a<-3) return c(a);
}
int main(){
    cin>>x;
    cout<<judge(x);
    return 0;
}