• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

SitoMan

Indica quantos dias tem um determinado mês (com switch)

10 mensagens neste tópico

Viva!

Quero fazer um programa que dado um determinado número do mês (1, 2, etc) diga quantos dias tem esse mês, ou seja:

1 (Janeiro) : 31 dias

2 (Fevereiro) : 28 dias

etc

O mesmo programa eu fiz com if-else, sendo que me desenrasquei perfeitamente, muito fácil, muito prático. No entanto estou a tentar fazer com switch e estou com uns problemas...

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

int main()
{
    char a;
    int mes,dias;
    printf("Introduza o numero do mes:");
    scanf("%d",&mes);
    switch(a)
    {
    case 2: 
         dias=28;
    break;
    case 4:   
    case 6:    
    case 9:     
    case 11:
         dias=30; 
    break;         
    defaut:
           dias=31;  
           }
    printf("\nO mes %d tem %d dias\n",mes,dias); 
  system("PAUSE");	
  return 0;
}

Desculpem a má indensão.

Segundo me apercebi, quando compilo o programa não chega a iniciar e o compilador também não apresenta erro nenhum.. Não sei o que se passa...

Obrigado,

SitoMan! :)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

defaut devia ser default.

E se aumentares o nível de warnings do teu compilador ele (provavelmente) avisa-te da falta de "default" no switch.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

defaut devia ser default.

E se aumentares o nível de warnings do teu compilador ele (provavelmente) avisa-te da falta de "default" no switch.

Exactamente!

Errei... Faltava o l, sim senhor!

Obrigado!

Em relação a aumentar os warnings, vou ver se encontro por aqui a maneira de os aumentar.

Cumpz! :)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Quando compilares incluis a opçao -Wall

Suponho que estás a falar do "gcc".

Mas, no gcc, a opção -Wall não inclui o warning de switch sem default.

Para obteres esse warning, a opção a usar é "-Wswitch-default".

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

estava a falar do windows

é um bocado ridiculo ter q se especificar que se quer ver warnings no switch, -Wall ja deveria cobrir todos os warning.

n é possivel alterar algum file de configuração do compilador para ja incluir essas opçoes todas? acho que no do VS da pode-se altererar um ficheiro para modificar o nivel d warnings...

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

fonix... estava a falar de compilador no windows, neste caso o da microsoft...

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora