2011-10-15 42 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

相關問題