Beispiel #1
0
void menu_alterarProduto(Produto* lista){
    system("cls");

    Produto* novo = instancia();
    int codigo;

    printf("--------ALTERACAO DE PRODUTO-----------");

    printf("\n\nDigite o codigo do produto:");
    scanf("%d",&codigo);

    printf("\n\nDigite o novo codigo:");
    scanf("%d",&(novo->codigo));
    printf("\nDigite o novo nome do produto:");
    fflush(stdin);
    gets(&(novo->nome));
    printf("\nDigite o novo valor do produto:");
    scanf("%f",&(novo->valor));
    printf("\nDigite a novo quantidade do produto:");
    scanf("%d",&(novo->qtd));

    switch(alterar(lista,novo,codigo)){
    case 9:
        sprintf(_resposta, "Produto alterado com sucesso!\n    nome:   %s\n    codigo: %d",lista->nome,lista->codigo);
        break;
    case 8:
        sprintf(_resposta, "Produto nao pode ser alterado!");
        break;
    case 7:
        sprintf(_resposta, "Produto nao encontrado!");
        break;
    }
}
/* ==========================================================================
 * ============================ FUNÇÃO PRINCIPAL ============================
 * =============================== NÃO ALTERAR ============================== */
int main() {

	/* Arquivo */
	int carregarArquivo = 0;
	scanf("%d\n", &carregarArquivo); // 1 (sim) | 0 (nao)
	if (carregarArquivo) carregar_arquivo();



	/* Tabela Hash */
	int tam;
	scanf("%d", &tam);
	tam = prox_primo(tam);

	Hashtable tabela;
	criar_tabela(&tabela, tam);
	if (carregarArquivo) carregar_tabela(&tabela);



	/* Execução do programa */
	int opcao = 0;
	while(opcao != 6) {
		scanf("%d", &opcao);
		switch(opcao) {

		case 1:
			getchar();
			cadastrar(&tabela);
			break;
		case 2:
			getchar();
			alterar(tabela);
			break;
		case 3:
			getchar();
			buscar(tabela);
			break;
		case 4:
			remover(&tabela);
			break;
		case 5:
			imprimir_tabela(tabela);
			break;
		case 6:
			liberar_tabela(&tabela);
			break;

		case 10:
			printf("%s\n", ARQUIVO);
			break;

		default:
			ignore();
			printf(OPCAO_INVALIDA);
			break;
		}
	}
	return 0;
}
Beispiel #3
0
/* --------------------------------------------------------------------------------------------------------------------------------*/
main ()
{
    int num;

    while (num!=0){
    printf ("********************************************************************************\n");
    printf ("************** GESTAO DE RECURSOS HUMANOS DA EMPRESA XPTO *********************\n\n\n");
    printf ("***********************************************a empresa tem %d funcionario(s)***\n", numfunc);
    printf (" 1. inserir colaborador\n\n");
    printf (" 2. listar colaboradores\n\n");
    printf (" 3. trocar categoria profissional\n\n");
    printf (" 4. aumento do ordenado de todos os colaboradores\n\n");
    printf (" 5. dar um aumento (em %) a um colaborador com determinado nome\n\n");
    printf (" 6. listar os dados do colaborador com ordenado mais alto\n\n");
    printf (" 7. listar todos os aumentos de ordenado que um determinado colaborador teve ate a data actual\n\n");
    printf (" 8. listar os colaboradores (numero, nome, data de admissao) da empresa de uma determinada categoria profissional\n\n");
    printf (" 9. listar os colaboradores (numero, nome e categoria profissional) da empresa, cujo o salario actual e superior a um determinado valor\n\n");
    printf (" 10. Alterar os dados pessoais de um colaborador\n\n");
    printf (" 11. Listar toda a informaÁ„o relativa a um determinado colaborador\n\n");
    printf (" 12. Tratar da demissao de um colaborador\n\n");
    printf (" 13. sair\n\n");
    printf ("->");
    scanf ("%i", &num);
    switch (num) {
           case 1:  inserir(); break;

           case 2: listar(); break;

           case 3: trocar(); break;

           case 4: aumento(); break;

           case 5: aumento2 (); break;

           case 6: listar2 (); break;

           case 7: listaum(); break;

           case 8: listarcat(); break;

           case 9: listar3(); break;

           case 10: alterar (); break;

           case 11: listfunc (); break;

           case 12: demitir () ; break;

           case 13: return 0;

           default: printf("opcao errada\n");getchar(); return main(); break;
                }

                }

system ("pause");
return 0;
}
Beispiel #4
0
// Funções
void main()
{
  int op1;

  do
  {
    // Menu
    op1 = menu();
    switch(op1)
    {
      // 1. Cadastrar
      case 1: cadastrar();
              break;

      // 2. Alterar
      case 2: alterar();
              break;

      // 3. Excluir
      case 3: excluir();
              break;

      // 4. Pesquisar
      case 4: pesquisar();
              break;

      // 5. Carregar banco de dados
      case 5: carregar();
              break;

      // 6. Salvar banco de dados
      case 6: salvar();
              break;

      // 7. Limpar banco de dados
      case 7: limpar();
              break;

      // 8. Sair
      case 8: printf("\n\n\tAte mais!\n");
      		  getch();
              break;

      // Outros
      default: printf("\n\n\tDigite uma opcao valida!\n\t[Pressione qualquer tecla para continuar...]\n");
      	      getch();
               break;
    }
  }
  while (op1!=8);
Beispiel #5
0
int main(int argc, char *argv[])
{
     while (op!=6){
      printf("\n\n ----------------------- ");
      printf("\n 1 - Incluir ");
      printf("\n 2 - Listar ");
      printf("\n 3 - Alterar ");
      printf("\n 4 - Excluir ");
      printf("\n 5 - Consultar ");
      printf("\n 6 - Sair ");
      printf("\n\n Escolha uma opcao: ");
      scanf("%d",&op);
      system("cls");
switch (op){
        case 1:{ 
     printf("\n Digite o  valor a ser inserido \n " );
     printf("\n");
     scanf("%d",&val);        
     inserir(x,&pos,&fim,val);
      break;
      }
   case 2:{
      imprimir(x,&fim);  
      break;
      }
   case 3:{
      alterar(x,k,&fim);
      printf("\n"); 
      break;
      } 
   case 4:{
        printf("\n Digite a posicao do valor a ser removido\n");
        printf("\n");
        scanf("%d",&pos);
        remover(x,&fim,pos);
     break;
     }     
   case 5:{
       printf ("\n Digite a posição do valor \n");
       scanf("%d",&k); 
       acessar(x,k,&fim);
      break;
      }
   case 6:{ 
      printf("\nSaindo...\n");
      system("\n\npause");   
      break;
      } 
      }
      }  
}
Beispiel #6
0
int menu_clientes() 
		
        
        {
        int op;
        int n;
	       clientes cli[NR];
	       for(n=0;n<NR;n++)
		   cli[n].estado=0;   /* limpa todo o Array de registos */
        system ("cls"); gotoxy(20,5);
        ler(cli);
        do {
        
		system ("cls");						        
		printf("\n\t|============================================|"); system("COLOR 0B"); /* fundo preto caracteres azul */
    	printf("\n\t|              C E M  R O D A S              |");
    	printf("\n\t|                                            |");
	   	printf("\n\t|                                            |");
    	printf("\n\t|               C L I E N T E S              |");
    	printf("\n\t|                                            |");
    	printf("\n\t|============================================|");
        printf("\n\t*                                            *"); 
        printf("\n\t*               1 - Inserir                  *");
        printf("\n\t*                                            *"); 
        printf("\n\t*               2 - Alterar                  *");
		printf("\n\t*                                            *"); 
        printf("\n\t*               3 - Eliminar                 *");
        printf("\n\t*                                            *");
        printf("\n\t*               4 - Listar Clientes          *");
        printf("\n\t*                                            *");
        printf("\n\t*               0 - Menu Principal           *");
		printf("\n\t*                                            *");
        printf("\n\t**********************************************");
        printf("\n\n\t             Qual a sua opcao? ");
				
				scanf("%d",&op);
               int n;
					switch (op) {
                        case 1: inserir_cliente(cli); break;
                        case 2: alterar(cli); break;
                        case 3: eliminar(cli); break;
						case 4: mostrar(cli); break;
                        case 0:
							gravar_clientes(cli); 
							system ("cls"); break;
                        default: printf("Opcao invalida!\n");
                }
        } while (op!=0);return (0);
}
int main(){

int a = 10;
int b = 20;

int * ptr_1 = &a;
int * ptr_2 = &b;

alterar(&ptr_1, &ptr_2);

printf ("O valor de A e': %d \n", a);
printf ("O valor de B e': %d \n", b);


//Aqui, chamar a funcao alterar
//Aqui, imprimir os valores de a e b usando os ponteiros
}
//----------------------------Implementação da Main-----------------------------
int main ()
{
   int opcao, num1, num2;
   int pos, cap;
   TLista lista;

   printf ("Capacidade da lista: ");
   scanf ("%d", &cap);  getchar();

   lista = inicializar (cap);

   //Um menu será exibido ao usuário até que este opte pela saída do sistema
   do {
      //é exibido o menu ao usuário e retornada a alternativa escolhida
      opcao = menu ();

      switch (opcao) {
         //Inserir
         case 1: printf ("Entre com o número a ser inserido: ");
                 scanf ("%d", &num1); getchar();

                 if (inserir (&lista, num1) == TRUE) {
                    printf ("Elemento inserido com sucesso!\n");
                 } else {
                    printf ("ERRO: Elemento não inserido!\n");
                 }
                 break;

         //Remover
         case 2: printf ("Entre com o número a ser removido: ");
                 scanf ("%d", &num1); getchar();

                 if (remover (&lista, num1)) {  //o mesmo que remover (&lista, num1) > 0
                    printf ("Elemento removido com sucesso!\n");
                 } else {
                    printf ("ERRO: Elemento não removido!\n");
                 }
                 break;

         //Alterar
         case 3: printf ("Entre com o número a ser alterado: ");
                 scanf ("%d", &num1); getchar();

                 printf ("Entre com o novo número: ");
                 scanf ("%d", &num2); getchar();

                 if (alterar (&lista, num1, num2)) {
                    printf ("Elemento alterado com sucesso!\n");
                 } else {
                    printf ("ERRO: Elemento não alterado!\n");
                 }
                 break;

         //Buscar
         case 4: printf ("Entre com o número a ser buscado: ");
                 scanf ("%d", &num1); getchar();

                 //"cap" não é mais usada nesse momento
                 pos = buscar (lista, num1, &cap);

                 //O elemento foi encontrado e retornada a posição de sua
                 //primeira ocorrência
                 if (pos >= 0) {
                    printf ("Elemento encontrado na lista (posicao %d)!\n", pos);
                 } else {
                    printf ("ERRO: Elemento não encontrado!\n");
                 }
                 break;

         //Exibir
         case 5: exibir (lista);
                 break;

         //Tamanho
         case 6: printf ("Há %d elementos na lista!\n", tamanho(lista));
                 break;

         //Sair
         case 7: printf ("Fim do programa!\n");
                 break;

         //Opção inválida!
         default: printf ("Opção inválida! Tente novamente!\n");

      }
      getchar();
   } while (opcao != 7);
}
Beispiel #9
0
void ConsCliente::on_pushButton_2_clicked()
{
    cli.cpf = ui->lineEdit_2->text().toStdString();
    cli.nome = ui->lineEdit->text().toStdString();
    alterar(cli,indice);
}
/* ------------------------------ */
int main(){
	
	int opcao;
	int qtAlunos=0, indice, retorno;
	int ra;
	aluno Alunos[MAX_ALUNOS];
	aluno novoAluno;
	
	do {
		scanf("%d",&opcao);

		switch(opcao){

			case INSERIR:
				scanf("%d %d/%d/%d %d %[^\n]s", &(novoAluno.ra), 
				&(novoAluno.dataIngresso.dia), &(novoAluno.dataIngresso.mes), &(novoAluno.dataIngresso.ano),
				&(novoAluno.creditos),(novoAluno.nome));

				retorno = inserir(Alunos, qtAlunos, novoAluno);
				if (retorno == 1)
					qtAlunos++;
				else if (retorno == -1)
					printf(FRASE_CADASTRO_CHEIO);
				else 
					printf(FRASE_JACADASTRADO);

				break;


			case ALTERAR:
				scanf("%d",&ra);

				if (alterar(Alunos, qtAlunos, ra) == 0)
					printf(FRASE_ALUNO_NAO_ENCONTRADO);

				break;


			case REMOVER:
				scanf("%d",&ra);

				if (remover(Alunos, qtAlunos, ra))
					qtAlunos--;
				else
					printf(FRASE_ALUNO_NAO_ENCONTRADO);

				break;


			case BUSCAR:
				scanf("%d",&ra);

				indice = (buscar(Alunos, qtAlunos, ra));

				if (indice != -1){
					printf("%06d - ",Alunos[indice].ra);
					printf("%s - ",Alunos[indice].nome);
					printf("%02d/%02d/%04d - ",Alunos[indice].dataIngresso.dia, Alunos[indice].dataIngresso.mes, Alunos[indice].dataIngresso.ano);
					printf("%04d\n",Alunos[indice].creditos);
				} else
					printf(FRASE_ALUNO_NAO_ENCONTRADO);

				break;


			case LISTAR:

				if (qtAlunos > 0)
					listar(Alunos, qtAlunos);
				else
					printf(FRASE_CADASTRO_VAZIO);
				break;


			case LISTARPORNOME:

				if (qtAlunos > 0)
					listarPorNome(Alunos, qtAlunos);
				else
					printf(FRASE_CADASTRO_VAZIO);
				break;

			
		}	
	} while(opcao != 0);
	
	
	return (0);

}
Beispiel #11
0
int novocadastro(void){
f = fopen("bd.bin", "a+b");
    char c;
    if(!f){
     printf("Erro na abertura do arquivo.");
         exit(1);}
    printf("\n** CADASTRO DE NOVO USUARIO **\n");
    printf("Obs.: Digite 'x' nos locais cujo o preenchimento nao seja preciso.\n");
    printf("Ex.: Complemento: x\n\n");
    printf("NOME E ULTIMO SOBRENOME: ");
        scanf(" %s %s", cad.n, cad.u);
            fwrite(&cad.n, sizeof(char), 50, f);
            fwrite(&cad.u, sizeof(char), 50, f);
    printf("SENHA (Max 10 caracteres): ");
        scanf(" %s", cad.senha);
            fwrite(&cad.senha, sizeof(char), 11, f);
    printf("CPF (So numeros): ");
        scanf("%s", cad.cpf);
            fwrite(&cad.cpf, sizeof(char), 12, f);
    printf("DATA DE NASCIMENTO (Ex: 11-02-1954): ");
        scanf(" %s", cad.data);
            fwrite(&cad.data, sizeof(char), 11, f);
    printf("ENDERECO: Rua/Av ");
        scanf(" %s %s", cad.e1, cad.e2);
            fwrite(&cad.e1, sizeof(char), 20, f);
            fwrite(&cad.e2, sizeof(char), 20, f);
    printf("NUMERO: ");
       scanf(" %s", cad.num);
            fwrite(&cad.num, sizeof(char), 7, f);
    printf("COMPLEMENTO: ");
       scanf(" %s", cad.comp);
            fwrite(&cad.comp, sizeof(char), 7, f);
    printf("BAIRRO: ");
       scanf(" %s", cad.bar);
          fwrite(&cad.bar, sizeof(char), 30, f);
     printf("CEP (Ex.: 60000-000): ");
        scanf(" %s", cad.cep);
            fwrite(&cad.cep, sizeof(char), 10, f);
    printf("CIDADE: ");
        scanf(" %s", cad.c);
           fwrite(&cad.c, sizeof(char), 20, f);
   printf("TEL: ");
        scanf(" %s", cad.tel);
            fwrite(&cad.tel, sizeof(char), 12, f);
   printf("CEL: ");
        scanf(" %s", cad.cel);
            fwrite(&cad.cel, sizeof(char), 12, f);
    fwrite(&cad.s, sizeof(int), 1, f);
    fwrite(&cad.cred, sizeof(int), 1, f);
    fwrite(&cad.deposito, sizeof(int), 1, f);
    fwrite(&cad.saque, sizeof(int), 1, f);
   printf("\n** CONTA CRIADA COM SUCESSO! **\n\n");
   fclose(f);
line:   printf("(1) PARA ACESSAR SUA CONTA\n");
   printf("(2) PARA ALTERAR DADOS CADASTRAIS\n");
   printf("(3) PARA ENCERRAR\n\n");
   printf("DIGITE SUA OPCAO: ");
   scanf(" %c", &c);
    switch(c){
    case '1':
        conta();
        break;
    case '2':
        alterar();
        break;
    case '3':
        printf("\n** AGRADECEMOS A SUA PREFERENCIA. **\n");
            fim();
    default:
        printf("\nESCOLHA UMA OPCAO VALIDA\n");
            goto line;}
}
Beispiel #12
0
void alterar(){
    char g;
    printf("\n** ALTERACAO DE DADOS CADASTRAIS **\n\n");
    printf("(1) NOME \n(2) SOBRENOME \n(3) SENHA \n(4) CPF \n(5) DATA DE NASCIMENTO");
    printf("\n(6) ENDERECO \n(7) CIDADE \n(8) TELEFONES\n");
    printf("\nDIGITE SUA OPCAO: ");
    scanf(" %c", &g);
    switch(g){
        case '1':
            printf("NOVO NOME: ");
            scanf(" %s", cad.n);
            fwrite(&cad.n, sizeof(char), 50, f);
            printf("\n(1) MENU ANTERIOR   (2) ACESSAR CONTA   (3) ENCERRAR\n\n ");
                printf("\nDIGITE SUA OPCAO: ");
                scanf(" %c", &g);
                 if( g == '1') alterar();
                 if( g == '2') conta();
                 if( g != '1' && g != '2') { fim(); }
        case '2':
            printf("NOVO SOBRENOME: ");
            scanf(" %s", cad.u);
            fwrite(&cad.u, sizeof(char), 50, f);
            printf("\n(1) MENU ANTERIOR   (2) ACESSAR CONTA   (3) ENCERRAR\n\n ");
                printf("\nDIGITE SUA OPCAO: ");
                scanf(" %c", &g);
                 if( g == '1') alterar();
                 if( g == '2') conta();
                 if( g != '1' && g != '2') { fim(); }
        case '3':
            char senh[11];
            printf("SENHA ANTIGA: ");
            scanf(" %s", senh);
        if(strcmp(senh, cad.senha)){
            printf("SENHA NAO COMPATIVEL.\nACESSO NAO PERMITIDO.\n\n");
            alterar();
        }
        else{
            printf("NOVA SENHA: ");
            scanf(" %s", cad.senha);
            fwrite(&cad.senha, sizeof(char), 11, f);
            printf("\n(1) MENU ANTERIOR   (2) ACESSAR CONTA   (3) ENCERRAR\n\n ");
                printf("\nDIGITE SUA OPCAO: ");
                scanf(" %c", &g);
                 if( g == '1') alterar();
                 if( g == '2') conta();
                 if( g != '1' && g != '2') { fim(); } } ;
        case '4':
            printf("NOVO CPF: ");
            scanf(" %s", cad.cpf);
            fwrite(&cad.cpf, sizeof(char), 12, f);
            printf("\n(1) MENU ANTERIOR   (2) ACESSAR CONTA   (3) ENCERRAR\n\n ");
                printf("\nDIGITE SUA OPCAO: ");
                scanf(" %c", &g);
                 if( g == '1') alterar();
                 if( g == '2') conta();
                 if( g != '1' && g != '2') { fim(); }
        case '5':
            printf("NOVA DATA DE NASCIMENTO: ");
            scanf(" %s", cad.data);
            fwrite(&cad.data, sizeof(char), 11, f);
            printf("\n(1) MENU ANTERIOR   (2) ACESSAR CONTA   (3) ENCERRAR\n\n ");
                printf("\nDIGITE SUA OPCAO: ");
                scanf(" %c", &g);
                 if( g == '1') alterar();
                 if( g == '2') conta();
                 if( g != '1' && g != '2') { fim(); }
        case '6':
            printf("NOVO ENDEREÇO: Rua/Av ");
            scanf(" %s %s", cad.e1, cad.e2);
                fwrite(&cad.e1, sizeof(char), 20, f);
                fwrite(&cad.e2, sizeof(char), 20, f);
            printf("NUMERO: ");
            scanf(" %s", cad.num);
                fwrite(&cad.num, sizeof(char), 7, f);
            printf("COMPLEMENTO: ");
            scanf(" %s", cad.comp);
                fwrite(&cad.comp, sizeof(char), 7, f);
            printf("BAIRRO: ");
            scanf(" %s", cad.bar);
                fwrite(&cad.bar, sizeof(char), 30, f);
            printf("CEP (Ex.: 60000-000): ");
                scanf(" %s", cad.cep);
                fwrite(&cad.cep, sizeof(char), 10, f);
            printf("\n(1) MENU ANTERIOR   (2) ACESSAR CONTA   (3) ENCERRAR\n\n ");
                printf("\nDIGITE SUA OPCAO: ");
                scanf(" %c", &g);
                 if( g == '1') alterar();
                 if( g == '2') conta();
                 if( g != '1' && g != '2') { fim(); }
        case '7':
            printf("NOVA CIDADE: ");
            scanf(" %s", cad.c);
            fwrite(&cad.c, sizeof(char), 20, f);
            printf("\n(1) MENU ANTERIOR   (2) ACESSAR CONTA   (3) ENCERRAR\n\n ");
                printf("\nDIGITE SUA OPCAO: ");
                scanf(" %c", &g);
                 if( g == '1') alterar();
                 if( g == '2') conta();
                 if( g != '1' && g != '2') { fim(); }
        case '8':
            printf("NOVO TELEFONE: ");
            scanf(" %s", cad.tel);
            fwrite(&cad.senha, sizeof(char), 11, f);
            printf("NOVO CELULAR: ");
            scanf(" %s", cad.cel);
            fwrite(&cad.cel, sizeof(char), 12, f);
            printf("\n(1) MENU ANTERIOR   (2) ACESSAR CONTA   (3) ENCERRAR\n\n ");
                printf("\nDIGITE SUA OPCAO: ");
                scanf(" %c", &g);
                 if( g == '1') alterar();
                 if( g == '2') conta();
                 if( g != '1' && g != '2') { fim(); }
        }
}
Beispiel #13
0
int main(void)
{
   AGENDA * pAgenda;

   int iEntradas, op;
   iEntradas=0;

   pAgenda = (AGENDA *) malloc(sizeof(AGENDA)); /* alocando espaco para a posicao 0
	                                           do vetor */
   if( pAgenda == NULL )
   {
      printf("\nErro de alocacao de memoria.");
      exit(1);
   }

   do
   {
      fflush(stdin);
      printf("\n1 - Inclusao");
      printf("\n2 - Alteracao");
      printf("\n3 - Consulta");
      printf("\n4 - Excluir");
      printf("\n5 - Pesquisar");
      printf("\n9 - Sair");
      printf("\nEntre com uma opcao -> ");
      scanf("%d", &op);

      if( op == 1 )
      {
         /* farei aqui para ilustrar algumas formas de manipular ponteiros */
         fflush(stdin);

         /* alocacao de ponteiros em funcoes requer trabalhar com ponteiros
            para ponteiros */
         aloca(&pAgenda, &iEntradas);

         printf("*** Inclusao ***");
         printf("\nEntre com o Nome:");
         /* forma 1 - endereco ponteiro inicial + x posicoes na memoria
		      quando se trabalhar com o endereco, deve-se usar -> */
         gets((pAgenda+iEntradas)->nome);
         fflush(stdin);

         printf("Entre com o email:");
         /* forma 2 - endereco ponteiro inicial + x posicoes na memoria
                      quando se trabalhar com ponteiro (conte?do do endereco ou *),
                      deve-se usar o . (ponto) */
         gets((*(pAgenda+iEntradas)).email);
         fflush(stdin);

         printf("Entre com o telefone:");
         /* forma 3 - trabalhando como vetor */
         scanf("%d", &pAgenda[iEntradas].telefone);
         fflush(stdin);

         iEntradas++;
      }
      else if( op == 2)
      {
         alterar(pAgenda, iEntradas);
      }
      else if( op == 3 )
      {
         /* se o vetor de estruturas vai ser somente lido
	    nao eh preciso passar ponteiro para ponteiro */
         ordena(pAgenda, iEntradas);
         consulta(pAgenda, iEntradas);
      }
      else if( op == 4)
      {
         ordena(pAgenda, iEntradas);
         excluir(&pAgenda, &iEntradas);
      }
      else if( op == 5)
      {
         ordena(pAgenda, iEntradas);
         pesquisar(pAgenda,iEntradas);
      }
   } while(op!=9);
}
Beispiel #14
0
//----------------------------Implementacao da Main-----------------------------
int main ()
{
   TLista L = NULL;     //A lista, inicialmente vazia
    
   int opcao, num1, num2;
   TLista pos;
   TLista aux1, aux2;	
    
   //Um menu sera exibido ao usuario ate que este opte pela saida do sistema
   do {
      //E exibido o menu ao usuario e retornada a alternativa escolhida  
      opcao = menu ();
      
      switch (opcao) {
         //Inserir    
         case 1: printf ("Entre com o numero a ser inserido: ");
                 scanf ("%d", &num1);
                 if(L == NULL){
                   if (inserir (&L, num1,&aux1,&aux2) == TRUE) {  //ou apenas: if (inserir (&L, num))
                    printf ("Elemento inserido com sucesso!\n");
                   } else {
                    printf ("ERRO: Elemento nao inserido!\n");
                   }
                 }
                 else{
                 	pos = buscar(L,num1);
                 	if(pos == NULL)
                 	{
                 		if (inserir (&L, num1,&aux1,&aux2) == TRUE) {  
                          printf ("Elemento inserido com sucesso!\n");
                         }  else {
                         printf ("ERRO: Elemento ja existe!\n");
                             }	
                 	}
                 	else printf ("ERRO: Elemento ja existe!\n");
                 }
                 break;
                 
         //Remover    
         case 2: printf ("Entre com o numero a ser removido: ");
                 scanf ("%d", &num1);
                 
                 if (remover (&L, num1)) {
                    printf ("Elemento removido com sucesso!\n");
                 } else {
                    printf ("ERRO: Elemento nao removido!\n");
                 }
                 break;
                 
         //Alterar    
         case 3: printf ("Entre com o numero a ser alterado: ");
                 scanf ("%d", &num1);
                 
                 printf ("Entre com o novo numero: ");
                 scanf ("%d", &num2);
                 
                 if (alterar (L, num1,num2,&aux1,&aux2)) {
                    printf ("Elemento alterado com sucesso!\n");
                 } else {
                    printf ("ERRO: Elemento ja existe!\n");
                 }
                 break;
                 
         //Buscar    
         case 4: printf ("Entre com o numero a ser buscado: ");
                 scanf ("%d", &num1);
                 
                 pos = buscar (L, num1);
                 
                 //O elemento foi encontrado e retornada a posi??o de sua
                 //primeira ocorr?ncia
                 if (pos != NULL) {   //o mesmo que if (pos)
                    printf ("Elemento encontrado na lista (posicao %p)!\n", pos);
                 } else {
                    printf ("ERRO: Elemento nao encontrado!\n");
                 }
                 break;
                 
         //Exibir
         case 5: exibir (L);
                 break;
                 
         //Sair
         case 6: printf ("Fim do programa!\n");
                 break; 
                 
         //Opcao invalida!
         default: printf ("Opcao invalida! Tente novamente!\n");
                 
      }
      system ("pause");
   } while (opcao != 6);
}