TrabalhosGratuitos.com - Trabalhos, Monografias, Artigos, Exames, Resumos de livros, Dissertações
Pesquisar

Estrutura C

Por:   •  22/11/2015  •  Trabalho acadêmico  •  809 Palavras (4 Páginas)  •  200 Visualizações

Página 1 de 4

#include <stdio.h>

#include <stdlib.h>

#include "estrutura.h"

#include "pilha.h"

#include "fila.h"

struct lista{

int senha;

struct lista *prox;

};

typedef struct lista Lista;

struct fila{

Lista *inicio;

Lista *final;

};

typedef struct fila Fila;

struct pilha{

Lista *topo;

};

typedef struct pilha Pilha;

Pilha *criarPilha();

Fila *criarFila();

int main(int argc, char *argv[])

{

int op, i=1;

Pilha *p;

Fila *f;

p=criarPilha();

f=criarFila();

do{

puts("Menu:");

puts("1-Gerar senha");

puts("2-Chamar senha");

puts("3-Mostrar painel da fila");

puts("4-Mostrar painel da pilha de senhas chamadas");

puts("5-Sair do sistema");

scanf("%d",&op);

switch(op){

case 1:

insert(f,i);

i++;

break;

case 2:

printSenha(f);

push(p,remover(f));

break;

case 3:

printFila(f);

break;

case 4:

printPilha(p);

break;

case 5:

exit(1);

break;

default:

puts("Opcao invalida.");

}

system("PAUSE");

system("cls");

}while(1);

return 0;

}

//cria uma pilha

Pilha *criarPilha(){

Pilha *p;

p=(Pilha *)malloc(sizeof(Pilha));

p->topo=NULL;

return p;

}

//coloca um novo valor na pilha

void push(Pilha *p, int x){

Lista *novo;

novo=(Lista *)malloc(sizeof(Lista));

novo->senha=x;

novo->prox=p->topo;

p->topo=novo;

}

//remove um valor da pilha

int pop(Pilha *p){

int x;

Lista *l;

if(p->topo==NULL){

puts("Pilha vazia.");

}else{

l=p->topo;

x=l->senha;

p->topo=l->prox;

free(l);

...

Baixar como (para membros premium)  txt (3.3 Kb)   pdf (45.6 Kb)   docx (12.8 Kb)  
Continuar por mais 3 páginas »
Disponível apenas no TrabalhosGratuitos.com