Estrutura de dados - pilha

708 palavras 3 páginas
1) Escreva um programa em C que implemente uma pilha estática para armazenar um cadastro de alunos. Os dados dos alunos são: RA, nome, nota 1, nota 2 e média.
A média ((nota 1 + nota 2) / 2) deve ser calculada antes de se inserir o elemento na pilha. O programa deverá, ainda, exibir um menu para as opções de inserir novo aluno, de mostrar o topo da pilha, de mostrar todos e de remover um elemento.

#include /
#include
#define NUM_MAX_ITENS 5

typedef struct //cria a estrutura inicial da pilha com suas variaveis e aponta para a proxima estrutura
{
char nome[51]; int ra; float nota1; float nota2; float media;

} Ficha;

typedef struct // cria a estrutura da pilha, a quantidade de elementos que podem ser alocados e aponta para a proxima
{
Ficha item[NUM_MAX_ITENS]; int topo;
} Pilha;

int push(Pilha *pPilha, Ficha *pFicha); //interface de operações e estado da pilha int pop (Pilha *pPilha, Ficha *pFicha);

int push(Pilha *pPilha, Ficha *pFicha)
{
// verificar se a pilha esta cheia

if (pPilha->topo == NUM_MAX_ITENS) return 1;

// empilhar a nova ficha no topo da pilha

pPilha->item[pPilha->topo] = *pFicha;

// incrementar o topo da pilha

pPilha->topo++;

// retornar indicando empilhamento bem sucedido

return 0;
}

int pop(Pilha *pPilha, Ficha *pFicha)
{
// verificar se a pilha esta vazia

if (pPilha->topo == 0) return -1;

// decrementar o topo da pilha

pPilha ->topo--;

// recuperar o elemento que estava no topo

*pFicha = pPilha->item[pPilha->topo];

// retornar indicando desempilhamento bem sucedido

return 0;

}

int main()
{
Pilha minhaPilha; Ficha minhaFicha; int opcao,i,r; Ficha *pFicha;

// iniciar a pilha vazia

minhaPilha.topo=0;

do { // menu de opções system("cls"); printf("[1] Empilhar uma nova ficha\n"); printf("[2] Desempilhar uma ficha\n"); printf("[3]

Relacionados

  • Estrutura de dados Pilhas
    854 palavras | 4 páginas
  • Estrutura de dados pilhas
    1983 palavras | 8 páginas
  • Estrutura de dados pilha e fila
    715 palavras | 3 páginas
  • Estrutura de dados - pilhas e filas
    1582 palavras | 7 páginas
  • ESTRUTURA DE DADOS - lista e pilha
    272 palavras | 2 páginas
  • Calculadora em pilha (estrutura de dados)
    1799 palavras | 8 páginas
  • Estrutura de Dados Pilha Fila Lista
    4767 palavras | 20 páginas
  • Estrutura de dados - exemplos de pilha e fila
    471 palavras | 2 páginas
  • Estruturas de dados - pilhas, filas e deques
    2930 palavras | 12 páginas
  • Estrutura de dados
    1410 palavras | 6 páginas