Exemplo n.º 1
0
void inserir(no_t **inicio, no_t *novo){
    // Função para inserir novo nó em uma lista já ordenada
    
    no_t *p;
    p = *inicio;

    // Verificar se o nome já foi cadastrado
    if( pesquisar(*inicio, novo->nome) != NULL ){
            printf("\nErro: Nome já cadastrado.\n");
    }
    else{
    
        // A lista está vazia insere normalmente. Ou primeiro nome já inserido 
        // na lista e é maior que o novo nome, insere o novo nó antes do primeiro.
        if( p == NULL || ( strcmp(p->nome, novo->nome) > 0 ) ){

            novo->prox = *inicio;
            *inicio = novo;
        }
        else{
            
            // Fazer p apontar para a posição onde o novo nó sera inserido 
            p=*inicio;
            while( p->prox != NULL && strcmp(p->prox->nome, novo->nome) < 0 ) {
                p = p->prox;
            }

            // inserir o novo nó
            novo->prox =  p->prox;
            p->prox = novo;
        }
    }

}
Exemplo n.º 2
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);
Exemplo n.º 3
0
int main(){
    int op;
    FILE *arquivo;
    criar(arquivo);
    do{
        printf("***********************************\n");
        printf("*               MENU              *\n");
        printf("***********************************\n");
        printf("*   1 - Cadastrar Banda           *\n");
        printf("*   2 - Listar Bandas             *\n");
        printf("*   3 - Pesquisar Banda           *\n");
        printf("*   4 - Alterar Banda             *\n");//falta
        printf("*   5 - Remover Bandas            *\n");//falta
        printf("*   6 - Creditos                  *\n");
        printf("*   7 - Sair                      *\n");
        printf("***********************************\n");
        printf("\nDigite sua opcao: ");
        scanf("%d",&op);
        switch(op){
            case 1:
                    system("cls");
                    inserir(arquivo);
                    break;
            case 2:
                    system("cls");
                    exibir(arquivo);
                    break;
            case 3:
                    system("cls");
                    pesquisar(arquivo);
                    break;
            case 4:
                    //falta
                    break;
            case 5:
                    //falta
                    break;
 
            case 6:
                    system("cls");
                    creditos();
                    break;
            default:
                    printf("Saindo!\n");
       }
    }while(op != 7);
    system("pause");
}
Exemplo n.º 4
0
// ------------------------------------------------------------------------------
// Funcao main
// ------------------------------------------------------------------------------
int main() {

tree * figueira;
int escolha;
figueira = init();
	
	for ( ; ; ){
		escolha = menu();
		switch(escolha){
			
			case 1:inserir(figueira);
			break; 
			case 2: excluir(figueira);
			break; 
			case 3: pesquisar(figueira);
			break;
			case 4: h(figueira);	
			break;
			case 5: { 
					printf("\n");
					printf("5. Em ordem\n");
					printf("------------------------\n");
						em_ordem(figueira, figueira->raiz);
						printf("\n");
			}
			break;
			case 6: {
					printf("\n");
					printf("6. Pre ordem\n");
					printf("------------------------\n");
						pre_ordem(figueira, figueira->raiz);
						printf("\n");
			}
			break;
			case 7: {
					printf("\n");
					printf("7. Pos ordem\n");
					printf("------------------------\n");
						pos_ordem(figueira, figueira->raiz);
						printf("\n");
				}
			break;
			case 8: exit(0);
			break;
		}
	}
}
Exemplo n.º 5
0
int main ()
{
    int tecId = 0;
    int opcao = 0;
    printf("Assistência Técnica - Fila de Atendimento de Pedidos");
    printf("\n-\n");
    printf("Cadastro de Técnicos\n");
    while (tecId != 5) {
        printf("Digite o nome do %dº técnico: ", (tecId+1));
        scanf("%s", tecnicos[tecId].nomeTecnico);
        tecnicos[tecId].liberado = true;
        tecnicos[tecId].qtdAtendimentos = 0;
        tecId++;
    }

    while (opcao != 6) {
        printf("O que deseja fazer ?\n");
        printf("[1] Inserir pedido na fila\n");
        printf("[2] Atender um pedido\n");
        printf("[3] Liberar um técnico para novo atendimento\n");
        printf("[4] Relacionar nomes dos técnicos liberados\n");
        printf("[5] Pesquisas\n");
        printf("[6] Sair\n");
        scanf("%d", &opcao);

        switch (opcao) {
        case 1:
            inserirPedido();
            break;
        case 2:
            atenderPedido();
            break;
        case 3:
            liberarTecnico();
            break;
        case 4:
            relacionarNomes();
            break;
        case 5:
            pesquisar();
            break;
        case 6:
            return 0;
            break;
        }
    }
}
Exemplo n.º 6
0
void menu()
{
    int opt = 0;

    do
{
        system("clear");
        printf("=== MENU ====");
        printf("\n\n");
        printf("1. Inserir\n");
        printf("2. Imprimir\n");
        printf("3. Pesquisar\n");
        printf("4. Remover\n");
        printf("5. Executar!!!\n");
        printf("6. Sair\n");
        printf("\n\n");
        printf("Opcao: ");

        scanf("%i", &opt);

        system("clear");

        switch(opt)
        {
        case 1:
            enqueue(&inicio);
            break;
        case 2:
            exibir(&inicio);
            break;
        case 3:
            pesquisar(&inicio);
            break;
        case 4:
            dequeue(&inicio);
            break;
        case 5:
            executar(&inicio);
        default:
            exit(0);
            break;
        }
    }
    while(opt < 5);
}
Exemplo n.º 7
0
Arquivo: main.c Projeto: glaydston/ed
void main()
{
    struct tlist list;
    int op = 0;
    //inicializa lista
    load(&list);
    do
    {
        menu(&op);
        switch(op)
        {
            case 1: filter(op, &list);  break;
            case 2: filter(op, &list);  break;
            case 3: pesquisar(&list);   break;
            case 4: imprimir(&list);    break;
            case 9: sair();             break;
            default:
                printf("\n\n\t\t# OPCAO [%d] INVALIDA! [ENTER]", op);getche();
        }
    }
    while(op != 9);
}
Exemplo n.º 8
0
void main ()
{
    int opcao;
    ultimo = -1;
    while(opcao != 5) {
        printf("Digite uma opção: \n");
        scanf("%d", &opcao);

        switch (opcao) {
            case 1:
                inserir();
            break;
            case 2:
                remover();
            break;
            case 3:
                pesquisar();
            break;
            case 4:
                listar();
            break;
        }
    }
}
Exemplo n.º 9
0
int main(void){

    no_t *inicio, *cadastro; // cadastro será usado para verificar se um
                             // nome já existe com aquele cadastro
    char nome[20];
    short controle, op;

    inicio=NULL;
    cadastro=NULL;

    // Menu
    controle=1;
    while( controle) {
        printf("============== Menu ============\n");
        printf("0. Sair \n");
        printf("1. Inserir \n");
        printf("2. Mostrar Nomes\n");
        printf("3. Pesquisar por Nome \n");
        printf("4. Remover por Nome \n");
        printf("Opção: ");

        __fpurge(stdin);
        scanf("%hd", &op);

        switch(op){

            case 0: // Sair 
                controle = 0;
                break;

            case 1: // Inserir 

                inserir(&inicio, criar_no()); 
                continuar(&controle);
                system("clear");

                break;

            case 2: // Mostrar 
                if( inicio == NULL ){
                    printf("A lista está vazia.\n");
                    continuar(&controle);
                }
                
                else{
                    mostrar_lista(inicio);
                    continuar(&controle);
                }

                break;

            case 3: // Pesquisar 
                if( inicio == NULL ){
                    printf("A lista está vazia.\n");
                    continuar(&controle);
                }
                else{

                        printf("\nNome: ");
                        __fpurge(stdin);
                        fgets(nome,20,stdin);
                        nome[0] = toupper(nome[0]);

                        // procura se o nome já foi cadastrado
                        cadastro = pesquisar(inicio,nome);

                        if( cadastro == NULL ){
                            printf("Nome não cadastrado.\n");
                            continuar(&controle);
                        }
                        else{
                            // Mostrar dados
                            printf("Rua: %sNumero: %s", cadastro->rua, cadastro->numero);
                            printf("Cidade: %sEstado: %s", cadastro->cidade, cadastro->estado);
                            continuar(&controle);
                        }
                    }

                break;

            case 4: // Remover 
                if( inicio == NULL ){
                    printf("A lista está vazia.\n");
                    continuar(&controle);
                }
                else{
                    printf("Nome: ");
                    __fpurge(stdin); // limpa o buffer do teclado
                    fgets(nome,20,stdin);
                    nome[0]=toupper(nome[0]); 

                    if( remover(&inicio, nome) == true){
                        printf("Removido.\n");
                    }
                    else{
                        printf("Não está na lista.\n");
                    }
                    continuar(&controle);
                }
                break;

            default:
                printf("Erro, opção inválida.\n");
                __fpurge(stdin);
                continuar(&controle);
                break;

        }// end switch
    }// end while

	return 0;

}
Exemplo n.º 10
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);
}