Delhi's odd even

#include
using namespace std;
int main(){
int n;
cin>>n;

for(int i=0;i<n;i++){
int cn;
cin>>cn;
int digit,temp,sum=0;
temp=cn;
while(temp!=0){
	digit=temp%10;
	sum=sum+digit;
	temp=temp/10;
}
if(sum%2==0){
	if(sum%4==0)
	cout<<"Yes"<<endl;
	else
    cout<<"No"<<endl;}
else
{
if(sum%3==0)
	cout<<"Yes"<<endl;
	else
    cout<<"No"<<endl;}	

}}
why this code is showing error?

The approach you are following in your code is wrong, basically you need to maintain two sums one for even value of remainder and other one for odd value of remainder, and then based on that you will see that if either even sum or odd sum is true, then the answer will be yes else no,
int sume=0,sumo=0;
while(Car_no>0)
{
rem=Car_no%10;
if(rem%2==0) sume=sume+rem;
else sumo=sumo+rem;
Car_no=Car_no/10;
}
if(sume%4==0 || sumo%3==0)
{
cout<<β€œYes”;
cout<<endl;
}
else if(sume%4!=0 && sumo%3!=0)
{
cout<<β€œNo”;
cout<<endl;
}

ok i got it.
Thanku so much