Ir para conteúdo

Pesquisar na Comunidade

Mostrando resultados para as tags ''pilha em c''.

  • Pesquisar por Tags

    Digite tags separadas por vírgulas
  • Pesquisar por Autor

Tipo de Conteúdo


Todas as áreas do Fórum

  • Q&A Desenvolvimento
    • Perguntas e respostas rápidas
  • Desenvolvimento e Banco de Dados
    • HTML e CSS
    • Java
    • Javascript
    • .NET
    • PHP
    • Python
    • Ruby
    • Mobile
    • Ambientes de Desenvolvimento
    • Arquitetura e Métodos Ágeis
    • Banco de Dados
    • DevOps
    • Desenvolvimento de Games
    • E-Commerce e Pagamentos Online
    • SEO e Otimizações
    • WordPress
    • Algoritmos & Outras Tecnologias
  • Design e Produto
    • Fotografia
    • Photoshop
    • Design de interfaces e UX
    • Edição/Produção de Vídeos
    • Marketing Online
    • Desenho, Ilustração e 3D
  • Entretenimento e uso pessoal
    • Geral
    • Segurança & Malwares
    • Gadgets e wearable
    • Softwares e Apps
    • Entretenimento

Encontrar resultados em...

Encontrar resultados que...


Data de Criação

  • Início

    FIM


Data de Atualização

  • Início

    FIM


Filtrar pelo número de...

Data de Registro

  • Início

    FIM


Grupo


Google+


Hangouts


Skype


Twitter


deviantART


Github


Flickr


LinkedIn


Pinterest


Facebook


Site Pessoal


Localização


Interesses

Encontrado 1 registro

  1. E aí, pessoa tudo certo? Estou fazendo um programa que imita uma loja de informática com structs, alocação dinâmica e pilha em c e preciso da ajuda de vcs em algumas funções que não consegui fazer. Preciso que me ajudem fazer uma função para Editar um bloco especifico da pilha, outra função para Apagar um bloco especifico na pilha e uma função para Buscar valores a cima do informado pelo usuário, por exemplo: se o usuário digitar o preço 5, é pra mostrar os produtos com valores acima de 5. Vou mandar o código do que fiz aqui em baixo, mas a função excluir está errada, desconsiderem ela. #include <stdio.h> #include <stdlib.h> #include <ctype.h> typedef struct kabum { char desc [30]; int cod; float valor; struct kabum *ant; } p; p *novo, *topo=NULL; int i=0; int quant; FILE *arquivo; int inserir () { printf("\n\n QUANTOS PRODUTOS QUER CADASTRAR?: "); scanf("%d",&quant); for (i=0; i<quant; i++) { novo=(p *) malloc (2*sizeof(p)); fflush(stdin); printf("\n\n PRODUTO: "); gets(novo->desc); printf(" CODIGO: "); scanf("%d",&novo->cod); printf(" VALOR: R$"); scanf("%f",&novo->valor); novo->ant=NULL; if(topo==NULL) //pilha vazia? { topo=novo; } else { novo->ant=topo; topo=novo; } } return (0); } int mostrar () { p *tmp; tmp=topo; if (tmp==NULL) //aqui ele testa p/ saber se a pilha está fazia { printf ("\n\n PILHA VAZIA! INSIRA UM DADO E TENTE NOVAMENTE.\n"); } else { while (tmp!=NULL) { printf("\n\n PRODUTO: %s\n", tmp->desc); printf(" CODIGO: %d\n",tmp->cod); printf(" VALOR: R$%0.2f\n\n",tmp->valor); tmp=tmp->ant; } } return (0); } int deletar () { char alerta; p *extra; extra = topo; if (topo == NULL) { printf ("\n\n PILHA VAZIA!\n"); } else { printf("\n\n TEM CERTEZA DE DESEJA EXCLUIR A PILHA? (S/N): "); scanf("%c",&alerta); alerta=tolower(alerta); if (alerta=='s') { topo = topo -> ant; free(extra); printf("\n PILHA DELETADA! \n"); } if (alerta=='n') { printf("\n PILHA NAO DELETADA! \n"); } if (alerta!='s' && alerta!='n') { printf("\n\n OPCAO INVALIDA\n"); } } return(0); } int salvar() { p *tmp; tmp=topo; arquivo=fopen("text.txt","wb"); /* if (tmp==NULL) { printf("\n\n ERRO AO SALVAR, PILHA ESTA VAZIA. INSIRA UM DADO E TENTE NOVAMENTE! \n"); }*/ while (tmp!=NULL) { fprintf(arquivo,"\n\n PRODUTO: %s \n",tmp->desc); fprintf(arquivo," CODIGO: %d \n",tmp->cod); fprintf(arquivo," VALOR: %f ",tmp->valor); tmp=tmp->ant; } fclose(arquivo); printf("\n\n ARQUIVO SALVO COM SUCESSO!\n"); return 0; } int abrir() { p *tmp; tmp=topo; arquivo=fopen("text.txt","rt"); if (arquivo == NULL) { printf("\n\n NAO FOI POSSIVEL ABRIR O ARQUIVO. SALVE E TENTE NOVAMENTE! \n"); } char frase [10000]; while (fgets(frase, 1000,arquivo)!=NULL) { printf("%s\n",frase); } fclose(arquivo); return 0; } void sobre () { printf("\n\n"); printf(" *================================ SOBRE ================================*\n"); printf(" | |\n"); printf(" |PROGRAMA CRIADO UTILIZANDO ALOCACAO DINAMICA, STRUCTS E PONTEIROS, COMO|\n"); printf(" |FORMA DE AVALIACAO DA DISCIPLINA DE ESTRUTURA DE DADOS, DO PROFESSOR: |\n"); printf(" |GUSTAVO QUIRINO E APRESENTADO EM SALA DE AULA, COM A FINALIDADE DE |\n"); printf(" |OBTER UMA DAS NOTAS DA SEGUNDA UNIDADE. |\n"); printf(" | |\n"); printf(" | IDENTIFICACAO |\n"); printf(" | |\n"); printf(" |IFBA - CAMPUS BARREIRAS |\n"); printf(" |TURMA: 732 |\n"); printf(" |CURSO: INFORMATICA |\n"); printf(" |PROFESSOR: GUSTAVO QUIRINO |\n"); printf(" |COMPONENTES: LUCAS GOMES, MATEUS SENE E RICARDO CARVALHO |\n"); printf(" | |\n"); printf(" =========================================================================\n"); } int main () { char op_menu=0, op_menu_interno=0; /*variaveis zeradas pq pode ser que o programa seja exacutado mais de uma vez por isso eu zerei todas, para não pegar os valores das vezes anteriores. A cada nova execução todas são zeradas*/ do { printf("\n\n"); printf(" *======================= MENU PRINCIPAL =========================*\n"); printf(" | |\n"); printf(" | |\n"); printf(" | A - INSERIR B - MOSTRAR |\n"); printf(" | |\n"); printf(" | C - DELETAR D - EDITAR |\n"); printf(" | |\n"); printf(" | E - BUSCAR F - SALVAR |\n"); printf(" | |\n"); printf(" | G - ABRIR H - SOBRE |\n"); printf(" | |\n"); printf(" | S - SAIR |\n"); printf(" | |\n"); printf(" | |\n"); printf(" ==================================================================\n"); fflush(stdin); printf("\n Digite...: "); scanf("%c", &op_menu); op_menu=tolower(op_menu); fflush(stdin); //limpa o buffer do teclado switch(op_menu) { case 'a' : fflush(stdin); system("cls"); //limpa a tela inserir(); printf("\n"); do { printf(" 0 - Menu principal: "); scanf("%s",&op_menu_interno); } while (op_menu_interno!='0'); system("cls"); break; fflush(stdin); case 'b': system("cls"); mostrar(); printf("\n"); do { printf(" 0 - Menu principal: "); scanf("%s",&op_menu_interno); } while (op_menu_interno!='0'); system("cls"); break; case 'c': fflush(stdin); system("cls"); deletar(); printf("\n"); do { printf(" 0 - Menu principal: "); scanf("%s",&op_menu_interno); } while (op_menu_interno!='0'); system("cls"); break; fflush(stdin); case 'd': fflush(stdin); system("cls"); printf("você digitou: 4"); printf("\n"); do { printf(" 0 - Menu principal: "); scanf("%s",&op_menu_interno); } while (op_menu_interno!='0'); system("cls"); break; fflush(stdin); case 'e': case 'f': fflush(stdin); system("cls"); salvar(); printf("\n"); do { printf(" 0 - Menu principal: "); scanf("%s",&op_menu_interno); } while (op_menu_interno!='0'); system("cls"); break; case 'g': fflush(stdin); system("cls"); abrir(); printf("\n"); do { printf(" 0 - Menu principal: "); scanf("%s",&op_menu_interno); } while (op_menu_interno!='0'); system("cls"); break; case 'h': system("cls"); sobre(); printf("\n"); do { printf(" 0 - Menu principal: "); scanf("%s",&op_menu_interno); } while (op_menu_interno!='0'); system("cls"); break; case 's': system("cls"); printf("\n"); printf("Finalizando programa..."); printf("\n"); exit(0); break; default: system("cls"); printf("Codigo invalido! Digite novamente"); break; } } while (op_menu!=5); return (0); }
×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.