Не работает простенькая прога на с++ в частности scanf

Не работает простенькая прога на с++ в частности scanf.

  • #include
    #include
    #include
    #include

    int main()
    {
    setlocale(LC_ALL, "Russian");
    int x = 0;
    float y = 0;
    printf("Программа для вычисления квадратного корняn Введите число: ");
    scanf("%d", &x);
    y = sqrt((float)x);
    printf("Квадратный корень %d равен %.2fn y", x, y);
    getch();
    return 0;
    }

  • cin
    cout
    почитай об этих замечательных функциях
  • прога отработала и ОС закрыла за ней окно.
    происходит быстро и кажется что окно только мигнуло

    в конец консольного втыкай задержку на ожидание нажатия любой клавиши или в параметрах запуска сними галку в "закрывать окно после завершения" (не факт что getchar в конкретной реализации достаточно -мелкомягкие любят чудить и не следят за совместимостью версий)

    про код (написанный на С, а не на С++, ну да ладно - С часть С++ и код должен годиться)

    > int _tmain(int argc, _TCHAR* argv[]) // без понятия что это ( объявление майна но какое то кривое) )
    майн объявлен где-то в глубине библиотек. и понаопределяв кучу всего он вызывает это.

    >int x = 0; // ввели икс (любое целое число, даже отрицательное)
    >float y = 0; // ввели игрек, вроде как в дальнейшем вычисляемое.
    достаточно просто объявить переменные не инициализируя их.
    int x;
    float y;

    > y = sqrt((float)x); //собственно само вычисление корня, скьюрт - корень
    и применилась великая задумка к отрицательному "x" и грохнулась при исполнении
    всегда проверяй область применимости скармливаемого функциям и пиши нечто навроде
    if(x >=0)y = sqrt(x) else { prinrf("корень из отрицательного недопустим"); exit(-1);};