1. Este site usa cookies. Ao continuar a usar este site está a concordar com o nosso uso de cookies. Saber Mais.

[Dúvida] Dúvida em C

Discussão em 'Programação' iniciada por PCaseiro, 10 de Setembro de 2012. (Respostas: 6; Visualizações: 665)

  1. PCaseiro

    PCaseiro Power Member

    Boas, andava aqui a explorar um bocadinho de C, através de uns tutoriais da Internet do site:
    http://www.cprogramming.com
    A
    té que me deparei com uma dúvida. Ia na segunda lição em que tinha que usar condições (if, else e else if).
    Experimentei o código fornecido no site (não se se lhe deva chamar código, alguém explica? :P) que era o seguinte:

    #include <stdio.h>


    int main() /* Most important part of the program!
    */
    {
    int age; /* Need a variable... */

    printf( "Please enter your age" ); /* Asks for age */
    scanf( "%d", &age ); /* The input is put in age */
    if ( age < 100 ) { /* If the age is less than 100 */
    printf ("You are pretty young!\n" ); /* Just to show you it works... */
    }
    else if ( age == 100 ) { /* I use else just to show an example */
    printf( "You are old\n" );
    }
    else {
    printf( "You are really old\n" ); /* Executed if no other statement is
    */
    }
    return 0;
    }



    e funcionou tudo ás mil maravilhas até que coloquei o meu que está bastante idêntico mas tentei fazer sozinho sem ver para poder praticar mas dá-me um erro que não consigo resolver:


    #include <stdio.h>
    int main()
    {
    int age;
    printf( "Inserir a idade aqui: " );
    scanf ( "%d", &age);
    if (age < 100){
    printf ( "És bonito");
    }
    else if ( age == 100);{
    printf ("Estás velho!");
    }
    else {
    printf ("Estás mesmo muito velho!");
    }
    return 0;
    }

    Line: 13 error: 'else' without a previous 'if'

    O estranho é que no dado pelo site aparece else sem um if antes e no meu não aceita...

    Agradecia resposta.

    Cumps.
     
  2. nfk

    nfk Power Member

    Não devias ter o ponto e vírgula na linha do else if.
     
  3. PCaseiro

    PCaseiro Power Member

    Thanks ;)
    Eu aqui as voltas por causa de um ponto e vírgula, é melhor começar a habituar-me...
    Já agora podes-me tirar uma dúvida escuso de abrir novo post, qual é mesmo o objetivo dos boolean operators? Estive a ler essa parte mas acho que está um bocado confusa o.o
    Penso que o NOT (!) nos dá o oposto da resposta. Se for False dá-nos True;
    o AND (&&) dá-nos 1 se as duas entradas estiverem certas e 0 se uma for falsa.
    O OR (||) não percebi :s

    Cumps.
     
  4. dagas46

    dagas46 Power Member

    O OR o que faz é devolver TRUE sempre que pelo menos uma das suas entradas for TRUE e só devolve FALSE caso as duas entradas sejam FALSE
     
  5. PCaseiro

    PCaseiro Power Member

    E o restante que eu escrevi está bem? :p
     
  6. nfk

    nfk Power Member

    O AND dá verdadeiro se as duas forem verdadeiras e o OR dá verdadeiro se qualquer das duas for verdadeira. Para um exemplo simples, imagina que no teu código, em vez de quereres verificar só a idade querias também verificar o peso. if (age > 100 && weight > 200) printf ("You're a huge old person"). Não te preocupes muito com isso. Se continuares a programar vai tornar-se óbvia a utilidade desses operadores.
     
  7. PCaseiro

    PCaseiro Power Member

    Tchii acabei de fazer porcaria :s
    Estava a utilizar o Notepad++ e apaguei tudo o que la tinha sem querer (Dicas de C - Por exemplo esta parte dos boolean operators) e gravei :s
    Há forma de recuperar? :(
     

Partilhar esta Página