能编译但无法调试的菜单设计程序,求解

#define _CRT_SECURE_NO_DEPRECATE
#define SDL_MAIN_HANDLED
#include"stdio.h"

#include"math.h"

#include"stdlib.h"
#pragma comment(lib,"ws2_32.lib")
void main() {

char   ch;

int    x;

system("cls");//清屏

printf("\n#######  welcome  to  use  this  program.    #######\n\n");

printf("\n   please  enter  a  integer");

scanf("%d", &x);

ch = getchar();  //用于接收输入整数后的回车符

printf("\n\n\n==============MENU===================\n");   //显示菜单

printf("\n             1.find  square  of  a  number");

printf("\n              2.  find  cube  of  a  number");

printf("\n             3.  find  square  root  of  a  number");

printf("\n             4.  end  ");

printf(" \n");

printf("\n enter  your  choice");   // 提示输入一个选择

ch = getcahr();//用于从键盘接受一个数字字符1~4

switch (ch)
{
case   '1':printf("\n   %d*%d=%d\n", x, x, x*x);break;

case   '2':printf("\n  %d*%d*%d=%d\n", x, x, x, x*x*x);break;



case  '3':printf("\n  square  root  :  %f\n", sqrt(x));break;


case   '4':printf("\n  end  !\n");


default:printf("\nselecting  wrong  ");
    break;
}

printf("\n");

}

代码我拷贝之后运行了一下,发现有两个问题:
1、getchar你拼写错了,你写的是getcahr
2、sqrt(x)你没查看参数列表,对不对?它应该是sqrt(x*1.0),不然参数会不匹配