Ir ao conteúdo
  • Cadastre-se

eduardocel

Membro Júnior
  • Posts

    1
  • Cadastrado em

  • Última visita

Tudo que eduardocel postou

  1. ///aos 45 de segundo tempo é o que deu para fazer. #include <stdlib.h> #include <stdio.h> #include <locale.h> #include <string.h> #include <iostream> #define tamanho 5 typedef struct tipo_proc { char nome[10]; int PID; } tipo_proc; typedef struct tipo_pilha { tipo_proc dados [tamanho]; int topo; int ini; } tipo_pilha; tipo_pilha pilha; int op; int cont = 1; void mostrar_pilha() { int i; printf("\nSua pilha: \n\n"); for (i = 0; i < tamanho; i++) { printf("%d \n", pilha.dados); } } void mostrar_menu() { printf("\n\n1 - Adicionar elemento na pilha.\n" "2 - Excluir elemento.\n" "3 - Esvaziar a pilha.\n" "0 - sair.\n"); } void empilhando(tipo_proc elemento) { if (pilha.topo == tamanho) { printf("A pilha está cheia!"); system("pause"); } else { pilha.dados[pilha.topo] = elemento; pilha.topo++; cont++; //tipo_proc.PID = cont; } } tipo_proc desempilhando() { tipo_proc elemento; if (pilha.ini == pilha.topo) { printf("A pilha está vazia, impossivel desempilhar!\n"); system("pause"); } else { elemento = pilha.dados[pilha.topo]; for(int i=0; i<tamanho; i++) pilha.dados[pilha.topo]=elemento; pilha.topo--; cont--; return elemento; } } void esvaziar_pilha() { int i; if (pilha.topo == pilha.ini) { printf("A pilha esta vazia, impossivel esvaziar!\n\n"); system("pause"); } else { for (i = 0; i < tamanho; i++) { pilha.dados[pilha.topo]; pilha.topo--; } printf("\nPilha esta vazia!\n\n"); system("pause"); } } int main() { system("cls"); setlocale(LC_ALL, "Portuguese"); pilha.topo = 0; pilha.ini = 0; tipo_proc elemento; elemento.PID = 1; tipo_proc nun; int op; do{ printf("\n ------------------------------------------ \n"); printf("\t1 - Adicionar elemento na pilha.\n"); printf("\t2 - Excluir elemento da pilha.\n"); printf("\t3 - Esvaziar a pilha.\n"); printf("\t0. sair \n"); printf("\n ------------------------------------------ \n"); printf("\n\t********Escolha sua opção:********\n "); fflush(stdin); scanf("%d", &op); switch (op) { case 1 : system("cls"); fflush(stdin); printf("\nInsira o nome do processo:\n"); scanf("%s",&elemento.nome); empilhando(elemento); //metodo que empilha; printf("\nDado da pilha:\n"); printf("PID: %d - Nome: %s\n",pilha.dados[pilha.ini].PID,pilha.dados[pilha.ini].nome ); elemento.PID++; break; case 2 : fflush(stdin); nun = desempilhando(); printf("\nConteudo desempilhado:\n"); printf("PID: %d - Nome: %s\n",nun.PID,nun.nome); //desempilhando(); break; case 3 : system("cls"); fflush(stdin); esvaziar_pilha(); //metodo que esvazia break; case 0: return 0; break; default: fflush(stdin); printf("Opção inválida.\n"); break; printf("\nInsira o nome do processo:\n"); scanf("%s",&elemento.nome); fflush(stdin); empilhando(elemento); printf("\n dados da pilha \n"); printf("PID : %d - nome :%s\n\n",pilha.dados[pilha.ini].PID,pilha.dados[pilha.ini].nome ); } }while(op != 0); }

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!