Ir para conteúdo
Fórum Script Brasil

Cleiton Neri

Membros
  • Total de itens

    2
  • Registro em

  • Última visita

Sobre Cleiton Neri

Últimos Visitantes

O bloco dos últimos visitantes está desativado e não está sendo visualizado por outros usuários.

Cleiton Neri's Achievements

0

Reputação

  1. Olá, estou tentando criar uma fila em C, mas não sei como faço pra que a minha função retorne ao menu, e nem consigo determinar um ponto de parada pra a execuçao da fila. grato. #include <stdio.h> #include <stdlib.h> #include <locale.h> main(){ setlocale(LC_ALL, "Portuguese"); int senha=0; // posição char cl [20]; //cliente int op=0; //operação printf("#################### BEM VINDO ####################\n\n"); printf("OPERAÇÃO\n"); printf("Digite (0) pra fechar aplicação\n"); printf("Digite (1) para saques e depositos\n"); printf("Digite (2) para previdência\n"); scanf("%i", &op); system("cls"); if(op==1){ do{ printf("SAQUES E DEPÓSITOS\n"); printf("\nDigite o Nome do Cliente:\n"); scanf("\n%19s", &cl); senha++; printf("\t>>Cliete:%s\t>>Senha: PAG 0%i\n", cl, senha); } while ((senha>=1&&senha<20)); if(senha==0){ printf("Fila vazia"); if(senha==20){ printf("Fila Cheia"); } } } if(op==2){ do{ printf("PREVIDÊNCIA"); printf("\nDigite o Nome do Cliente:\n"); //system("pause"); //system("cls"); scanf("\n%19s", &cl); senha++; printf("\t>>Cliete:%s \t>>Senha:PREV 0%i\n", cl,senha); } while ((senha>=1)&&(senha<=20)); if(senha==0){ printf("Fila vazia"); if(senha==20){ printf("Fila Cheia"); } } } system("pause"); }
  2. Sdd, estou precisando desenvolver uma fila de atendimento, implementar prioridade, mostar o ultimo item chamado nessa fila e colocar a saída em um arquivo txt, mas não sei como, se alguém puder comentar esse código pra eu ter como base, ficarei grato. #include <stdio.h> #include <stdlib.h> #include <locale.h> struct Node{ int num; struct Node *prox; }; typedef struct Node node; int tam; int menu(void); void opcao(node *FILA, int op); void inicia(node *FILA); int vazia(node *FILA); node *aloca(); void insere(node *FILA); node *retira(node *FILA); void exibe(node *FILA); void libera(node *FILA); int main(void) { setlocale(LC_ALL, "Portuguese"); node *FILA = (node *) malloc(sizeof(node)); if(!FILA){ printf("Sem memória!\n"); exit(1); }else{ inicia(FILA); int opc; do{ opc=menu(); opcao(FILA,opc); }while(opc); free(FILA); return 0; } } int menu(void) { int opc; printf("=========================Fila=========================\n\n"); printf("ESCOLHA UMA OPÇÃO \n"); printf("\t0. Sair\n"); printf("\t1. Zerar fila\n"); printf("\t2. Exibir fila\n"); printf("\t3. Adicionar Elemento na Fila\n"); printf("\t4. Retirar Elemento da Fila\n"); printf("\tOpção: "); scanf("%i", &opc); return opc; } void opcao(node *FILA, int op) { node *tmp; switch(op){ case 0: libera(FILA); break; case 1: libera(FILA); inicia(FILA); break; case 2: exibe(FILA); break; case 3: insere(FILA); break; case 4: tmp= retira(FILA); if(tmp != NULL){ printf("Retirado: %3d\n\n", tmp->num); free(tmp); } break; default: printf("Opção invalida\n\n"); } } void inicia(node *FILA) { FILA->prox = NULL; tam=0; } int vazia(node *FILA) { if(FILA->prox == NULL) return 1; else return 0; } node *aloca() { node *novo=(node *) malloc(sizeof(node)); if(!novo){ printf("Sem memoria disponivel!\n"); exit(1); }else{ printf("Novo elemento: "); scanf("%d", &novo->num); return novo; } } void insere(node *FILA) { node *novo=aloca(); novo->prox = NULL; if(vazia(FILA)) FILA->prox=novo; else { node *tmp = FILA->prox; while(tmp->prox != NULL) tmp = tmp->prox; tmp->prox = novo; } tam++; } node *retira(node *FILA) { if(FILA->prox == NULL){ printf("Fila já esta vazia\n"); return NULL; }else{ node *tmp = FILA->prox; FILA->prox = tmp->prox; tam--; return tmp; } } void exibe(node *FILA) { if(vazia(FILA)){ printf("Fila vazia!\n\n"); return ; } node *tmp; tmp = FILA->prox; printf("Fila :"); while( tmp != NULL){ printf("%5d", tmp->num); tmp = tmp->prox; } printf("\n "); int count; for(count=0 ; count < tam ; count++) printf(" ^ "); printf("\nOrdem:"); for(count=0 ; count < tam ; count++) printf("%5d", count+1); printf("\n\n"); } void libera(node *FILA) { if(!vazia(FILA)){ node *proxNode, *atual; atual = FILA->prox; while(atual != NULL){ proxNode = atual->prox; free(atual); atual = proxNode; } } }
×
×
  • Criar Novo...