erro codigo [RESOLVIDO]

1. erro codigo [RESOLVIDO]

thiago henrique
thiago211

(usa openSUSE)

Enviado em 29/09/2014 - 19:38h

ola pessoal estou com um erro no exercicio que eu nao entendi . podem me ajudar :

erro :

o
hora.minuto.segundo.c: In function ‘main’:
hora.minuto.segundo.c:23:9: error: ‘else’ without a previous ‘if’
else
^
hora.minuto.segundo.c:34:10: error: ‘else’ without a previous ‘if’
else
^
hora.minuto.segundo.c:44:10: error: ‘else’ without a previous ‘if’
else
^

codigo :


#include <stdio.h>

main ()

{

int horas ;char tipo; ;

printf ("digite o numero de horas :");
scanf ("%d",&horas);

printf("o que quer ver m(minuto)/s(segundo)/d(decimo de segundo) ");
scanf (" %c",&tipo);


if
(tipo == 'm' || tipo == 'M')

horas = horas < 0 ? 0 : horas * 60L ;

printf ("\n\n\t\t %d : %c\n\n ",horas,tipo);

else


if

(tipo == 's' || tipo == 'S')

horas = horas < 0 ? 0 : horas * 3600L ;

printf ("\n\n\t\t %d : %c \n\n",horas,tipo);

else

if


(tipo == 'd' || tipo == 'D')

horas = horas < 0 ? 0 : horas * 36000L ;

printf ("\n\n\t\t %d : %c\n\n",horas,tipo);
else

printf ("\n\n-----------------------------------------------------------------------------------------------------\n");
printf ("---------------------------------------------------------------------------------------------------------\n");
printf ("------------------------------\t\t valor invalido\t\t----------------------------------------------------\n");
printf ("---------------------------------------------------------------------------------------------------------\n");
printf ("---------------------------------------------------------------------------------------------------------\n");



}


o que esta errado ?

quando eu uso switch roda direitnho .

PS :criticas construtivas sao sempre bem vindas.





  


2. Re: erro codigo [RESOLVIDO]

3. Re: erro codigo [RESOLVIDO]

Paulo
paulo1205

(usa Ubuntu)

Enviado em 29/09/2014 - 19:52h

A sintaxe do bloco if/else é a seguinte:

if(condição)
comando_se_condição_verdadeira;
else
comando_se_condição_falsa;


Tanto comando_se_condição_verdadeira quanto comando_se_condição_falsa são um único comando (i.e.: UMA atribuição de variável, ou UMA chamada de função, ou UM goto, ou UM outro if etc.). Por exemplo:

if(x==2)
a=b+5;
else
imprime_fatorial(x);


Se você quiser executar mais do que uma ação simples, você tem de especificar um bloco de comandos, delimitados com os sinais de abrir e de fechar chaves (“{” e “}”). Por exemplo:

if(x==2) {
printf("Informe sua idade: ");
leitura_ok=(scanf("%d", &idade)==1);
}
else {
media=(n1+n2+n3)/3.0f;
printf("A média é %f.\n", media);
}



4. Re: erro codigo [RESOLVIDO]

Thiago Henrique Hüpner
Thihup

(usa Linux Mint)

Enviado em 29/09/2014 - 20:28h

Opa amigo , vejo que se interessou por C , mas anda confundindo C com shell script

Se quiser falar comigo por skype (thihup) , eu posso te dar + exemplos de if's.

Concordo com o paulo , faltou colocar os { e }

[]'s

T+


5. Re: erro codigo [RESOLVIDO]

thiago henrique
thiago211

(usa openSUSE)

Enviado em 29/09/2014 - 20:47h

eu sempre vou precisar incluir uma condicao em else:
ex:

if (2>3)
{
printf ("2 > 3");

}
else

printf ("2 < 3");

ou poderia ser desse jeito tambem (nao cosegui dessa forma):


if (2 > 3)
{
printf ("2 > 3");
}

else


if (2 < 3)
{
printf ("2 < 3");
}


6. Re: erro codigo [RESOLVIDO]

thiago henrique
thiago211

(usa openSUSE)

Enviado em 29/09/2014 - 20:51h

Thihup escreveu:

Opa amigo , vejo que se interessou por C , mas anda confundindo C com shell script

Se quiser falar comigo por skype (thihup) , eu posso te dar + exemplos de if's.

Concordo com o paulo , faltou colocar os { e }

[]'s

T+


seu nome no skype e thiago henrique hüpner




7. Re: erro codigo [RESOLVIDO]

thiago henrique
thiago211

(usa openSUSE)

Enviado em 29/09/2014 - 21:04h

pessoal consegui resolver o problema só que tenho uma duvida , olha como ficou:

#include <stdio.h>

main ()

{

int horas ;char tipo; ;

printf ("digite o numero de horas :");
scanf ("%d",&horas);

printf("o que quer ver m(minuto)/s(segundo)/d(decimo de segundo) ");
scanf (" %c",&tipo);


if
(tipo == 'm' || tipo == 'M'){

horas = horas < 0 ? 0 : horas * 60L ;

printf ("\n\n\t\t %d : %c\n\n ",horas,tipo);



if

(tipo == 's' || tipo == 'S')
{

horas = horas < 0 ? 0 : horas * 3600L ;

printf ("\n\n\t\t %d : %c \n\n",horas,tipo);
}
else

if


(tipo == 'd' || tipo == 'D')
{
horas = horas < 0 ? 0 : horas * 36000L ;

printf ("\n\n\t\t %d : %c\n\n",horas,tipo);
}
else
{
printf ("\n\n-----------------------------------------------------------------------------------------------------\n");
printf ("---------------------------------------------------------------------------------------------------------\n");
printf ("------------------------------\t\t valor invalido\t\t----------------------------------------------------\n");
printf ("---------------------------------------------------------------------------------------------------------\n");
printf ("---------------------------------------------------------------------------------------------------------\n");
}

}
}

por que so compilou com duas chaves ?



8. Re: erro codigo [RESOLVIDO]

Luis R. C. Silva
luisrcs

(usa Linux Mint)

Enviado em 29/09/2014 - 21:33h

As funções em C, quando tês mais de um comando, deve-se colocar as chaves. Por isso eu sempre as coloco, seja com um comando ou com um milhão deles.


9. Re: erro codigo [RESOLVIDO]

Perfil removido
removido

(usa Nenhuma)

Enviado em 29/09/2014 - 23:23h

Olá.

Quando escrever seus códigos em um tópico os escreva entre as tags ["code"] e ["/code"] sem as aspas, pois fica melhor para todos visualizarem o código-fonte.


10. Re: erro codigo [RESOLVIDO]

Thiago Henrique Hüpner
Thihup

(usa Linux Mint)

Enviado em 30/09/2014 - 08:55h

thiago211 escreveu:

Thihup escreveu:

Opa amigo , vejo que se interessou por C , mas anda confundindo C com shell script

Se quiser falar comigo por skype (thihup) , eu posso te dar + exemplos de if's.

Concordo com o paulo , faltou colocar os { e }

[]'s

T+


seu nome no skype e thiago henrique hüpner



Sim , meu nome é Thiago Henrique Hüpner

T+


11. Re: erro codigo [RESOLVIDO]

Thiago Henrique Hüpner
Thihup

(usa Linux Mint)

Enviado em 14/11/2014 - 11:15h

Marque a melhor resposta para manter o forum organizado

Espero ter ajudado

[]'s

T+