一千萬個為什麽

搜索

當我嘗試運行我的Zodiacal標誌程序時,Windows會凍結

我做了一個程序,告訴你你的黃道十二宮。它編譯,但當我嘗試運行它時,Windows會凍結。

This is the code that I used: http://codepad.org/V4WAIavW

#include 
#include 

int main()
{

int d, m;

printf("Bienvenido al calculador de signo zodiacal 3000\n");
printf("Por favor introduzca su mes de nacimiento\n");

scanf("%i", &m);
     system ("pause");

     switch(m)
     {
              case 1:
                   printf("Introduzca su dia de nacimiento\n");
                   scanf("%i", d);
                   if (d>20)
                   printf("Su signo es acuario\n");
                   else
                   printf("Su signo es capricornio\n");
                   break;

              case 2:
                    printf("Introduzca su dia de nacimiento\n");
                    scanf("%i", d);
                    if (d>19)
                    printf("Su signo es piscis\n");
                    else
                    printf("Su signo es acuario\n");
                    break;

              case 3:
                   printf("Introduzca su dia de nacimiento\n");
                   scanf("%i", d);
                   if (d>20)
                   printf("Su signo es Aries\n");
                   else 
                   printf("Su signo es piscis\n");
                   break;

              case 4:
                    printf("Introduzca su dia de nacimiento\n");
                   scanf("%i", d);
                   if (d>20)
                   printf("Su signo es tauro\n");
                   else
                   printf("Su signo es aries\n");
                   break;

              case 5:
                   printf("Introduzca su dia de nacimiento\n");
                   scanf("%i", d);
                   if (d>21)
                   printf("Su signo es geminis\n");
                   else
                   printf("Su signo es tauro\n");
                   break;

              case 6:
                   printf("Introduzca su dia de nacimiento\n");
                   scanf("%i", d);
                   if (d>21)
                   printf("Su signo es cancer\n");
                   else
                   printf("Su signo es geminis\n");
                   break;

              case 7:    
                   printf("Introduzca su dia de nacimiento\n");
                   scanf("%i", d);
                   if (d>23)
                   printf("Su signo es leo\n");
                   else
                   printf("Su signo es cancer\n");
                   break;

              case 8:
                   printf("Introduzca su dia de nacimiento\n");
                   scanf("%i", d);
                   if (d>23)
                   printf("Su signo es Virgo");
                   else
                   printf("Su signo es leo");
                   break;

              case 9:
               printf("Introduzca su dia de nacimiento\n");
                   scanf("%i", d);
                   if (d>23)
                   printf("Su signo es libra\n");
                   else
                   printf("Su signo es virgo\n");
                   break;

               case 10:
                printf("Introduzca su dia de nacimiento\n");
                   scanf("%i", d);
                   if (d>23)
                   printf("Su signo es escorpio\n");
                   else
                   printf("Su signo es libra\n");
                   break;

                case 11:
                 printf("Introduzca su dia de nacimiento\n");
                   scanf("%i", d);
                   if (d>22)
                   printf("Su signo es sagitario\n");
                   else
                   printf("Su signo es escorpio\n");
                   break;

                case 12:
                 printf("Introduzca su dia de nacimiento\n");
                   scanf("%i", d);
                   if (d>21)
                   printf("Su signo es capricornio\n");
                   else
                   printf("Su signo es sagitario\n");
                   break;


                 system ("pause");


    }

}

我嘗試用“if”代替“switch”,但它也凍結了。

最佳答案

您的 scanf()調用應該將指針傳遞給內存中將存儲輸入數據的位置。

例如:

scanf("%i", &d);//&d is the location in memory of d

轉載註明原文: 當我嘗試運行我的Zodiacal標誌程序時,Windows會凍結