#c
#c
Вопрос:
Я создал программу, которая сообщает вам ваш знак зодиака. Она компилируется, но когда я пытаюсь ее запустить, Windows зависает.
Это код, который я использовал: http://codepad.org/V4WAIavW
#include <stdlib.h>
#include <stdio.h>
int main()
{
int d, m;
printf("Bienvenido al calculador de signo zodiacal 3000n");
printf("Por favor introduzca su mes de nacimienton");
scanf("%i", amp;m);
system ("pause");
switch(m)
{
case 1:
printf("Introduzca su dia de nacimienton");
scanf("%i", d);
if (d>20)
printf("Su signo es acuarion");
else
printf("Su signo es capricornion");
break;
case 2:
printf("Introduzca su dia de nacimienton");
scanf("%i", d);
if (d>19)
printf("Su signo es piscisn");
else
printf("Su signo es acuarion");
break;
case 3:
printf("Introduzca su dia de nacimienton");
scanf("%i", d);
if (d>20)
printf("Su signo es Ariesn");
else
printf("Su signo es piscisn");
break;
case 4:
printf("Introduzca su dia de nacimienton");
scanf("%i", d);
if (d>20)
printf("Su signo es tauron");
else
printf("Su signo es ariesn");
break;
case 5:
printf("Introduzca su dia de nacimienton");
scanf("%i", d);
if (d>21)
printf("Su signo es geminisn");
else
printf("Su signo es tauron");
break;
case 6:
printf("Introduzca su dia de nacimienton");
scanf("%i", d);
if (d>21)
printf("Su signo es cancern");
else
printf("Su signo es geminisn");
break;
case 7:
printf("Introduzca su dia de nacimienton");
scanf("%i", d);
if (d>23)
printf("Su signo es leon");
else
printf("Su signo es cancern");
break;
case 8:
printf("Introduzca su dia de nacimienton");
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 nacimienton");
scanf("%i", d);
if (d>23)
printf("Su signo es libran");
else
printf("Su signo es virgon");
break;
case 10:
printf("Introduzca su dia de nacimienton");
scanf("%i", d);
if (d>23)
printf("Su signo es escorpion");
else
printf("Su signo es libran");
break;
case 11:
printf("Introduzca su dia de nacimienton");
scanf("%i", d);
if (d>22)
printf("Su signo es sagitarion");
else
printf("Su signo es escorpion");
break;
case 12:
printf("Introduzca su dia de nacimienton");
scanf("%i", d);
if (d>21)
printf("Su signo es capricornion");
else
printf("Su signo es sagitarion");
break;
system ("pause");
}
}
Я попытался использовать «if» вместо «switch», но он тоже зависает.
Комментарии:
1. Означает ли Windows операционную систему Windows?
Ответ №1:
Ваши scanf()
вызовы должны передавать указатель на место в памяти, где будут храниться входные данные.
Например:
scanf("%i", amp;d); // amp;d is the location in memory of d
Комментарии:
1. лол, я не могу в это поверить, я знаю, что должен использовать это таким образом, но я забыл это указать. Спасибо!!