[ create a new paste ] login | about

Link: http://codepad.org/HsZLwFrp    [ raw code | output | fork ]

C, pasted on Jul 19:
#include <stdio.h>
#include <string.h>  //Arquivo com o protótipo de strcmp() e strlwr().

#define MAX 6     //Constante com o número de elementos do vetor.
#define FALSE -1  //Constante para emular o tipo lógico. Não pode ser 0 pois é um posição de vetor.

//Definição do tipo de usuário Lista.
typedef struct T_lista {
        char nome[255];
        char telefone[10];
        }Lista;
        
//Função para consultar na lista.
int consulta(Lista *ptr, char *nome);

int main(void) {

    char nome[255];
    int indice;
    //Vetor de tipo composto sendo inicializado.
    Lista lista[] = {"Fulano","334-45566","Cicrano","112-23344","Beltrano","551-12233",
                     "Zé","443-34422","Toinho","661-12233","Luizinho","776-65577"};

    printf("Digite o nome:");scanf("%s",nome);
    strlwr(nome);
    system("cls");

    //Índice não poderia assumir o valor zero pois é uma posição válida.
    indice = consulta(lista,nome);
   
    if(indice != FALSE){
      printf("O numero de %s e %s. \n\n",lista[indice].nome,lista[indice].telefone);
      }
      else
          printf("%s nao consta na lista! \n\n",nome);


system("PAUSE");
return 0;
}

int consulta(Lista *ptr, char *nome) {
     int i;
    
     for (i = 0; i < MAX; i++) {
         //strcmp retorna zro caso as strings sejam.
         if (!strcmp(strlwr(ptr[i].nome),nome)) //A função strlwr converte para minúsculo.
            return i;                           //Retorna índice do elemento.
      }
    //Se não encontrar retorna falso.
    return FALSE;
}


Output:
1
2
3
4
In function `consulta':
undefined reference to `strlwr'
In function `main':
undefined reference to `strlwr'


Create a new paste based on this one


Comments: