当我尝试运行我的Zodiac标志程序时,Windows会冻结

时间:2011-10-15 20:59:28

标签: c

我做了一个程序,告诉你你的黄道十二宫。它编译,但当我尝试运行它时,Windows冻结。

这是我使用的代码:http://codepad.org/V4WAIavW

#include <stdlib.h>
#include <stdio.h>

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”,但它也冻结了。

1 个答案:

答案 0 :(得分:1)

您的scanf()调用应该将指针传递给内存中将存储输入数据的位置。

例如:

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