2011-10-15 40 views
0

我做了一个程序,告诉你你的黄道标志。它编译,但是当我尝试运行它时,Windows冻结。当我尝试运行我的黄道签署程序时,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"); 


    } 

} 

我的“如果”,而不是“开关”试过,但它冻结了。

+0

是否窗口意味着Windows操作系统? – Lazer

回答

1

你的scanf()调用应该通过一个指针指向存储输入数据的地方。

例如:

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

大声笑,我不能相信它,我知道我必须以这种方式使用它,但我忘了说。谢谢!! – Javi

相关问题