用if-else结构输入 这个程序有什么问题吗 为什么输出不对

问题遇到的现象和发生背景

为什么else后面的语句不会输出呢要怎么改正

用代码块功能插入代码,请勿粘贴截图
#include
#include
using namespace std;
int main()
{
    char sex,sports,diet;
    float faheight,moheight,kidheight;
    scanf("%c %f %f %c %c",&sex,&faheight,&moheight,&sports,&diet);
    if(sex='F'||sex=='f'){
    
        kidheight=(faheight*0.923+moheight)/2;
        if(sports=='Y'||sports=='y'){
            kidheight=kidheight*1.02;
            if(diet=='y'||diet=='Y')
            kidheight=kidheight*1.015;
            
        }
          else
        {
                              
            if(diet=='y'||diet=='Y')
            kidheight=kidheight*1.015;
            
        }
    
        
    } 

    else {kidheight=(faheight+moheight)*0.54;
        
        if(sports=='Y'||sports=='y'){
            kidheight=kidheight*1.02;
            if(diet='y'||diet=='Y')
            kidheight=kidheight*1.015;
            else(diet=='Y'||diet=='y') ;
            kidheight=kidheight;
        }else{
            if(diet=='y'||diet=='Y')
            kidheight=kidheight*1.015;
            
        }
    }
    cout<"cm";
         
         
     
     return 0;
}

运行结果及报错内容

永远只是输出if的表达式

if(sex==`F')
少了一个等号