[C] Erro

Ruanes

Power Member
oi
venho aqui maios uma vez por uma duvida que tenho num codigo
desta vez e por causa do switch.
Código:
#include <stdio.h>
int main()
{
char num;
printf("1=%s\n2=%s\n3=%s\n4=%s\n5=%s\n6=%s\n7=%s\n8=%s\n9=%s\n10=%s\n11=%s\n12=%s\n","Janeiro","Fevereiro","Marco","Abril","Maio","Junho","Julho","Agosto","Setembro","Outubro","Novembro","Dezembro");
printf("Escreve o numero correspondente ao mes: "); 
num=getchar();
fflush(stdin);
switch (num)
{
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
puts("\nEsse mes tem 31 dias.");
break;
case 2:
puts("\nEsse mes tem 28 dias em anos nao bissextos e 29 em anos bissextos.");
break;
case 4:
case 6:
case 9:
case 11:
puts("\nEsse mes tem 30 dias.");
break;
default:
puts("Opcao errada");
}
}
o problema e que quando escrevo um numero da-me logo opção errada.
 
Declara a variável "num" como "int". Não te esqueças de usar a função atoi() para converter a string num inteiro. Para além disto, vais ter de ler o input com gets().
 
Declara a variável "num" como "int". Não te esqueças de usar a função atoi() para converter a string num inteiro. Para além disto, vais ter de ler o input com gets().
não estou a perceber bem. Se eu declarar "num" como "int" depois como é que o leio com gets(). Depois acho que tambem nao consigo converter num(int) numa string porque como disseste a função atoi() converte strings em inteiros e nao ao contrario. (isto segundo o meu compilador)

p.s. Nao estou a perceber bem o que queres dizer. Isto tudo seja talvez por má interpretação minha do post.
 
Back
Topo