Eu sou iniciante no c++ e estava fazendo uma calculadora, todas as opções estão funcionando menos a de elevar o número a 2, você bota o número mas o programa fecha. Olhem o código aí:  #include <stdio.h>
main () {
/*Janela Principal*/
label0:
int enter;
printf ("Selecione a operacao:\n\
Soma...............<1>\n\
Subtracao..........<2>\n\
Multiplicacao......<3>\n\
Divisao............<4>\n\
Elevar a 2.........<5>\n\
Fechar Programa....<0>\n\
");
scanf ("%i", &enter);
if (enter == 1) {
          goto soma;
          }
if (enter == 2) {
          goto sub;
          }
if (enter == 0) {
          goto fim;
          }
if (enter == 3) {
          goto mult;
          }
if (enter == 4) {
          goto div;
          }
if (enter == 5) {
          goto sqr2;
          }
else {
     goto fim;
     }
/*Fim*/
     
     /*Soma*/
     soma:
     float Snum1, Snum2;
     printf ("Selecione o Primeiro Numero:..");
     scanf ("%f", &Snum1);
     printf ("Selecione o Segundo Numero:...");
     scanf ("%f", &Snum2);
     float Sresultado;
     Sresultado = Snum1 + Snum2;
     printf ("O resultado e: %f \n", Sresultado);
     int Senter;
     printf ("Deseja somar novamente\?   <1>Sim <0>não: ");
     scanf ("%i", &Senter);
     if (Senter == 1) {
                goto soma;
                }
     if (Senter == 0) {
                goto label0;
                }
     else {
          goto fim;
          }
     /*Fim*/
     
     /*Subtração*/
     sub:
     float snum1, snum2;
     printf ("Selecione o Primeiro Numero:..");
     scanf ("%f", &snum1);
     printf ("Selecione o Segundo Numero:...");
     scanf ("%f", &snum2);
     float sresultado;
     sresultado = snum1 - snum2;
     printf ("O resultado e: %f \n", sresultado);
     int senter;
     printf ("Deseja Subtrair novamente\?   <1>Sim <0>não: ");
     scanf ("%i", &senter);
     if (senter == 1) {
                goto sub;
                }
     if (senter == 0) {
                goto label0;
                }
     else {
          goto fim;
          }
     /*Fim*/
     
     /*Multiplicação*/
     mult:
     float mnum1, mnum2;
     printf ("Selecione o primeiro Numero..");
     scanf ("%f", &mnum1);
     printf ("Selecione o segundo Numero...");
     scanf ("%f", &mnum2);
     float mresultado;
     mresultado = mnum1 * mnum2;
     printf ("O resultado e: %f \n", mresultado);
     int menter;
     printf ("Deseja Multiplicar novamente\?    <1>Sim <0>não: ");
     scanf ("%i", &menter);
     if (menter == 1) {
                goto mult;
                }
     if (menter == 0) {
                goto label0;
                }
     else {
          goto fim;
          }
     /*Fim*/
     
     /*Divisão*/
     div:
     float dnum1, dnum2;
     printf ("Selecione o primeiro Numero..");
     scanf ("%f", &dnum1);
     printf ("Selecione o segundo Numero...");
     scanf ("%f", &dnum2);
     float dresultado;
     dresultado = dnum1 / dnum2;
     printf ("O resultado e: %f \n", dresultado);
     int denter;
     printf ("Deseja Dividir novamente\?    <1>Sim <0>não: ");
     scanf ("%i", &denter);
     if (denter == 1) {
                goto div;
                }
     if (denter == 0) {
                goto label0;
                }
     else {
          goto fim;
          }
     /*Fim*/
     
     /*Elevar a 2*/
     sqr2:
     float sqr2num1;
     printf ("Selecione o Numero.. ");
     scanf ("%f", &sqr2num1);
     float sqr2resultado;
     sqr2resultado = sqr2num1 * sqr2num1;
     printf ("O resultado e: %f \n", sqr2resultado);
     int sqr2enter;
     printf ("Deseja elevar a 2 Novamente?   <1>Sim <0>não: ");
     scanf ("i", &sqr2enter);
     if (sqr2enter == 1) {
                   goto sqr2;
                   }
     if (sqr2enter == 0) {
                   goto label0;
                   }
     else {
          goto fim;
          }
     /*Fim*/
     
fim:
return 0;    
}