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; } } }
// 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);
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"); }
// ------------------------------------------------------------------------------ // 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; } } }
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; } } }
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); }
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); }
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; } } }
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; }
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); }