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

duvida c

Discussão em 'Programação' iniciada por Me and you, 28 de Abril de 2007. (Respostas: 7; Visualizações: 739)

  1. Me and you

    Me and you Power Member

    boas,
    tenho o seguinte código:
    #include <stdio.h>
    main()
    {
    char capital[10];
    printf("Qual e a capital de Espanha?\n");
    scanf("%s", capital);
    if(capital == "madrid")
    printf("Acertou");
    else
    printf("Errou");
    fflush(stdin);
    getchar();
    }

    o problema e que quando escrevo madrid devia dizer que acertei e n, dix que errei. alguem sabe como resolver isto?
     
  2. Cesaria

    Cesaria Power Member

  3. jahred

    jahred Power Member

    tens k incluir a biblioteca string.h:
    #include <string.h>

    para comparares string tens k usar o "strcmp (str1,str2)".

    declaras:
    char capMadrid[] = "madrid";

    e depois usas o strcmp:
    if (strcmp (capMadrid,capital))
    printf("Acertou");
    else
    printf("Errou");
     
  4. Simao

    Simao Power Member

    Em C para comparares duas strings tens que usar a funcao strcmp.

    if(strcmp(capital,"madrid") == 0)

    etc etc

    edit: Ops too late, sorry
     
  5. Simao

    Simao Power Member

    Isso esta mal.

    O strcmp devolve o numero de diferenças, ou seja, retorna 0 se as strings forem iguais.

    teria que ser:
    if (!strcmp (capMadrid,capital))
    printf("Acertou");
    else
    printf("Errou");
     
  6. jahred

    jahred Power Member

    lol tens razão, my bad! =P
     
  7. Cesaria

    Cesaria Power Member

    Yep, o jahred devia ter mais atenção :-D Mesmo assim acho que não existe a necessidade de criar uma nova variável para o teste
    bastava:

    if (!strcmp (capital,"madrid"))
    :002:
     
  8. Me and you

    Me and you Power Member

    ah então é assim!!
    obrigado a todos
     

Partilhar esta Página