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

tuasite

Programa em c temperatura

7 mensagens neste tópico

Alguem me pode ajudar fiz o codigo seguinte:

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

int main()
{
    int temperatura;
    printf("Digite a temperatura:\n");
scanf("%d",&temperatura);
switch (temperatura)
{
    case 0..4 : printf("GELADO");
    break;
    case '5,6' : printf("MUITO FRIO");
    break;
    case '7' : printf("FRIO");
    break;
    case '8..12' : printf("FRESCO");
    break;
    case '13..17' : printf("AMENO");
    break;
    case '18..23' : printf("QUENTE");
    break;
    case '24..45' : printf("MUITO QUENTE");
    break;
    }

return 0;
}

Nao da erro mas nao funiciona também. Obrigado  :P

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

case '24..45' :

Não podes fazer isto.

tens de ter um case para cada caso, por exemplo:

case 24:

    .....

case 25:

    ......

etc

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Boas amigo obrigado, entao para cada numero de 0 a 45 tenho que criar um case?? como posso por se o numero for diferente de 0 e 45 fazer um printf("Nao Analisado"), obrigado

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Claro que para intervalos de números talvez a melhor solução seja utilizar o if.

if((num > 2) && (num <5)){
     printf("maior que dois e menos que 5");;
}

Em relação à outra questão, usas a mesma técnica:

if((num < 0) && (num > 45)){
     printf("Não assinalado");;
}

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Neste caso talvez seja mais fácil usar ifs...

if(t=>0 && t<=4) ...
else if(t==4 || t==6) ...
else if(t==7)...
...
else puts("indefinido")

Com o switch:

switch(t)
{
  case 0:
  case 1:
  case 2:
  case 3:
  case 4:
    puts("aaaaa");
    break;
  case 5:
  case 6:
    puts("bbbbb");
    break;
  case 7:
    puts("ccccc");
    break;
  ...
  default: puts("indefinido");

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Boas amigo, obrigadíssimo pelo esclarecimento, és o máximo. Cumprimentos.  :P

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