Ir ao conteúdo
  • Cadastre-se

jeffinhobhx

Membro Júnior
  • Posts

    1
  • Cadastrado em

  • Última visita

Reputação

0
  1. Bom dia, Este codigo a abaixo esta funcionando certo, mas quando mando imprimir so aparece o valor NULL. Poderiam me ajudar? Abraço. #include <cstdlib> #include <iostream> using namespace std; struct Fila { char *dados; int primeiro; int ultimo; int soma; int nItens; }; void criarFila( struct Fila *f) { f->dados = (char*) malloc (sizeof(char)); f->primeiro = 0; f->ultimo = -1; f->nItens = 0; } void inserir(struct Fila *f, char &valor) { if(f->ultimo == f->nItens) f->ultimo = -1; f->ultimo++; f->dados[f->ultimo] = valor; // incrementa ultimo e insere f->nItens++; // mais um item inserido } int remover( struct Fila *f ) { // pega o item do começo da fila char temp = f->dados[f->primeiro++]; // pega o valor e incrementa o primeiro if(f->primeiro == f->ultimo) f->primeiro = 0; f->nItens--; // um item retirado return temp; } int estaVazia( struct Fila *f ) { // retorna verdadeiro se a fila está vazia return (f->nItens==0); } void mostrarFila(struct Fila *f){ int cont, i, a; for ( cont=0, a=1, i= f->primeiro; cont < f->nItens; cont++){ cout << "Codigo: " << a; printf(" %s",f->dados[i++]); cout << " || "; a++; if (i == f->nItens) i=0; } printf("%d %d %d %d\n\n", f->primeiro, f->ultimo, f->nItens, f->dados[f->ultimo]); system("pause"); printf("\n\n"); } int main (int argc, char *argv[]) { int opcao, cor = 0; char valor[50]; struct Fila umaFila; //Criando a Fila. criarFila(&umaFila); // apresenta menu while( 1 ){ cout << "\n1 - Inserir elemento\n2 - Remover elemento\n3 - Mostrar Fila\n0 - Sair\n\nOpcao? "; scanf("%d",&opcao); switch(opcao){ case 0: exit(0); case 1: // insere elemento printf("\nValor do elemento a ser inserido? "); scanf("%s",&valor); inserir(&umaFila,valor[50]); break; case 2: // remove elemento if (estaVazia(&umaFila)){ printf("\nFila vazia!!!\n\n"); } else { valor[50] = remover(&umaFila); printf("\n%s removido com sucesso\n\n", valor); if(cor == 0){ cout << "Cor: Vermelha" << endl ; cor = 1; } else { if(cor == 1){ cout << "Cor: Azul" << endl ; cor = 2; } else { if(cor == 2){ cout << "Cor: Amarela" << endl ; cor = 0; } } } } break; case 3: // mostrar fila if (estaVazia(&umaFila)){ printf("\nFila vazia!!!\n\n"); } else { printf("\nConteudo da fila => "); mostrarFila(&umaFila); } break; default: printf("\nOpcao Invalida\n\n"); } } }

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

 

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!