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

Pilha Simplismente Encadeada

Por:   •  6/5/2019  •  Trabalho acadêmico  •  956 Palavras (4 Páginas)  •  158 Visualizações

Página 1 de 4

#include <stdio.h>

#include <stdlib.h>

typedef enum {false, true} bool;

typedef struct no{

int valor;

struct no *prox;

}noCedula;

noCedula *pilha[7];

int valorNota[7] = {1,2,5,10,20,50,100};

void inicializaPilha ();

void abastecePilha (int quant, int v);

void imprimeSaldo ();

void imprimeSomaCedulas();

bool saqueDisponivel (int valor);

bool saque (int valor);

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

int valor;

inicializaPilha();

abastecePilha(55, 2);

abastecePilha(42, 3);

abastecePilha(61, 5);

abastecePilha(28, 10);

abastecePilha(35, 20);

abastecePilha(64, 50);

abastecePilha(14, 100);

imprimeSaldo();

printf("\nDigite um valor a ser sacado !\n");

scanf ("%d", &valor);

if(saqueDisponivel(valor) == true){

printf("\nSaque disponivel\n");

}else{

printf("\nNao disponivel\n");

}

if(saque(valor)==true){

printf("\nSaque realizado com sucesso");

} else {

printf("\nSem saque\n");

}

imprimeSaldo();

return 0;

}

void inicializaPilha(){

int i;

for (i=0; i<7; i++){

pilha[i] = NULL;

}

}

void abastecePilha (int quant, int valor){

int i,pos;

noCedula *novo;

switch(valor){

case 1:

pos=0;

break;

case 2:

pos=1;

break;

case 5:

pos=2;

break;

case 10:

pos=3;

break;

case 20:

pos=4;

break;

case 50:

pos=5;

break;

case 100:

pos=6;

break;

default:

printf("\nValor de cedula inválido !\n");

break;

}

for (i=0; i<quant; i++){

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

novo->valor = valor;

novo->prox = pilha[pos];

pilha[pos] = novo;

}

}

void imprimeSaldo(){

noCedula *atual;

int i, soma=0;

for (i=0; i<7; i++){

...

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